LINUX.ORG.RU

relocation R_X86_64_PC32 against undefined symbol..

 


0

2

Ковыряю класс из opencv, и на линковке стало падать с непонятной ошибкой:

[ 89%] Built target opencv_test_softcascade Linking CXX shared library ../../lib/cv2.so ld: CMakeFiles/opencv_python.dir/src2/cv2.cpp.o: relocation R_X86_64_PC32 against undefined symbol `_Z11pyopencv_toIN2cv11FileStorageEEbP7_objectRT_PKc' can not be used when making a shared object; recompile with -fPIC

Хотелось бы понять что это значит.

★★

Ответ на: комментарий от buddhist

А что делать если такая ошибка

/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: ../sasldb/.libs/libsasldb.a(allockey.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
../sasldb/.libs/libsasldb.a(allockey.o): could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libsasldb.la] Error 1
make[2]: Leaving directory `........../tmp/work/......../cyrus-sasl-native-2.1.25-r0/cyrus-sasl-2.1.25/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `.........../tmp/work/......../cyrus-sasl-native-2.1.25-r0/cyrus-sasl-2.1.25'
make: *** [all] Error 2
ERROR: oe_runmake failed
ERROR: Function 'do_compile' failed (see ..............e/tmp/work/......./cyrus-sasl-native-2.1.25-r0/temp/log.do_compile.13055 for further information)

Давно мучаюсь. Собираю при помощи eldk.

Много точек - это специально, чтобы удалить пути всякие.

Dudraug ★★★★★
()
Последнее исправление: Dudraug (всего исправлений: 1)

Такая же фигня была при перетаскивании 32-битной сборки на 64... Слетали флаги fPIC из-за криво настроенного хитрого скрипта cmake в любимом корпоративном фреймворке: первый запуск - флаги есть... Второй запуск (например, понадобилось обновить кэш) - флагов нет :) Майндфак был пока не выяснили особенность скрипта и не настучали аффтору в бубен

slackwarrior ★★★★★
()
Ответ на: комментарий от Leron

Правда не знаю для всех эсошек или нет. Вот опции:

/usr/bin/c++ -fPIC -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -Wno-unused-function -O3 -DNDEBUG -DNDEBUG -shared -Wl,-soname,cv2.so -o ..

Leron ★★
() автор топика
Ответ на: комментарий от anonymous

Судя по логу, при компиляции allockey.с(cpp, cxx?) -fPIC отсутствовал.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, попробую на выходных. Пока выкинул проблемные методы - которые для сериализации. Собралось

Leron ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.