When I try to emerge mod_php on alpha with "imap" in "USE" variable, build fails with "gp-relative relocation against dynamic symbol ...". Reproducible: Always Steps to Reproduce: 1. add "imap" to USE variable in /etc/make.conf 2. emerge mod_php 3. Sit and wait till you get linker error Actual Results: build fails with "gp-relative relocation against dynamic symbol ..." Problem is due to the fact that c-client.a -- library from uw-imap package is compiled without -fpic, and mod_php extensions are dynamic libraries, and thus cannot be used with non-pic objects. alpha c-c # emerge info Portage 2.0.47-r10 (default-alpha-1.4, gcc-3.2.2, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-pre9 alpha EV6 GENTOO_MIRRORS="http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="alpha crypt encode gif imlib jpeg libg++ mikmod motif ncurses oggvorbis oss pdflib png quicktime sdl spell truetype xmms xv zlib gdbm berkdb slang readline tetex mysql gpm tcpd pam libwww perl python -X -gtk -gnome -alsa -qt -kde -cups -opengl ssl postgres ldap ipv6 nls gnupg gssapi imap krb5 curl xml xml2 -apache2" COMPILER="gcc3" CHOST="alpha-unknown-linux-gnu" CFLAGS="-mcpu=ev6 -O3 -pipe" CXXFLAGS="-mcpu=ev6 -O3 -pipe" ACCEPT_KEYWORDS="alpha ~alpha" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="ccache"
I can't reproduce this. My UW-IMAP is compiled with -fPIC from what I can see. The best I can do is include check to ensure that UW-IMAP is compiled with -fPIC via checking for symbols.
Well, I had to explicitly recompile with -fPIC, as by default it was not. Checking would *probably* work, though better option would be to compile local version of c-client with appropriate options. It is always a static lib anyways...
Fixed in CVS. You may need to upgrade c-client or uw-imap and re-emerge PHP after that.