Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 72767 - kde-base/qtjava-3.3.1 build failed
Summary: kde-base/qtjava-3.3.1 build failed
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-28 14:56 UTC by John Gluck
Modified: 2005-01-22 15:32 UTC (History)
0 users

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


Attachments
emerge log file (2755-qtjava-3.3.1.log,10.36 KB, text/plain)
2004-11-28 23:11 UTC, John Gluck
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John Gluck 2004-11-28 14:56:36 UTC
/opt/blackdown-jdk-1.4.1/bin/jar cf qtjava.jar org/kde/qt/*.class
/bin/sh ../../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fomit-frame-pointer -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common    -o javalib -L/usr/X11R6/lib -L/usr/qt/3/lib -L/usr/kde/3.3/lib   main.o ./qtjava/libqtjava.la -lqt-mt -lXext -lX11
/usr/lib/gcc/i686-pc-linux-gnu/3.4.3/../../../../i686-pc-linux-gnu/bin/ld: warning: libstdc++.so.5, needed by /usr/qt/3/lib/libqt-mt.so, may conflict with libstdc++.so.6
./qtjava/.libs/libqtjava.so: undefined reference to `operator!=(QGLFormat const&, QGLFormat const&)'
./qtjava/.libs/libqtjava.so: undefined reference to `operator==(QGLFormat const&, QGLFormat const&)'
collect2: ld returned 1 exit status
make[4]: *** [javalib] Error 1
make[4]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1/qtjava/javalib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1/qtjava/javalib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1/qtjava'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1'
make: *** [all] Error 2

!!! ERROR: kde-base/qtjava-3.3.1 failed.
!!! Function kde_src_compile, Line 142, Exitcode 2
!!! died running emake, kde_src_compile:make


Reproducible: Always
Steps to Reproduce:
1. emerge qtjava
2.
3.

Actual Results:  
Build failed...
It looked like there was a problem with Qt. 

Note:
/qtjava/.libs/libqtjava.so: undefined reference to `operator!=(QGLFormat const&,
QGLFormat const&)'
./qtjava/.libs/libqtjava.so: undefined reference to `operator==(QGLFormat
const&, QGLFormat const&)'

Since I had qt-3.3.3 installed, and there was an update to r1, I tried to emerge
that. Unfortunately, the emerge of qt failed too. (I put in a separate bug
report for that)

Expected Results:  
Build would work.


Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r1,
2.6.9-gentoo-r4 i686)
=================================================================
System uname: 2.6.9-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.4.16
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown
/usr/kde/3/share/config /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/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache digest distlocks keepwork sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.binarycompass.org ftp://mirror.nutsmaas.nl/gentoo/
http://gentoo.math.bme.hu http://gentoo.mirror.sdv.fr
ftp://gentoo.osuosl.org/.1/gentoo http://gentoo.osuosl.org"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt cscope cups encode
esd f77 fam flac foomaticdb fortran gdbm gif gnome gphoto2 gpm gstreamer gtk
gtk2 gtkhtml guile imagemagick imlib jack java jpeg junit kde libg++ libwww mad
mikmod motif mozilla mpeg mysql nas ncurses nls nptl oggvorbis opengl oss pam
pdflib perl png python qt quicktime readline samba scanner sdl slang speex spell
ssl svga tcltk tcpd tetex tiff truetype x86 xml xml2 xmms xv zlib"
Comment 1 Simone Gotti (RETIRED) gentoo-dev 2004-11-28 15:25:41 UTC
I can't reproduce it.

But this warning:
warning: libstdc++.so.5, needed by /usr/qt/3/lib/libqt-mt.so, may conflict with libstdc++.so.6

tells that you are mixing libstdc++.so.5 (gcc 3.3) with libstdc++.so.6 (gcc 3.4) this will bring some problems (compilation problems but also strange crashes). 
You can try rebuilding qt to look if this fixes the things.

A better future solution is to rebuild every C++ program compiled with the old gcc. I've written something (in italian but the commands are clear) here:
http://forums.gentoo.org/viewtopic.php?t=242168
Comment 2 John Gluck 2004-11-28 16:09:40 UTC
I treid rebuilding qt. Actually, the version is now r1. That failed too... I put in a seaparate bug report for that.

I just switched back to the old compiler (3.3) and I'm trying it again. If it works, I'll close the bug. If not then I'll post the results.

Comment 3 John Gluck 2004-11-28 16:34:18 UTC
OK, I tried it again. It still fails but the compliant about libstdc++.so.6 is gone.

It still looks like a Qt thing taht happens at the link phase for libqtjava.  Note that there are undefined operators operator!=(QGLFormat const&, QGLFormat const&), and operator==(QGLFormat const&, QGLFormat const&) See below:

/bin/sh ../../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -fomit-frame-pointer -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common    -o javalib -L/usr/X11R6/lib -L/usr/qt/3/lib -L/usr/kde/3.3/lib   main.o ./qtjava/libqtjava.la -lqt-mt -lXext -lX11
./qtjava/.libs/libqtjava.so: undefined reference to `operator!=(QGLFormat const&, QGLFormat const&)'
./qtjava/.libs/libqtjava.so: undefined reference to `operator==(QGLFormat const&, QGLFormat const&)'
collect2: ld returned 1 exit status
make[4]: *** [javalib] Error 1
make[4]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1/qtjava/javalib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1/qtjava/javalib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1/qtjava'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/qtjava-3.3.1/work/qtjava-3.3.1'
make: *** [all] Error 2

Comment 4 Simone Gotti (RETIRED) gentoo-dev 2004-11-28 16:38:57 UTC
Just curious. Do you have the QT compiled with the "opengl" USE flag disabled?
please post the "emerge -pv qt" output.

If this is the case probably this is a bug of the ebuild or of the qtjava bindings.
Comment 5 Simone Gotti (RETIRED) gentoo-dev 2004-11-28 16:40:07 UTC
don't mind. just noticed from your emerge info that "opengl" is enabled.
Comment 6 John Gluck 2004-11-28 16:48:21 UTC
I poked around a bit and found /usr/qt/3/include/qgl.h has the following declarations:

    friend QM_EXPORT_OPENGL bool operator==( const QGLFormat&,
                                             const QGLFormat& );
    friend QM_EXPORT_OPENGL bool operator!=( const QGLFormat&,
                                             const QGLFormat& );

So it would seem that they aren't defined anywhere or there might be some problem in libqt-mt.so.3. I tried doing an nm on it but the symbols are stripped :-(

Comment 7 John Gluck 2004-11-28 23:11:36 UTC
Created attachment 44913 [details]
emerge log file
Comment 8 Simone Gotti (RETIRED) gentoo-dev 2004-11-29 01:58:27 UTC
The latest posted in the log is different. probabably you have rebuilt qt with different use flags from the last time and so you have to recompile also kdelibs.
Comment 9 Caleb Tennis (RETIRED) gentoo-dev 2005-01-22 15:32:42 UTC
Unable to reproduce, please reopen if it persists and you aren't able to get it working after re-emerging the dependency chain as noted above.