При компиляции C файлов с cc -lm -std=c99 ...
в Надежном человеке я получаю следующую ошибку:
fraction_math.c:(.text+0x5cb): undefined reference to `powl'
/tmp//fetlang_build//fet_obj_debug//core/chain.c.o: In function `num_to_cstr':
chain.c:(.text+0x682): undefined reference to `log10'
collect2: error: ld returned 1 exit status
Однако я могу сделать ту же самую сборку во Фрагменте Debian или macOS Горной цепи, и это найдет символы.
Добавление этого сюда из комментария, так как он не был размещен в качестве ответа. Пришлось читать комментарии, чтобы решить вопрос. Я работал над regldg (http://regldg.com/docs/command_line_args.php), у которого была та же проблема. Я добавил #include "stdint.h"
в коде, но я подозреваю, что добавление -lm
после команды вручную - это то, что решило проблему
"поставив -lm после того, как все остальное ее исправило".
Для regldg решение было следующим:
gcc -O3 -Wall -g alt.o altlist.o build_structs.o char_set.o data.o debug.o grouplist.o grouprecord.o main.o memory.o parse_regex.o program_args.o re_perm.o silist.o tnode.o vlr.o vlrlist.o -o regldg -lm