сборка библиотеки ta-lib завершается неудачно с неопределенными ссылками из libm.so

Пытаясь make В библиотеке ta-lib (ta-lib-0.4.0-src.tar.gz) я получаю следующую ошибку:

/home/me/ta-lib/src/.libs/libta_lib.so: undefined reference to `sinh'
/home/me/ta-lib/src/.libs/libta_lib.so: undefined reference to `sincos'
/home/me/ta-lib/src/.libs/libta_lib.so: undefined reference to `ceil'
...

для большого количества математических функций.

Ошибка команды выглядит следующим образом:

gcc -g -O2 -o .libs/ta_regtest (... .o files) -L/home/me/ta-lib/src \
/home/me/ta-lib/src/.libs/libta_lib.so -lm -lpthread -ldl

Библиотека-нарушитель (ta_lib) выглядит так:

objdump -TC libta_lib.so | grep "    D  \*UND\*"0000000000000000      D  *UND*  0000000000000000              sinh
0000000000000000      D  *UND*  0000000000000000              sincos
0000000000000000      D  *UND*  0000000000000000              ceil
...

Для тех же математических функций (grep исключает определенные функции и те, которые имеют флаг «w» (предположительно слабый))

На карте перечислены включенные библиотеки, среди них:

LOAD /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libm.so

и список символов (objdump -TC), определенный в libm.so, включает в себя:

000000000001a320  w  iD  .text  0000000000000020  GLIBC_2.2.5 ceil

которая была одной из неопределенных ссылок (все они есть). Я не могу определить значение GLIBC_2.2.5.

Почему загрузчик не находит эти функции?

Моя система выглядит так:

$ uname -a
Linux mynode 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]