Bug 75310

Summary: kdebindings: qtjava compile error: undefined reference to `operator!=(QGLFormat const&, QGLFormat const&)'
Product: [Unmaintained] bindings Reporter: info
Component: generalAssignee: kde-bindings
Status: RESOLVED WORKSFORME    
Severity: normal CC: andrew.crouthamel, eb
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description info 2004-02-15 21:37:11 UTC
Version:           3.1.95 (3.2-rc1) (using KDE KDE 3.2.0)
Installed from:    Compiled From Sources
Compiler:          gcc 3.2 (g++) 
OS:          Linux

I did compile KDE 3.1.95 (3.2 Release Candidate 1) with konstruct-20040119. All packages in the kde subdirectories and the applications KDevelop and Quanta compiled without problems. Only the kdebindings compiled with an error in the 'qtjava' directory: The operator==() for two QGLFormat objects could not be resolved. QT Version: 3.3.0 (But kde was compiled without defined HAVE_QT_3_2_INSTALLED in "gar.conf.mk", because of compile errors in another package). gcc (g++) version: 3.2. linux version: 2.4.21. compiler output:

make[5]: Leaving directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95/qtjava/javalib/docs'
Making all in qtjava
make[5]: Entering directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95/qtjava/javalib/qtjava'
/bin/sh ../../../libtool --silent --mode=link --tag=CXX g++  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -I/usr/opt/kde3.2-rc/include -I/usr/X11R6/include -L/usr/opt/kde3.2-rc/lib -L/usr/X11R6/lib -O2 -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common    -o libqtjava.la -rpath /usr/opt/kde3.2-rc/lib -L/usr/X11R6/lib -L/usr/opt/kde3.2-rc/lib  -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -version-info 1:0:0 libqtjava_la.all_cpp.lo  -lqt-mt  -lz -lpng -lz -lm -lXext -lX11  -lSM -lICE -lpthread
.libs/libqtjava_la.all_cpp.o: In function `Java_org_kde_qt_Qt_op_1equals__Lorg_kde_qt_QGLFormat_2Lorg_kde_qt_QGLFormat_2':
.libs/libqtjava_la.all_cpp.o(.text+0x41836): undefined reference to `operator==(QGLFormat const&, QGLFormat const&)'
.libs/libqtjava_la.all_cpp.o: In function `Java_org_kde_qt_Qt_op_1not_1equals__Lorg_kde_qt_QGLFormat_2Lorg_kde_qt_QGLFormat_2':
.libs/libqtjava_la.all_cpp.o(.text+0x41f76): undefined reference to `operator!=(QGLFormat const&, QGLFormat const&)'
collect2: ld returned 1 exit status
make[5]: *** [libqtjava.la] Error 1
make[5]: Leaving directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95/qtjava/javalib/qtjava'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95/qtjava/javalib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95/qtjava'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/tmp/konstruct/kde/kdebindings/work/kdebindings-3.1.95'
make: *** [build-work/kdebindings-3.1.95/Makefile] Error 2
Comment 1 info 2004-02-15 22:13:55 UTC
I did mean operator!=() and not operator==().
Comment 2 info 2004-02-16 00:34:21 UTC
A fix: kdebindings/work/kdebindings-3.1.95/qtjava/javalib/qtjava/cp Qt.cpp at line 530: I changed ::operator!=() to !::operator==()

Now another error:

In file included from Qt.cpp:2,
                 from libqtjava_la.all_cpp.cpp:76:
/usr/opt/kde3.2-rc/include/qnetwork.h: At global scope:
/usr/opt/kde3.2-rc/include/qnetwork.h:53: parse error before `void'
In file included from libqtjava_la.all_cpp.cpp:76:
Qt.cpp: In function `void Java_org_kde_qt_Qt_qInitNetworkProtocols(JNIEnv*,
   _jclass*)':
Qt.cpp:1459: `::qInitNetworkProtocols' undeclared (first use here)
In file included from libqtjava_la.all_cpp.cpp:131:
QPopupMenu.cpp: In function `jint
   Java_org_kde_qt_QPopupMenu_insertItem__Lorg_kde_qt_QIconSet_2Ljava_lang_String_2Lorg_kde_qt_QObject_2Ljava_lang_String_2(JNIEnv*,
   _jobject*, _jobject*, _jstring*, _jobject*, _jstring*)':
Comment 3 Enric Martinez 2005-11-19 23:30:01 UTC
Still happening, from version 3.4.1 to version 3.4.3.
It's not serious to compilke KDE, but it is blocking in Gentoo if you want to install kde-meta or even if you need kdebindings-meta.
The bug is still the same. 

I already posterd it to the gentoo bugzlla.

http://bugs.gentoo.org/show_bug.cgi?id=107646

Nota that I removed ALL flags to recompile and that I'm now compiling with only

CFLAGS="-O2 -march=athlon-xp -fomit-framepointer"

the bug happens with and without Distcc. 

So you can safely change the status to anything else than "UNCONFIRMED". For now I will try to simply get rid of Qtjava or kdebindings-meta as the only solution.
Comment 4 Rex Dieter 2005-11-21 15:23:39 UTC
WORKSFORME, RedHat Enterprise 3,4, Fedora Core 3,4.  

I built with --disable-final, though (haven't been able to get --enable-final to work).
Comment 5 tijnema 2007-02-19 17:07:01 UTC
I tried to compile KDE-3.5.5, and i got same error.
But i have found a way to fix.
I just manually compiled QGL.cpp in the qtjava/javalib/qtjava directory, and then added QGL.lo and linked it.
now it works fine
Comment 6 Richard Dale 2007-02-19 19:40:14 UTC
SVN commit 635295 by rdale:

* The QGL* classes were not being built by default, as a few years ago
  KDE didn't use OpenGL by default. So enable them by default now 3D
  is pretty standard.

CCBUGS: 75310



 M  +6 -0      ChangeLog  
 M  +2 -2      javalib/qtjava/Makefile.am  
Comment 7 Andrew Crouthamel 2018-11-02 04:16:53 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Elmar Baumann 2018-11-02 20:23:21 UTC
(In reply to Andrew Crouthamel from comment #7)
> This bug has been stagnant for a long time. Could you help us out and
> re-test if the bug is valid in the latest version? I am setting the status
> to NEEDSINFO pending your response, please change the Status back to
> REPORTED when you respond.

This bug is older than 14 years and has no longer any relevance to me. Today I'm using a "ready to go" KDE from a distribution rather than building it on my computer. I think, it isn't worth the time to build a KDE 3.x e.g. in a virtual machine. If anybody needs to do that, he/she can use the fix described in comment 2.
Comment 9 Andrew Crouthamel 2018-11-02 22:26:40 UTC
Thanks for the update!