[devel] Отсутствующие функции fmod, clock_getres в -lm, -lrt (пакеты glibc-core, glibc-pthread)

Bergman Andrey vkni на yandex.ru
Ср Дек 1 15:01:49 UTC 2010


Дмитрий, я взял программу

#include <math.h>

int main( int argc, char ** argv)
{
    return fmod( (float)8.0, (float)9.9);
}

Компилировал с помощью

$ gcc -lm -lrt a.c 
/home/vkni/tmp/ccPtBF9p.o: In function `main':
a.c:(.text+0x41): undefined reference to `fmod'
collect2: ld returned 1 exit status

--------------
findsym показывает, что функция fmod на месте.

Андрей.

01.12.2010, 16:23, "Dmitry V. Levin" <ldv на altlinux.org>:
> On Wed, Dec 01, 2010 at 01:10:16PM +0600, REAL wrote:
>
>>  01.12.2010 12:00, Bergman Andrey пишет:
>>> возясь с С-шным кодом я внезапно
>>> обнаружил, что в стандартных библиотеках
>>> libm, librt, предоставляемых пакетами glibc-core и
>>> glibc-pthread, соответственно,
>>> отсутствуют важные функции fmod, clock_getres.
>>> Однако их прототипы в .h файлах
>>> имеются.
>>>
>>> Это так и задумано, или тут есть какая-то
>>> ошибка?
>>  Мнэээ...
>>>  findsym fmod
>>  /lib/libm.so.6: 000099f0 W fmod
>>  /usr/lib/libm.so: 000099f0 W fmod
>>>  findsym clock_getres
>>  /lib/librt.so.1: 00003a00 T clock_getres
>>  /usr/lib/librt.so: 00003a00 T clock_getres
>
> При линковке ставьте -lm и -lrt в конец команды, и важные функции, скорее
> всего, найдутся.
>
> --
> ldv
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


Подробная информация о списке рассылки Devel