>>Пытаюсь скомпилять СИ-шную прогу на FreeBSD(2.2.5):
>>компиляция проходит без проблем,
>>на стадии линковки вылетает:
>>
>>make all-recursive
>>Making all in src
>>gcc -static -g -static -o aide conf_yacc.o conf_lex.o
>> getopt.o getopt1.o gnu_regex.o error.o db.o commandconf.o
>> db_file.o db_lex.o db_sql.o gen_list.o list.o do_md.o base64.o
>> symboltable.o compare_db.o be.o util.o
>> aide.o -lgcrypt -lcrypt -lz -L/usr/linter/intlib/linapi.la
>>ld: no reference to __DYNAMIC
>>*** Error code 1
>>Stop.
>>*** Error code 1
>>Stop.
>>*** Error code 1
>>Stop.
>>
>>Подключать библиотеки пытался по разному - результат тотже:(
>>( Раньше компилял на RedHat 7.2 - все нормально )
>>ПОМОГИТЕ ПОЖАЛУЙСТА!!!
>
>
>make clean не помогает? Точнее "загасить" все объектные и исполняемые файлы перед
>компиляцией? Прога компилится как static, непонятно откуда там __DYNAMIC взялось. Или
>там смешанная - кого как динамик, кого как статик? Можно еще
>попробовать убрать опции -static
make clean не помогает. Проблема в следующем:
у меня есть статические либы( lz linapi )
и динамические ( libgcrypt )
когда компилю с опцией -static не цепляется libgcrypt
и ругается на no reference to __DYNAMIC,
когда -static убираю - кричит undefined symbol '_функция' reference
from text segment (lz и linapi)
Можно ли makefile поправить так чтобы
lz и linapi цеплялись с опцией -static
а libgcrypt без нее.
(СПАСИБО ЗА ПОМОЩЬ)