URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 23718
[ Назад ]

Исходное сообщение
"spamassassin-milter0.1.2"

Отправлено slimt , 03-Дек-02 14:49 
configure говорит, что "configure: error: Cannot find libmilter", хотя libmilter установлен, и sendmail почту на вирусы через него проверяет. Путь в configure к libmilter "/usr/lib/libmilter", в моем Mandrake 8.2 "/usr/include/libmilter". Делаю линк на "/usr/lib/libmilter" все равно не находит. Может кто-то с подобным сталкивался? В чем может быть дело?

Содержание

Сообщения в этом обсуждении
"RE: spamassassin-milter0.1.2"
Отправлено Dima , 03-Дек-02 15:08 
а при этом хидеры от милтера имеются ?

"RE: spamassassin-milter0.1.2"
Отправлено slimt , 03-Дек-02 15:16 
>а при этом хидеры от милтера имеются ?

как это узнать? Содержимое каталога /usr/unclude/libmilter
mfapi.h  mfdef.h  milter.h

Это то?


"RE: spamassassin-milter0.1.2"
Отправлено lavr , 03-Дек-02 15:23 
>configure говорит, что "configure: error: Cannot find libmilter", хотя libmilter установлен, и
>sendmail почту на вирусы через него проверяет. Путь в configure к
>libmilter "/usr/lib/libmilter", в моем Mandrake 8.2 "/usr/include/libmilter". Делаю линк на "/usr/lib/libmilter"
>все равно не находит. Может кто-то с подобным сталкивался? В чем
>может быть дело?

надо смотреть config.log в районе двух десятков последних строк, должен
компилиться и запускаться test для проверки headers и линковки библиотеки

ls -la /usr/lib/libmilter.a
или
ls -la /usr/local/lib/libmilter.a
(статическая библиотека)

ls -la /usr/include/libmilter
или
ls -la /usr/local/include/libmilter

или где там они?

И все дела.


"RE: spamassassin-milter0.1.2"
Отправлено slimt , 03-Дек-02 15:47 
>надо смотреть config.log в районе двух десятков последних строк, должен
>компилиться и запускаться test для проверки headers и линковки библиотеки
>
>ls -la /usr/lib/libmilter.a
>или
>ls -la /usr/local/lib/libmilter.a
>(статическая библиотека)
>
>ls -la /usr/include/libmilter
>или
>ls -la /usr/local/include/libmilter
>
>или где там они?
>
>И все дела.

Вот что в config.log'e:
--8<---
configure:4536: checking for mi_stop in -lmilter                                                      
configure:4569: gcc -o conftest -g -O2 -pthread  -D_GNU_SOURCE  -L/usr/lib conftest.c -lmilter    >&5
/usr/lib/libmilter.a(errstring.o): In function `sm_errstring':                                        
errstring.o(.text+0x205): undefined reference to `sm_snprintf'                                        
--8<---

Мне, увы, это ни о чем не говорит...
libmilter.a там есть.


"RE: spamassassin-milter0.1.2"
Отправлено Dima , 03-Дек-02 16:30 
Это значит что spamfilter не видит файлов от sendmail-devel
в котором и описаны sm_snprintf  и прорчие функции сендмейла.

"RE: spamassassin-milter0.1.2"
Отправлено lavr , 03-Дек-02 17:13 
>Это значит что spamfilter не видит файлов от sendmail-devel
>в котором и описаны sm_snprintf  и прорчие функции сендмейла.

точно, libsm и остальное хозяйство, короче чего-то не хватает


"RE: spamassassin-milter0.1.2"
Отправлено lavr , 03-Дек-02 16:40 
>>надо смотреть config.log в районе двух десятков последних строк, должен
>>компилиться и запускаться test для проверки headers и линковки библиотеки
>>
>>ls -la /usr/lib/libmilter.a
>>или
>>ls -la /usr/local/lib/libmilter.a
>>(статическая библиотека)
>>
>>ls -la /usr/include/libmilter
>>или
>>ls -la /usr/local/include/libmilter
>>
>>или где там они?
>>
>>И все дела.
>
>Вот что в config.log'e:
>--8<---
>configure:4536: checking for mi_stop in -lmilter

4536 - строка начала проверок на milter

>configure:4569: gcc -o conftest -g -O2 -pthread  -D_GNU_SOURCE  -L/usr/lib conftest.c -lmilter    >&5

4569 - строка в которой вылетает

>/usr/lib/libmilter.a(errstring.o): In function `sm_errstring':
>errstring.o(.text+0x205): undefined reference to `sm_snprintf'
>--8<---
>
>Мне, увы, это ни о чем не говорит...
>libmilter.a там есть.

посмотреть содержимое статической библиотеки milter.a:

nm -s /usr/lib/libmilter.a

gcc -o conftest -g -O2 -pthread -D_GNU_SOURCE (видимо linux?) -L/usr/lib -lmilter conftest.c

при этом configure должен был создать conftest.c:
#include <libmilter/mfapi.h>
#include <libmilter/mfdef.h>

#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char mi_stop ();
#ifdef F77_DUMMY_MAIN
#  ifdef __cplusplus
     extern "C"
#  endif
   int F77_DUMMY_MAIN() { return 1; }
#endif

int
main ()
{
mi_stop ();
  ;
  return 0;
}

где-то так

исходя из этого делать выводы, ничего сложного