Я пишу программу, которая собирает и запускает на моем компьютере linux без проблем. Я намереваюсь запустить это в другой системе, где у меня нет контроля над установленными зависимостями, поэтому моя цель - статически связать все. Тем не менее, я получаю вышеуказанную ошибку, даже когда я пропускаю следующие флаги во время компиляции. Это то, что сработал automake, когда я передал -static
в LDFLAGS
/bin/bash ../../libtool --tag=CC --mode=link /usr/bin/clang-9 -g -O1 -fsanitize=fuzzer -fsanitize=address -Wall -static -o fuzzer fuzzer.o -lpthread -lm -lnsl -lresolv
или
/bin/bash ../../libtool --tag=CC --mode=link /usr/bin/clang-9 -g -O1 -fsanitize=fuzzer -fsanitize=address -Wall -lstdc++ -static-libgcc -o fuzzer fuzzer.o -lpthread -lm -lnsl -lresolv
Те же результаты.
Кроме того, я также пытался использовать флаг -static
и встретить с такими же результатами
root@e143b56f4f87:*****# ldd fuzzer
linux-vdso.so.1 (0x00007ffe4b7a8000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe2d009d000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe2cfe7e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe2cfae0000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fe2cf8c6000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fe2cf6ab000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe2cf4a3000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe2cf29f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe2cf087000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe2cec96000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe2d0426000)