Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 25642 - qt-3.2.0 does not compile due to relocation errors in uic
Summary: qt-3.2.0 does not compile due to relocation errors in uic
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2003-07-31 08:51 UTC by Andreas Pokorny
Modified: 2003-09-16 05:54 UTC (History)
0 users

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


Attachments
modified qt-3.2.0 ebuild (qt-3.2.0.ebuild,4.38 KB, text/plain)
2003-07-31 08:52 UTC, Andreas Pokorny
Details
modified qt-3.2.0 ebuild (qt-3.2.0.ebuild,4.38 KB, text/plain)
2003-07-31 08:53 UTC, Andreas Pokorny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Pokorny 2003-07-31 08:51:34 UTC
I wanted to test my application with the new qt libraries so I tried to install 
qt-3.2.0. 
According to trolltech qt-3.2 should be backwards compatible to qt3.1, so I 
removed the kdelibs-3.2 block. Then I changed the defintion of ${S}.
Then during the compilation of designer relocation erros occured. It only 
occured in the calls to uic, where it has to create the .cpp files. The headers 
have been created without errors.
...
g++ -c -pipe -I/usr/include/mysql -I/usr/include/postgresql/server 
-fno-exceptions -fPIC -Wall -W -O2 -D_REENTRANT  -DDESIGNER -DQT_INTERNAL_XML 
-DQT_INTERNAL_WORKSPACE -DQT_INTERNAL_ICONVIEW -DQT_INTERNAL_TABLE 
-DQT_TABLET_SUPPORT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED 
-I/var/tmp/portage/qt-3.2.0/work/qt-x11-free-3.2.0/mkspecs/linux-g++ -I. 
-I/usr/include/freetype2 -I../shared -I../uilib -I../../../include 
-I/usr/X11R6/include -I.moc/release-shared-mt/ -o ./tableeditorimpl.o 
tableeditorimpl.cpp
/var/tmp/portage/qt-3.2.0/work/qt-x11-free-3.2.0/bin/uic -L 
/var/tmp/portage/qt-3.2.0/work/qt-x11-free-3.2.0/plugins listboxeditor.ui -i 
listboxeditor.h -o listboxeditor.cpp
/var/tmp/portage/qt-3.2.0/work/qt-x11-free-3.2.0/bin/uic: relocation error: 
/var/tmp/portage/qt-3.2.0/work/qt-x11-free-3.2.0/bin/uic: undefined symbol: 
_ZNK7QString3argExii
make[2]: *** [listboxeditor.cpp] Error 127
make[2]: Leaving directory `/var/tmp/portage/qt-3.2.0/work/qt-x11-free-3.2.
0/tools/designer/designer'
Comment 1 Andreas Pokorny 2003-07-31 08:52:54 UTC
Created attachment 15287 [details]
modified qt-3.2.0 ebuild
Comment 2 Andreas Pokorny 2003-07-31 08:53:07 UTC
Created attachment 15288 [details]
modified qt-3.2.0 ebuild
Comment 3 Andreas Pokorny 2003-07-31 09:06:34 UTC
Portage 2.0.48-r7 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.21-ac4 i686 mobile AMD Athlon(tm) 4 2400+
GENTOO_MIRRORS="http://gentoo.linux.no  http://www.ibiblio.org/pub/Linux/distributions/gentoo http://gentoo.oregonstate.edu/"
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/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/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=""
USE="x86 oss 3dnow apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mmx mpeg ncurses pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gdbm berkdb slang readline arts tetex svga tcltk mysql postgres sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis qt motif opengl X gtk kde -gnome alsa -nls -java"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -msse -mmmx -m3dnow -mcpu=athlon-xp -O3 -fomit-frame-pointer -pipe"
CXXFLAGS="-march=athlon-xp -msse -mmmx -m3dnow -mcpu=athlon-xp -O3 -fomit-frame-pointer -pipe"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox ccache userpriv usersandbox"

i initiated the ebuild with 
 USE="mysql postgre gif cjk -java" emerge -u qt
Comment 4 Caleb Tennis (RETIRED) gentoo-dev 2003-07-31 18:26:13 UTC
My guess is this happens because the uic from your 3.2.0 build is finding the older 3.1 qt 
libraries.   
 
Can you try to move the old qt libraries out of the way first before emerging and verify that 
this is happening? 
Comment 5 Jesse 2003-08-14 09:16:33 UTC
Any updates to this?  I'm getting the exact same problem and 3.2 is now required to compile the main modules of kde.  If I try the normal ebuild in portage it gives me an error saying that kdelibs-3.2 blocks it?  I hope that gentoo would allow the building of qt3.2 before KDE is at 3.2 ....

Might try building from normal sources tonight following the ebuild as closely as possible
Comment 6 Caleb Tennis (RETIRED) gentoo-dev 2003-08-14 10:03:08 UTC
Did you move the old qt (specficially libqt) out of the way first?  I'm pretty sure that the uic 
that you're compiling with 3.2 is picking up the old libqt.so. 
 
Also, AFAIK, kde 3.1.x won't compile yet with qt 3.2.  The last time I tried it failed on 
running "configure" and specifically said to downgrade.  If you're just running kde-cvs, then it 
shouldn't be a problem. 
Comment 7 Jesse 2003-08-14 22:37:41 UTC
Yeah, that apparently did the trick.  Actually at first it didn't.  I moved /usr/qt/3 to /
usr/qt/3-backup and then started the compile over again.  But yet it still stopped 
because it wanted libqt-mt.so.3.  Well it wasn't there obviously so I set my 
LD_LIBRARY_PATH to the /tmp/portage/.../work/.../lib directory and it finally 
compiled.  So I guess for some reason I needed LD_LIBRARY_PATH and also I 
got some sandbox violations but they went away when I kept issuing the compile 
ebuild command. 
Comment 8 Remy Nicolas 2003-08-20 04:52:41 UTC
I've got exactly the same problem of uic relocation errors (since months) when compiling kdelibs from the last cvs ebuild "pack" (Dan Armak set of cvs ebuilds). I tried to move /usr/qt/3 to /usr/qt-backup. Qt still compile fine and kdelibs still doesn't compile...

Thx in advance and sorry for my english ;)
Comment 9 Caleb Tennis (RETIRED) gentoo-dev 2003-08-27 20:26:46 UTC
Please try out the 3.2.1 ebuild I just commited and see if it fixes these problems. 
 
Comment 10 Matthew T. Karlsson 2003-08-28 12:59:25 UTC
I tested that 3.2.1 ebuild and it still fails looking for libqt-mt.so.3 

(error while loading shared libraries: libqt-mt.so.3: cannot open shared object file: No such file or directory)

How does this "LD_LIBRARY_PATH" workaround work?
Comment 11 Caleb Tennis (RETIRED) gentoo-dev 2003-08-28 13:01:44 UTC
Well my thought was that the uic is picking up the older version of libqt-mt.so somehow, so 
using the LD_LIBRARY_PATH trick would override any installed qt version with the one that is 
currently being compiled. 
 
I'm working now to figure out a way around this scenario. 
Comment 12 Matthew T. Karlsson 2003-08-28 13:10:37 UTC
I think I may have figured it out, but I dont know enough about ebuilds to figure it out for sure.

In order to get the 3.2.1 ebuild to compile I had to edit the "S=${WORKDIR}/${PV}" line to read "S=${WORKDIR}/qt-x11-free-${PV}"  Maybe the compiler is looking for the library in /var/tmp/portage/qt-3.2.1/work/3.2.1/lib/ instead of the correct /var/tmp/portage/qt-3.2.1/work/qt-x11-free-3.2.1/lib/   Could this be it?



Comment 13 Caleb Tennis (RETIRED) gentoo-dev 2003-08-28 13:14:27 UTC
That will fix some problems, but not all. 
 
I've already committed that fix to the 3.2.1 portage a few hours ago. 
 
:) 
Comment 14 Arve Knudsen 2003-09-16 05:02:36 UTC
Caleb: Methinks there's a bug in your ebuild. You set the LD_LIBRARY_PATH to ${WORKDIR}/lib, try ${S}/lib instead. Was finally able to merge on my machine.
Comment 15 Caleb Tennis (RETIRED) gentoo-dev 2003-09-16 05:54:54 UTC
Yep, you are most correct.  I think this bug may actually big fixed (in 3.2.1)