Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 99225 - PHP doesn't compile on uclibc-hardened (missing symbol __dn_skipname), patch attached
Summary: PHP doesn't compile on uclibc-hardened (missing symbol __dn_skipname), patch ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords: Inclusion
Depends on: 74435
Blocks:
  Show dependency tree
 
Reported: 2005-07-16 08:14 UTC by Milan Holzäpfel
Modified: 2005-11-03 08:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Fix compilation on uclibc-hardened system (php-4.3.11-__dn_skipname.diff,1.09 KB, patch)
2005-07-16 08:16 UTC, Milan Holzäpfel
Details | Diff
php4-uclibc-dn-skipname.patch (php4-uclibc-dn-skipname.patch,977 bytes, patch)
2005-10-27 20:47 UTC, SpanKY
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Milan Holzäpfel 2005-07-16 08:14:47 UTC
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
Comment 1 Milan Holzäpfel 2005-07-16 08:16:19 UTC
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.
Comment 2 Milan Holzäpfel 2005-07-16 08:52:12 UTC
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) 
Comment 3 Milan Holzäpfel 2005-07-16 09:13:06 UTC
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 ***
Comment 4 SpanKY gentoo-dev 2005-10-27 20:46:47 UTC
err this bug is unrelated to 74435 and is still broken
Comment 5 SpanKY gentoo-dev 2005-10-27 20:47:58 UTC
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
Comment 6 Luca Longinotti (RETIRED) gentoo-dev 2005-11-03 08:51:59 UTC
The mentioned patch was added to the latest dev-lang/php-4* releases, so they
now also should work under uClibc.
Best regards, CHTEKK.