Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 98853 - USE=java php-cgi-4.4.0 emerge fails while checking sablotron version with sun-jdk
Summary: USE=java php-cgi-4.4.0 emerge fails while checking sablotron version with sun...
Status: RESOLVED DUPLICATE of bug 23579
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-07-12 23:56 UTC by Heinrich Nirschl
Modified: 2005-09-10 12:04 UTC (History)
3 users (show)

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


Attachments
complete config.log (config.log,129.71 KB, text/plain)
2005-07-13 14:38 UTC, Heinrich Nirschl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Heinrich Nirschl 2005-07-12 23:56:08 UTC
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
Comment 1 Heinrich Nirschl 2005-07-13 00:09:18 UTC
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)
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2005-07-13 02:43:21 UTC
Reopening the original bug.

*** This bug has been marked as a duplicate of 65693 ***
Comment 3 Heinrich Nirschl 2005-07-13 09:46:47 UTC
Reopened as requested in Bug 65693 comment #33
Comment 4 Heinrich Nirschl 2005-07-13 09:52:38 UTC
Sorry, the correct reference is Bug 65693 comment #36
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-07-13 14:24:17 UTC
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.
Comment 6 Heinrich Nirschl 2005-07-13 14:38:29 UTC
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.
Comment 7 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-07-13 14:48:59 UTC
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)

Comment 8 Heinrich Nirschl 2005-07-13 22:29:00 UTC
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
Comment 9 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-07-13 22:33:23 UTC
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.
Comment 10 Heinrich Nirschl 2005-07-13 23:51:10 UTC
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.
Comment 11 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2005-07-14 00:15:23 UTC
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.
Comment 12 Sebastian Bergmann (RETIRED) gentoo-dev 2005-07-14 00:18:03 UTC
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.
Comment 13 Heinrich Nirschl 2005-07-14 01:06:11 UTC
"USE=java emerge php" works on my box as well. Its just "USE=java emerge
php-cgi" that doesn't.
Comment 14 Sebastian Bergmann (RETIRED) gentoo-dev 2005-07-14 01:35:37 UTC
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.
Comment 15 Torsten Krah 2005-07-15 06:02:56 UTC
This bug only appears if using suns jdk - using blackdowns one, this failure
doesnt appear, perhaps this helps.

best regards
Comment 16 Jason Wever (RETIRED) gentoo-dev 2005-08-15 21:24:43 UTC
Our issue with sablotron not being detected in bug #65693 has not gone away yet.
Comment 17 Josh Grebe (RETIRED) gentoo-dev 2005-08-16 16:01:01 UTC
This bug has nothing to do with Sparc, removing CC.
Comment 18 Luca Longinotti (RETIRED) gentoo-dev 2005-08-25 13:11:39 UTC
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.
Comment 19 Luca Longinotti (RETIRED) gentoo-dev 2005-08-26 03:31:09 UTC
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.
Comment 20 Jakub Moc (RETIRED) gentoo-dev 2005-08-26 03:33:03 UTC
java guys, you baby is brokey... ;) Re-assigned.
Comment 21 Thomas Matthijs (RETIRED) gentoo-dev 2005-09-10 12:04:29 UTC

*** This bug has been marked as a duplicate of 23579 ***