ASPLinux 11 & milter-greylist- как связать?

Автор: bsm Дата: 21.12.2006 17:21
Прошу помощи в установке milter-greylist в ASPLinux 11 (в ASPLinux 9 пакет, младшей версии, инсталлирован и работал без претензий).

Имеем [ftp.espci.fr]
Выполняем и получаем-

[root@maestro milter-greylist-3.0]# ./configure && make
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for flex... flex
checking for yywrap in -lfl... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking for a BSD-compatible install... /usr/bin/install -c
checking for mkdep... no
checking for rm... rm
checking for mv... mv
checking for test... test
checking for sed... sed
checking for true... true
checking if compiler accepts -Wall... yes
checking if ld accepts --rpath... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking sys/cdefs.h usability... yes
checking sys/cdefs.h presence... yes
checking for sys/cdefs.h... yes
checking for pid_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for unistd.h... (cached) yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for strftime... yes
checking for working memcmp... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking for function prototypes... yes
checking whether setvbuf arguments are reversed... no
checking whether lstat dereferences a symlink specified with a trailing slash... yes
checking whether stat accepts an empty string... no
checking for bzero... yes
checking for gettimeofday... yes
checking for malloc... yes
checking for inet_ntoa... yes
checking for strerror... yes
checking for select... yes
checking for socket... yes
checking for initgroups... yes
checking for strlcat... no
checking for vsyslog... yes
checking for pthread_create in -lpthread... yes
checking for socket in -lsocket... no
checking for socket in -lsocket -lnsl... no
checking for inet_aton in -lresolv... yes
checking for inet_pton in -lnsl... yes
checking for getaddrinfo... yes
checking for getnameinfo... yes
checking if <time.h> defines timeradd... yes
checking if -D_REENTRANT is needed to use localtime_r... no
checking if -D__EXTENSIONS__ is needed to use snprintf... no
checking for smfi_register in -lmilter... yes
checking if -lpthread is needed after -lmilter... no
checking if <sys/queue.h> is outdated... yes
checking if __RCSID can be used twice in the same source... yes
checking whether <pthreads.h> wants -pthread... no
checking whether you need -D_XOPEN_SOURCE to use libpthread... yes
checking whether you need -D_SGI_SOURCE to use <stdio.h> with -ansi... no
checking whether you need -D_XOPEN_SOURCE to use <stdio.h> with -ansi... no
checking if -D_OSF_SOURCE is needed for IPV6 support... no
checking for struct sockaddr.sa_len... no
checking for struct sockaddr_in6.sin6_scope_id... yes
checking if socklen_t is missing... no
checking for broken rwlock in libpthread... no
checking if DNS resolver is re-entrant... yes
logname: no login name
configure: creating ./config.status
config.status: creating Makefile
config.status: creating milter-greylist.spec
config.status: creating config.h
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o milter-greylist.o milter-greylist.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o pending.o pending.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o sync.o sync.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o dnsrbl.o dnsrbl.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o list.o list.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o macro.o macro.c
bison -y -p`echo conf_yacc.c|sed 's/^\([^_]\{1,\}_\).*$/\1/'` conf_yacc.y
mv y.tab.c conf_yacc.c
flex -oconf_lex.c conf_lex.l
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o conf_yacc.o conf_yacc.c
bison -y -p`echo dump_yacc.c|sed 's/^\([^_]\{1,\}_\).*$/\1/'` dump_yacc.y
mv y.tab.c dump_yacc.c
flex -odump_lex.c dump_lex.l
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o dump_yacc.o dump_yacc.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o conf.o conf.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o autowhite.o autowhite.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o dump.o dump.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o spf.o spf.c
gcc -g -O2 -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o acl.o acl.c
gcc -o milter-greylist milter-greylist.o pending.o sync.o dnsrbl.o list.o macro.o conf_yacc.o dump_yacc.o conf.o autowhite.o dump.o spf.o acl.o -lpthread -lresolv -lnsl -lmilter
dump_yacc.o(.text+0x123c): In function `_yy_dummy_uses_of_static_functions_b2f4_517d_02ff_b30c_3e5a_47d7_aaa3_3b5d_':
/usr/src/milter-greylist-3.0/dump_lex.c:1714: multiple definition of `_yy_dummy_uses_of_static_functions_b2f4_517d_02ff_b30c_3e5a_47d7_aaa3_3b5d_'
conf_yacc.o(.text+0x21e8):/usr/src/milter-greylist-3.0/conf_lex.c:2384: first defined here
collect2: ld returned 1 exit status
make: *** [milter-greylist] Ошибка 1

На сколько я понял - проблема в доступе к libpthread.
Как решить проблему?
Спасибо.

Re: ASPLinux 11 & milter-greylist- как связать? 21.12.2006 19:38Bircoph
> Как решить проблему?

1) Искать патч/обновление.
2) Руками править ошибку в сорцах.

Re: ASPLinux 11 & milter-greylist- как связать? 21.12.2006 19:55INF[SZ]
Предлагаю взять src.rpm версию из Extras Fedora
и сделать rpmbuild --rebuild milter-greylist.....src.rpm
ну а потом установить rpm
Re: ASPLinux 11 & milter-greylist- как связать? 22.12.2006 11:04bsm
Взял milter-greylist-1.6-4.fc4.src.rpm
При rpmbuild --rebuild milter-greylist-1.6-4.fc4.src.rpm получил нижеприведенное-

..
checking if __RCSID can be used twice in the same source... yes
checking whether <pthreads.h> wants -pthread... no
checking whether you need -D_XOPEN_SOURCE to use libpthread... yes
checking whether you need -D_XOPEN_SOURCE to use <stdio.h> with -ansi... no
checking if -D_OSF_SOURCE is needed for IPV6 support... no
checking for struct sockaddr.sa_len... no
checking if socklen_t is missing... no
checking for broken rwlock in libpthread... no
logname: no login name
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
+ /usr/bin/make TEST=false BINDIR=/usr/sbin
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o milter-greylist.o milter-greylist.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o pending.o pending.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o except.o except.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o sync.o sync.c
bison -y -p`echo conf_yacc.c|sed 's/^\([^_]\{1,\}_\).*$/\1/'` conf_yacc.y
mv y.tab.c conf_yacc.c
flex -oconf_lex.c conf_lex.l
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o conf_yacc.o conf_yacc.c
bison -y -p`echo dump_yacc.c|sed 's/^\([^_]\{1,\}_\).*$/\1/'` dump_yacc.y
mv y.tab.c dump_yacc.c
flex -odump_lex.c dump_lex.l
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o dump_yacc.o dump_yacc.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o conf.o conf.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o autowhite.o autowhite.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o dump.o dump.c
gcc -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i386 -mtune=pentium4 -fasynchronous-unwind-tables -Wall -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -c -o spf.o spf.c
gcc -o milter-greylist milter-greylist.o pending.o except.o sync.o conf_yacc.o dump_yacc.o conf.o autowhite.o dump.o spf.o -lresolv -lnsl -lpthread -lmilter
dump_yacc.o(.text+0x131a): In function `_yy_dummy_uses_of_static_functions_b2f4_517d_02ff_b30c_3e5a_47d7_aaa3_3b5d_':
/usr/src/asplinux/BUILD/milter-greylist-1.6/dump_lex.c:1713: multiple definition of `_yy_dummy_uses_of_static_functions_b2f4_517d_02ff_b30c_3e5a_47d7_aaa3_3b5d_'
conf_yacc.o(.text+0x4cd):/usr/src/asplinux/BUILD/milter-greylist-1.6/conf_lex.c:2220: first defined here
collect2: ld returned 1 exit status
make: *** [milter-greylist] Error 1
ошибка: Неверный код возврата из /var/tmp/rpm-tmp.25644 (%build)

Ошибки сборки пакетов:
InstallSourcePackage: Заголовок V3 DSA signature: NOKEY, key ID 1ac70ce6
пользователь mockbuild не существует - используется root
группа mockbuild не существует - используется root
пользователь mockbuild не существует - используется root
группа mockbuild не существует - используется root
пользователь mockbuild не существует - используется root
группа mockbuild не существует - используется root
пользователь mockbuild не существует - используется root
группа mockbuild не существует - используется root
пользователь mockbuild не существует - используется root
группа mockbuild не существует - используется root
пользователь mockbuild не существует - используется root
группа mockbuild не существует - используется root
Неверный код возврата из /var/tmp/rpm-tmp.25644 (%build)

Что далее?

При попытке ставить из исходников- отсутствует необходимая библиотека.
А так хочется использовать пакет,- уж очень хороший для фильтрации SPAM.

RSS-материал