Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
По-моему, почти то же самое 03.03.03 17:33 Число просмотров: 1066
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
> warning: return makes pointer from integer without a cast > warning: passing arg 1 of 'scm_cons2' makes pointer from > integer without a cast Подобные предупреждения в C-шном (не C++-ном) коде меня обычно заставляют думать, что не хватает каких-то библиотек или include'ов. Причем configure их не нашел и поэтому в сборку не включил, из серии а вдруг сойдет.
> Далее идут ошибки, окончательно приведшие к прерыванию > процесса компиляции: > ./libradscnm.a(rscm_lib.o): In function 'scm_makenum': > /root/src/gnu-radius-0.96.4/radscm/rsc_lib.c:39: undefined > reference to 'scm_long2big' Я затрудняюсь определить, какой библиотеки не хватает (не работал с RADIUS никогда), но процентов на 80% уверен, что проблема опять в том, что линкер не видит очередной библиотеки, в которой, собственно, и определена функция scm_long2big.
> Буду признателен, если кто-нибудь сможет вкратце > объяснить не только суть конкретной проблемы (как таки > заставить наконец скомпилиться RADIUS), но и в общих > чертах, как диагностировать подобные проблемы во время > компиляции других программ. Поясню свою мысль: например, > если в предыдущем случае компилятор выдавал сообщение > "could nt find..." то даже не являясь програмистом можно > понять, в чем тут причина. А вот следующие тексты ошибок я > навскидку "расшифровать" для себя не могу. Может есть > какие-то хелпы-факи-мануали, где этот вопрос рассмотрен > подробнее? Честно говоря, я не видел, чтобы эти предупреждения где-то описывались (плохо смотрел, может быть). Так или иначе, но как я выше уже написал, предупреждения о неявном приведении типа из int чаще всего свидетельствуют о том, что не хватает каких-то библиотек+include'ов. Чаще всего после этих предупреждений идут ошибки, которые точно указывают, чего не хватает. И чаще всего эти ошибки выдатся линкером, а не компилятором.
Что с этим делать? Выяснять, чего не хватает. Уже не помню, что собирал, но когда сборка закончилась с похожим результатом, я решил заглянуть в исходники в том месте, в котором было выдано предупреждение. К моему приятному удивлению, автор рядом с этим местом написал, что если я испытываю именно такие симптомы, то вероятнее всего, configure не обнаружил termcap (совпадение - в моем случае тоже был termcap). Может, и в исходниках Радиуса тоже что-то написано об этом? :)
|
|
|