Hello, when I do emerge php on my uclibc-hardened system, the compile process aborts like this: | /bin/sh /var/tmp/portage/php-4.4.0/work/php-4.4.0/libtool --silent --preserve- dup-deps --mode=link gcc -export-dynamic -Os -march=athlon-xp -pipe -fomit- frame-pointer ext/openssl/openssl.lo ex t/zlib/zlib.lo [...] -lz -lm -lcrypt -o sapi/cli/php | ext/standard/dns.o(.text+0x7eb): In function `zif_getmxrr': | : undefined reference to `__dn_skipname' | ext/standard/dns.o(.text+0x821): In function `zif_getmxrr': | : undefined reference to `__dn_skipname' | collect2: ld returned 1 exit status | make: *** [sapi/cli/php] Error 1 | | !!! ERROR: dev-php/php-4.4.0 failed. | !!! Function php-sapi_src_compile, Line 521, Exitcode 2 | !!! compile problem | !!! If you need support, post the topmost build error, NOT this status message. I works when the attached patch is applied, whose source I don't remember (somewhere from the web..) I have however recreated it for 4.3.11, and it still works for 4.4.0. Regards, Milan Reproducible: Always Steps to Reproduce: 0. fix issue mention in bug #99220 1. do an emerge php on a uclibc-hardened system Actual Results: it fails because it wants to use a function called __dn_skipname although it isn't present in any library Expected Results: behaviour as shown in the patch attached Portage 2.0.51.22-r1 (uclibc/x86/hardened, gcc-3.4.4, uclibc-0.9.27-r0, 2.6.11. 12-grsec-20 i686) ================================================================= System uname: 2.6.11.12-grsec-20 i686 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.12 dev-lang/python: 2.3.4-r1, 2.4.1-r1 sys-apps/sandbox: 1.2.10 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-gentoo-linux-uclibc" CFLAGS="-Os -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-gentoo-linux-uclibc" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/ etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-Os -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/src/pkg" FEATURES="autoconfig buildpkg distlocks nodoc noinfo noman sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo ftp://ftp. uni-erlangen.de/pub/mirrors/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://gentoo.inode.at/source http://gentoo.inode.at/" MAKEOPTS="-j1" PKGDIR="/usr/portage-pkg" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowex apache2 berkdb big-tables bzip2 crypt curl gd gnutls hardened imagemagick imap jabber jpeg libwww mbox mmap mmx mng mysql ncurses perl php pic png python readline sse ssl subversion svg threads tidy uclibc unicode utf8 vpopmail xml xml2 zlib userland_GNU kernel_linux elibc_uclibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Created attachment 63534 [details, diff] Fix compilation on uclibc-hardened system This patch makes a function called __dn_skipname not being used if the configure script (I assume) figured that it is not available.
I forgot to mention that if you decide on meanwhile adding the patch to the ebuild, the php-cgi ebuild should be equally affected. (so add the patch there too)
This patch has already been posted in bug #74435, comment #3. Searching for "php __dn_skipname" yielded no results, so I thought this hadn't been submitted yet. Sorry for wasting anyone's time. *** This bug has been marked as a duplicate of 74435 ***
err this bug is unrelated to 74435 and is still broken
Created attachment 71601 [details, diff] php4-uclibc-dn-skipname.patch both php-4.3 and php-4.4 need this patch tested dev-lang/php in uClibc env and this fixed both it's just a back port of a fix that is already in php-5.0
The mentioned patch was added to the latest dev-lang/php-4* releases, so they now also should work under uClibc. Best regards, CHTEKK.