This happens, when the java use flag is enabled and dev-java/sun-jdk-1.4.2.08 is the installed jdk. This is actually a similar problem as described in Bug #65693. Sorry for filing a new bug but I cannot reopen the old one. Here is the emerge output: checking whether to enable xslt support... yes checking for XSLT Sablotron backend... yes checking for libexpat dir for Sablotron XSL support... no checking for iconv dir for Sablotron XSL support... no checking for JavaScript for Sablotron XSL support... no checking for Sablotron libraries in the default path... found in /usr checking for sablot-config... found checking for Sablotron version... configure: error: Sablotron version 0.96 or greater required. !!! Please attach the config.log to your bug report: !!! /var/tmp/portage/php-cgi-4.4.0/work/php-4.4.0/config.log !!! ERROR: dev-php/php-cgi-4.4.0 failed. !!! Function econf, Line 485, Exitcode 0 !!! econf failed !!! If you need support, post the topmost build error, NOT this status message. And the relevant part of config.log: configure:90513: checking for Sablotron version configure:90538: gcc -o conftest -O2 -march=pentium4 -fomit-frame-pointer -I/usr/include -L/usr/lib -L/usr/X11R6/lib -ltiff -L/usr/lib -Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386/server -L/opt/sun-jdk-1.4.2.08/jre/lib/i386/server -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386/native_threads -L/opt/sun-jdk-1.4.2.08/jre/lib/i386/native_threads -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386 -L/opt/sun-jdk-1.4.2.08/jre/lib/i386 conftest.c -lexpat -laspell -lpspell -lmysqlclient -lmhash -lmcrypt -lltdl -ljava -lt1 -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -lexslt -lxml2 -lxslt -lz -ldb-4.2 -ldb-4.2 -lndbm -lgdbm -lcurl -lbz2 -lz -lssl -lcrypto -lresolv -lm -lnsl -lxmlparse -lxmltok -lcurl -lidn -lssl -lcrypto -ldl -lssl -lcrypto -ldl -lz -lxml2 -lz -lm 1>&5 configure: failed program was: #line 90520 "configure" #include "confdefs.h" #include <stdlib.h> #include <sablot.h> int main () { double version; version = atof(SAB_VERSION); if (version >= 0.96) { exit(0); } exit(255); } Reproducible: Always Steps to Reproduce: 1.emerge php-cgi-4.4.0 (with use flag java enabled) 2. 3. Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.20041102-r1, 2.6.12-gentoo-r4 i686) ================================================================= System uname: 2.6.12-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz Gentoo Base System version 1.6.12 dev-lang/python: 2.3.5 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-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="ftp://gentoo.inode.at/source/ ftp://mirror.switch.ch/mirror/gentoo/ http://ftp.easynet.nl/mirror/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 X alsa apache2 apm atm avi berkdb bitmap-fonts bonobo cdr crypt cups curl dga doc dvd eds emacs emboss encode esd fam flac foomaticdb fortran gd gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml imlib java jce jpeg junit libg++ libwww mad mikmod mmx mng motif mozilla mp3 mpeg mysql ncurses nls nptl offensive ogg oggvorbis opengl pam pdflib perl png python quicktime readline real sdl slang spell sse sse2 ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts vorbis xine xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
The failing conftest program cannot be executed: $ ./conftest ./conftest: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory $ ldd conftest linux-gate.so.1 => (0xffffe000) libtiff.so.3 => /usr/X11R6/lib/libtiff.so.3 (0xb7f25000) libexpat.so.0 => /usr/X11R6/lib/libexpat.so.0 (0xb7f05000) libaspell.so.15 => /usr/X11R6/lib/libaspell.so.15 (0xb7e6d000) libpspell.so.15 => /usr/X11R6/lib/libpspell.so.15 (0xb7e6b000) libmysqlclient.so.12 => /usr/X11R6/lib/libmysqlclient.so.12 (0xb7e2d000) libmhash.so.2 => /usr/X11R6/lib/libmhash.so.2 (0xb7dfa000) libmcrypt.so.4 => /usr/X11R6/lib/libmcrypt.so.4 (0xb7dc6000) libltdl.so.3 => /usr/X11R6/lib/libltdl.so.3 (0xb7dbf000) libjava.so => /opt/sun-jdk-1.4.2.08/jre/lib/i386/libjava.so (0xb7d9d000) libt1.so.5 => /usr/X11R6/lib/libt1.so.5 (0xb7d4a000) libfreetype.so.6 => /usr/X11R6/lib/libfreetype.so.6 (0xb7cdb000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7c16000) libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0xb7c06000) libpng.so.3 => /usr/X11R6/lib/libpng.so.3 (0xb7bd5000) libz.so.1 => /lib/libz.so.1 (0xb7bb2000) libjpeg.so.62 => /usr/X11R6/lib/libjpeg.so.62 (0xb7b96000) libexslt.so.0 => /usr/X11R6/lib/libexslt.so.0 (0xb7b86000) libxml2.so.2 => /usr/X11R6/lib/libxml2.so.2 (0xb7a83000) libxslt.so.1 => /usr/X11R6/lib/libxslt.so.1 (0xb7a50000) libdb-4.2.so => /usr/X11R6/lib/libdb-4.2.so (0xb797b000) libdb.so.2 => /usr/X11R6/lib/libdb.so.2 (0xb796d000) libgdbm.so.3 => /usr/X11R6/lib/libgdbm.so.3 (0xb7967000) libcurl.so.3 => /usr/X11R6/lib/libcurl.so.3 (0xb7938000) libbz2.so.1 => /lib/libbz2.so.1 (0xb7929000) libssl.so.0.9.7 => /usr/X11R6/lib/libssl.so.0.9.7 (0xb78f9000) libcrypto.so.0.9.7 => /usr/X11R6/lib/libcrypto.so.0.9.7 (0xb7802000) libresolv.so.2 => /lib/libresolv.so.2 (0xb77ef000) libm.so.6 => /lib/tls/libm.so.6 (0xb77cd000) libnsl.so.1 => /lib/libnsl.so.1 (0xb77b8000) libxmlparse.so.0 => /usr/X11R6/lib/libxmlparse.so.0 (0xb77af000) libxmltok.so.0 => /usr/X11R6/lib/libxmltok.so.0 (0xb779b000) libidn.so.11 => /usr/X11R6/lib/libidn.so.11 (0xb776b000) libdl.so.2 => /lib/libdl.so.2 (0xb7767000) libc.so.6 => /lib/tls/libc.so.6 (0xb7655000) libgpm.so.1 => /lib/libgpm.so.1 (0xb764f000) libstdc++.so.5 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libstdc++.so.5 (0xb759a000) libgcc_s.so.1 => /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 (0xb7591000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7564000) libjvm.so => not found libverify.so => not found libXext.so.6 => /usr/lib/libXext.so.6 (0xb7556000) libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb750a000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb7506000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb74f4000) /lib/ld-linux.so.2 (0xb7f75000)
Reopening the original bug. *** This bug has been marked as a duplicate of 65693 ***
Reopened as requested in Bug 65693 comment #33
Sorry, the correct reference is Bug 65693 comment #36
please attach the ENTIRE config.log file as the output requested. additionally, make the conftest.c file, and compile it as follows: === conftest.c ==== #include <stdlib.h> #include <sablot.h> int main () { double version; version = atof(SAB_VERSION); if (version >= 0.96) { exit(0); } exit(255); } === END OF conftest.c ==== gcc -o conftest -O2 -march=pentium4 -fomit-frame-pointer -I/usr/include -L/usr/lib -L/usr/X11R6/lib -ltiff -L/usr/lib -Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386/server -L/opt/sun-jdk-1.4.2.08/jre/lib/i386/server -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386/native_threads -L/opt/sun-jdk-1.4.2.08/jre/lib/i386/native_threads -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386 -L/opt/sun-jdk-1.4.2.08/jre/lib/i386 conftest.c -lexpat -laspell -lpspell -lmysqlclient -lmhash -lmcrypt -lltdl -ljava -lt1 -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -lexslt -lxml2 -lxslt -lz -ldb-4.2 -ldb-4.2 -lndbm -lgdbm -lcurl -lbz2 -lz -lssl -lcrypto -lresolv -lm -lnsl -lxmlparse -lxmltok -lcurl -lidn -lssl -lcrypto -ldl -lssl -lcrypto -ldl -lz -lxml2 -lz -lm The compile should fail, and I would like that output.
Created attachment 63341 [details] complete config.log I attached the complete config.log. I did the experiment you suggested already. The compile of the test program does not fail, but the program cannot be run. Please see comment #1 for the details.
ah, looking at your ldd output, it shows that gcc is broken. This is NOT a PHP bug, but your system in a not-good state. you should run revdep-rebuild or rebuild "emerge '=gcc-3.3*'". /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 (0xb7591000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7564000) libjvm.so => not found libverify.so => not found libXext.so.6 => /usr/lib/libXext.so.6 (0xb7556000) libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb750a000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb7506000) libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb74f4000) /lib/ld-linux.so.2 (0xb7f75000)
Robin, I did not say that it is a PHP bug but it is something that does not work and the php-cgi emerge runs into this problem. revdep-rebuild does report nothing. My complete toolchain was recompiled recently (when the linux-headers-2.6.11-r2 became stable). Therefore I don't think that recompiling gcc would help (I did not try though). Other people are reporting the same or similar errors, therefore it is unlikely that it is something specific to my box. I can live with php-cgi built with USE=-java therefore I will not reopen the bug. If somebody needs to solve it, here are some other experiments that may contribute to finding the solution: $ ldd /opt/sun-jdk-1.4.2.08/jre/lib/i386/libjava.so linux-gate.so.1 => (0xffffe000) libjvm.so => not found libverify.so => not found libnsl.so.1 => /lib/libnsl.so.1 (0xb7f2e000) libdl.so.2 => /lib/libdl.so.2 (0xb7f2a000) libc.so.6 => /lib/tls/libc.so.6 (0xb7e18000) /lib/ld-linux.so.2 (0x80000000) $ LD_LIBRARY_PATH=/opt/sun-jdk-1.4.2.08/jre/lib/i386/server:/opt/sun-jdk-1.4.2.08/jre/lib/i386 ./conftest ; echo $? 0 Linking explicitly with -ljvm -lverify: $ gcc -o conftest -O2 -march=pentium4 -fomit-frame-pointer \ -I/usr/include -L/usr/lib -L/usr/X11R6/lib -ltiff -L/usr/lib \ -Wl,-rpath,/usr/X11R6/lib -L/usr/X11R6/lib \ -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386/server \ -L/opt/sun-jdk-1.4.2.08/jre/lib/i386/server \ -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386/native_threads \ -L/opt/sun-jdk-1.4.2.08/jre/lib/i386/native_threads \ -Wl,-rpath,/opt/sun-jdk-1.4.2.08/jre/lib/i386 \ -L/opt/sun-jdk-1.4.2.08/jre/lib/i386 conftest.c -lexpat -laspell -lpspell \ -lmysqlclient -lmhash -lmcrypt -lltdl -ljava -lt1 \ -lfreetype -lX11 -lXpm -lpng -lz -ljpeg -lexslt -lxml2 -lxslt -lz -ldb-4.2 \ -ldb-4.2 -lndbm -lgdbm -lcurl -lbz2 -lz -lssl -lcrypto -lresolv -lm -lnsl \ -lxmlparse -lxmltok -lcurl -lidn -lssl -lcrypto -ldl -lssl -lcrypto -ldl -lz \ -lxml2 -lz -lm -ljvm -lverify $ ./conftest ; echo $? 0
the PHP build system is a pile of junk. It should check _every_ library that it wants to add, but instead it only checks some of them, so if it's added a few that don't work but didn't check them, it will fail the next check (and give a totally useless error message). Do try "emerge '=gcc-3.3.5*'" and see if it generates a new /usr/lib/gcc- lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 that links against a proper libjvm.so.
I reemerged dev-java/sun-jdk-1.4.2.08 and sys-devel/gcc-3.3.5.20050130-r1 but this did not change anything.
hmm, /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 really should have been fixed after that. I'd suggest filing a bug for the toolchain people to look at GCC, as a broken /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/libgcc_s.so.1 should NOT exist right after gcc has been built.
I just installed the sun-jdk and built "USE=java emerge php" against that. No problems. This really looks like a toolchain issue to me.
"USE=java emerge php" works on my box as well. Its just "USE=java emerge php-cgi" that doesn't.
My bad, "USE=java emerge php-cgi" gives me the same error you get. This is really weird as compiling PHP as CGI or CLI should have no impact on the extensions. Will investigate.
This bug only appears if using suns jdk - using blackdowns one, this failure doesnt appear, perhaps this helps. best regards
Our issue with sablotron not being detected in bug #65693 has not gone away yet.
This bug has nothing to do with Sparc, removing CC.
Please try this using the new PHP overlay and report back (link: http://svn.gnqs.org/projects/gentoo-php-overlay/ ). I if you're having problems please first try to "etc-update && env-update && source /etc/profile" (wich should be done anyways after Java installs/upgrades), and then emerge dev-lang/php again. I actually had no problems emerging PHP 4.4.0 with Java and Sablotron enabled. Thanks, CHTEKK.
Ok I tested some more, Blackdown-JDK works perfectly. Sun-JDK does _not_. The problem in my case is that it doesn't find libverify.so, where other people have random "Java doesn't find my .so's", and that causes the compile to fail. Related to this is bug 23579. It is a Java (SUN probably only, not sure though) problem, not a PHP one. In my case it helped to copy libverify.so from /opt/sun-jdk-1.4.2.08/jre/lib/i386/ to /opt/sun-jdk-1.4.2.08/jre/lib/i386/server/, some other times (suggested by the other bug) you should copy the whole i386 directory, renaming it to your architecture (i586, i686 fex.). "ldd /opt/sun-jdk-1.4.2.08/jre/lib/i386/libjava.so" actually is an intersting command that can help you find what's the missing library it doesn't find. Best regards, CHTEKK.
java guys, you baby is brokey... ;) Re-assigned.
*** This bug has been marked as a duplicate of 23579 ***