When attempting to emerge php or mod_php with the imap flag activated the following link error always occurs: ext/imap/php_imap.o(.text+0x343): In function `zm_startup_imap': : undefined reference to `ssl_onceonlyinit' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 !!! ERROR: dev-php/php-4.3.2 failed. !!! Function php_src_compile, Line 345, Exitcode 2 !!! compile problem Reproducible: Always Steps to Reproduce: 1.USE="gd-bundled imap xml xml2 -nls -java" emerge (php || mod_php) 2. wait for linking 3. Error will then present it self Actual Results: ext/imap/php_imap.o(.text+0x343): In function `zm_startup_imap': : undefined reference to `ssl_onceonlyinit' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 !!! ERROR: dev-php/php-4.3.2 failed. !!! Function php_src_compile, Line 345, Exitcode 2 !!! compile problem # emerge info Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.2, glibc-2.3.1-r4) ================================================================= System uname: 2.4.20 i686 AMD Duron(tm) Processor GENTOO_MIRRORS="ftp://sunsite.ualberta.ca/pub/unix/Linux/gentoo/ http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/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="/usr/portage-mine" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg gnome libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime spell truetype xmms xv zlib gdbm berkdb slang readline arts svga java guile mysql X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gtk qt kde motif opengl ldap snmp -ipv6 -imap xml xml2" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon -O3 -pipe -funroll-loops -fforce-addr -frerun-loop-opt -frerun-cse-after-loop" CXXFLAGS="-march=athlon -O3 -pipe -funroll-loops -fforce-addr -frerun-loop-opt -frerun-cse-after-loop" ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.ca.gentoo.org/gentoo-portage/" FEATURES="sandbox ccache"
Created attachment 13618 [details] Compile output for report
could you please do: 1. emerge unmerge uw-imap 2. make sure ALL c-client stuff in /usr/include}/imap and /usr/lib/libc-client.a is gone, if not delete it 3. USE="ssl imap" emerge c-client 4. USE="ssl imap gd xml2" emerge (mod_php || php) gd-bundled is deprecated, it was mistakenly added 'gd' means the bundled copy and 'gd-external' means the external one instead. 'xml' stuff is now explictly included in PHP as PEAR needs it. java stuff with PHP works or at the very least doesn't break the compile.
I've followed your procedure and still gives the same error. I will attach the c-client compile log and the php compile log. BTW. The reason I have java disabled is it was failing at load time not compile time.
Created attachment 13648 [details] c-client compile log c-client compile log with following emerge command USE="ssl imap" emerge net-libs/c-client
Created attachment 13649 [details] php compile log compile output with following emerge command after c-client emerge. USE="ssl imap gd xml2" emerge php BTW: uw-imap was removed prior to original report.
Could you please attach the output of 'nm /usr/lib/libc-client.a' It seems that your c-client is building without ssl.
Created attachment 13664 [details] output of nm /usr/lib/libc-client.a Here you go output of nm /usr/lib/libc-client.a as per request.
I don't see any reason this should be happened. In that command, The end of the command that fails is (trimmed some): /bin/sh /var/tmp/portage/php-4.3.2/work/php-4.3.2/libtool --silent --preserve-dup-deps --mode=link gcc -export-dynamic ${CFLAGS} ${LIBDIRS} ${PHP_*.lo_files} -lcrypt -lc-client -lssl -lcrypto -lsablot -lexpat -lexpat -lhistory -lreadline -lncurses -lqt -lpspell -lpdf -lz -lpng -ljpeg -lmysqlclient -lmhash -lmcrypt -lltdl -lldap -llber -lcrypt -lpam -lxsltbreakpoint -lxml2 -lxslt -lz -lndbm -lgdbm -lcrack -lbz2 -lz -lssl -lcrypto -lresolv -lm -lxmlparse -lxmltok -lxml2 -lz -lm -lnetsnmp -lcrypto -lelf -lm -lcrypt -o sapi/cli/php ext/imap/php_imap.o(.text+0x343): In function `zm_startup_imap': : undefined reference to `ssl_onceonlyinit' collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 Could you please run 'emerge php' then attach /var/tmp/portage/php-4.3.2/work/php-4.3.2/config.log ?
Running emerge php compiles and installs properly. If I include USE="imap" and run the same command it fails as before. I will add the attachments next.
Created attachment 13746 [details] config.log with imap flag
Hmm, looking at that output, this is a possible idea now. emerge app-admin/gentoolkit and run revdep-rebuld
I ran the revdep-rebuild. It emerged OpenMotif and blackdown jdk 1.4.1 and the sunjdk1.4.1-gcc3.2. That's all it seemed to rebuild. I tried re-emerging php with the imap and ssl flags with the same results.
Argh I don't see why this is happening. The c-client lib contains the ssl_onceonlyinit symbol and the ssl lib contains it as well! last ditch effort: 'USE="imap" emerge ssl c-client php'
Well the last ditch method has failed. It still dies with the same error. ANy more ideas? BTW. I'm assuming you meant USE="imap" emerge openssl c-client php |_was ssl.
Yeah, I meant openssl. I don't get why this is happening at all. Since you have a reasonably fast machine, if you have 12 hours or so to leave it going, would you mind running 'emerge -eD world'. I'm still not convinced this is a php bug, I think it still may be something with the libraries on your system.
I'm willing, is there a chance the emerge -eD world will hoop up my system?
I actually just had a thought. I'm going to completely clean out my ccache cache and try doing the last resort again. Maybe it's causing issues.
If you mean 'damage' by 'hoop up', then it is practically non-existant (except if you use openssl0.9.7, which is hardmasked anyway, along with a very specific order of things) if you mean 'speed up' by 'hoop up', then it is possible that it may improve your system if you had packages that weren't built with your CFLAGS before. As such, right before running the 'emerge -eD world' is a good time to update your cflags if you want.
I have started the emerge -eD world, as the clearing of the ccache cache made no difference. I will update after the emerge is finished.
Any update on this?
The -eD has faild twice. Once cause it was missing the sun-jdk download that emerge can't get automatically and the second time cause it hit php and faild on the imap error. I'm going to do a use -imap and restart the -eD and then remerge php with the imap flag after.
Well the -eD world has finished and I've tried re-emerging php and still no dice. The exact same error is coming into play. Tried remerging c-client again and then php still no dice. I've successfully gotten imap to compile in by setting USE="imap -ssl" emerge c-client php Not a great solution but it get's my imap support that I was looking for.
I still don't see why c-client built without SSL support. Could you please look at it and make some inquries there.
Any progress on this?
no response from user, closing.
closing old bugs.