in ebuild partysip-2.2.3.ebuild the lib -lresov is missing in some Makefile.am Reproducible: Always Steps to Reproduce: 1. ebuild partysip on a amd64 with gcc3.4.4 2. 3. adding the following Patch fix it with an workaround: --- partysip-2.2.3/src/Makefile.am.orig 2005-10-02 14:13:30.000000000 +0200 +++ partysip-2.2.3/src/Makefile.am 2005-10-02 14:04:23.000000000 +0200 @@ -16,7 +16,7 @@ partysip_LDFLAGS = -L$(prefix)/lib -losip2 -avoid-version -export-dynamic partysip_LDADD = $(top_builddir)/ppl/unix/libppl.la \ -$(PARTYSIP_LIB) $(PTHREAD_LIBS) +$(PARTYSIP_LIB) $(PTHREAD_LIBS) -lresolv INCLUDES = -I$(top_srcdir)/partysip -I$(top_srcdir)/ppl/unix/ \ -I$(top_srcdir) -I$(prefix)/include --- partysip-2.2.3/tools/Makefile.am.orig 2005-10-02 14:24:44.000000000 +0200 +++ partysip-2.2.3/tools/Makefile.am 2005-10-02 14:25:00.000000000 +0200 @@ -4,7 +4,7 @@ psp_users_SOURCES = psp_users.c -psp_users_LDFLAGS = -O -L$(prefix)/lib -losip2 -module -avoid-version -export-dynamic +psp_users_LDFLAGS = -O -L$(prefix)/lib -losip2 -module -avoid-version -export-dynamic -lresolv psp_users_LDADD = $(top_builddir)/ppl/unix/libppl.la \ $(PARTYSIP_LIB) $(PTHREAD_LIBS) $(top_builddir)/src/psp_config.o $(top_builddir)/src/psp_utils.o
Created attachment 69715 [details, diff] fix this missing lib. Dont know how to make it clean...
Configure's resolv check: *) CHECK_INADDR_NONE AC_CHECK_LIB(resolv,res_query,[PARTYSIP_LIB="$PARTYSIP_LIB -lresolv"]) AC_CHECK_LIB(resolv,res_query,[PPL_LIB="$PPL_LIB -lresolv"]) ;; esac fails because libresolv is a "little" different on x86 (+others) and amd64: AMD64: ast01@64 partysip $ readelf -s /lib64/libresolv-2.3.5.so | grep "res_query" 37: 0000000000007220 167 FUNC GLOBAL DEFAULT 12 __res_querydomain@@GLIBC_2.2.5 148: 0000000000006f90 186 FUNC GLOBAL DEFAULT 12 __res_query@@GLIBC_2.2.5 x86: ast04@32 asterisk # readelf -s /lib/libresolv.so.2 | grep "res_query" 35: 000061c0 130 FUNC GLOBAL DEFAULT 12 __res_querydomain@@GLIBC_2.2 70: 000061c0 130 FUNC WEAK DEFAULT 12 res_querydomain@@GLIBC_2.0 103: 00006330 123 FUNC WEAK DEFAULT 12 res_query@@GLIBC_2.0 151: 00006330 123 FUNC GLOBAL DEFAULT 12 __res_query@@GLIBC_2.2 98: 00000000 0 FILE LOCAL DEFAULT ABS res_query.c 257: 000061c0 130 FUNC GLOBAL DEFAULT 12 __res_querydomain 292: 000061c0 130 FUNC WEAK DEFAULT 12 res_querydomain 325: 00006330 123 FUNC WEAK DEFAULT 12 res_query 373: 00006330 123 FUNC GLOBAL DEFAULT 12 __res_query res_query and dn_expand are only #define alias names for the internal functions (and slightly differently handled on x86 though, that's why they show up as weak references in the x86 libresolv) so the real fix here is to check for the internal names in configure, instead of the exported aliases: --- partysip-2.2.3/configure.in.orig 2005-10-02 19:37:55.000000000 +0000 +++ partysip-2.2.3/configure.in 2005-10-02 19:38:50.000000000 +0000 @@ -209,8 +209,10 @@ ;; *) CHECK_INADDR_NONE - AC_CHECK_LIB(resolv,res_query,[PARTYSIP_LIB="$PARTYSIP_LIB -lresolv"]) - AC_CHECK_LIB(resolv,res_query,[PPL_LIB="$PPL_LIB -lresolv"]) + # check for the internal names here, because they are the only ones + # showing up on amd64 + AC_CHECK_LIB(resolv,__res_query,[PARTYSIP_LIB="$PARTYSIP_LIB -lresolv"]) + AC_CHECK_LIB(resolv,__res_query,[PPL_LIB="$PPL_LIB -lresolv"]) ;; esac
good to know... :) thx.
fixed in cvs