Ошибка «libpcap.so не обычный файл» при сборке jNetPcap на процессоре ARM

1

Я пытаюсь скомпилировать источник jNetPcap на моем Raspberry Pi, но при запуске ant компиляции я встречаюсь со следующей ошибкой.

[exec] Can't do inplace edit: ./build/lib/libpcap.so is not a regular file.
[exec] Result: 1
[echo] Fixed SONAME: ./build/lib/libpcap.so
[echo] readelf: Error: './build/lib/libpcap.so' is not an ordinary file
...
BUILD FAILED
/home/pi/myDir/build.xml:731: gcc failed with return code 1

Строка 731 (и сверху) файла build.xml:

...
<cc runtime="dynamic" outtype="shared" outfile="${build.lib.dir}/${lib.pcap.basename}" debug="${compiler.debug}" objdir="${build.obj.dir}" multithreaded="compiler.multithreaded" exceptions="compiler.exceptions" warnings="${compiler.warnings}">

    <env key="PATH" path="${compiler.cc.bin.dir};${env.PATH}" />

    <fileset dir="${src.c.dir}" />
    <includepath location="${build.include.dir}" />
    <includepath location="${src.c.dir}" />
    <sysincludepath location="${java.sdk.include.dir}" />
    <sysincludepath location="${java.sdk.include.dir}/linux" />
    <defineset define="LIBPCAP_VERSION=0x${compiler.LIBPCAP_VERSION}" if="compiler.LIBPCAP_VERSION" />
    <defineset define="DEBUG" if="DEBUG" />

    <linker name="${compiler.ld.cmd}">
        <syslibset libs=":../lib/libpcap.so" />

        <linkerarg value="-Wl,-soname,lib${lib.pcap.basename}.so" />

        <linkerarg value="-lstdc++" />
    </linker>
</cc>
...

Похоже, корневая проблема заключается в том, что файлы ".so" как-то особенны, поэтому их нужно обрабатывать по-разному (как побочная заметка; возможно, этот файл build.xml работает в Ubuntu, потому что он знает, что обрабатывать файлы ".so" так же, как и нормальные файлы). Я просто не знаю, как изменить этот файл build.xml, чтобы они обрабатывались как специальные файлы.

Что я могу сделать, чтобы решить эту проблему?

Теги:
gcc
ant
raspberry-pi
arm

1 ответ

0

Используйте следующий атрибут для исправления. он работает на моем конце в Linux. попробуйте, возможно, он работает на малиновом пи. но я не уверен.

<linker> 
      <libset libs="pcap" />
      <libset dir="path of lib" libs="pcap" />
</linker>

Без.so и lib

Ещё вопросы

Сообщество Overcoder
Наверх
Меню