Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 41557 - KDE should use elibtoolize
Summary: KDE should use elibtoolize
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-14 06:56 UTC by Martin Schlemmer (RETIRED)
Modified: 2004-02-19 06:06 UTC (History)
1 user (show)

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


Attachments
libqt-mt.la (libqt-mt.la,864 bytes, text/plain)
2004-02-14 06:57 UTC, Martin Schlemmer (RETIRED)
Details
kde_eclass-use-elibtoolize.patch (kde_eclass-use-elibtoolize.patch,864 bytes, patch)
2004-02-14 06:58 UTC, Martin Schlemmer (RETIRED)
Details | Diff
libqtmcop.la (libqtmcop.la,1.43 KB, text/plain)
2004-02-14 07:05 UTC, Martin Schlemmer (RETIRED)
Details
qt-use-elibtoolize.patch (qt-use-elibtoolize.patch,803 bytes, patch)
2004-02-14 07:06 UTC, Martin Schlemmer (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Schlemmer (RETIRED) gentoo-dev 2004-02-14 06:56:36 UTC
What topic says - it should run elibtoolize to make sure libtool linker scripts
are free of $S and $D.
Comment 1 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-14 06:57:19 UTC
Created attachment 25591 [details]
libqt-mt.la

Reason for this - see $D in 'libdir'.
Comment 2 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-14 06:58:03 UTC
Created attachment 25592 [details, diff]
kde_eclass-use-elibtoolize.patch

Patch to enable this.  I am not too familiar with KDE eclasses, so could have
missed something.
Comment 3 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-14 07:05:15 UTC
Created attachment 25593 [details]
libqtmcop.la

Better example, as I see my old one was from qt.
Comment 4 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-14 07:06:01 UTC
Created attachment 25594 [details, diff]
qt-use-elibtoolize.patch

Here is a patch also for QT (3.3.0) to enable this.
Comment 5 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-14 09:06:00 UTC
Actually below fixes the libqt-mt.la's libdir ... anybody got any idea's as
to why it was done?

--
Index: qt-3.3.0.ebuild
===================================================================
RCS file: /home/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.0.ebuild,v
retrieving revision 1.16
diff -u -r1.16 qt-3.3.0.ebuild
--- qt-3.3.0.ebuild     13 Feb 2004 13:05:15 -0000      1.16
+++ qt-3.3.0.ebuild     14 Feb 2004 17:01:01 -0000
@@ -79,7 +79,7 @@
        ./configure -sm -thread -stl -system-libjpeg -verbose -largefile \
                -qt-imgfmt-{jpeg,mng,png} -tablet -system-libmng \
                -system-libpng -lpthread -xft -platform ${PLATFORM} -xplatform \
-               ${PLATFORM} -xrender -prefix ${D}${QTBASE} -plugindir ${QTBASE}/plugins \
+               ${PLATFORM} -xrender -prefix ${QTBASE} -plugindir ${QTBASE}/plugins \
                -docdir ${QTBASE}/doc -translationdir ${QTBASE}/translations \
                -datadir ${QTBASE} -sysconfdir ${QTBASE}/etc/settings -fast ${myconf} || die
 #              -libdir ${QTBASE}/lib -headerdir ${QTBASE}/include \
Comment 6 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-15 00:20:36 UTC
Comment on attachment 25594 [details, diff]
qt-use-elibtoolize.patch

Not needed anymore after looking at it closer.
Comment 7 Caleb Tennis (RETIRED) gentoo-dev 2004-02-15 16:39:16 UTC
The reason we do it with the prefix set to $D$QTBASE is because if it's just set to QTBASE, Qt will attempt to build and link against the already installed Qt and not the currently installing Qt.  Setting the prefix as such would be much easier, but I don't know anyway to trick Qt into thinking it's already installed in $QTBASE.
Comment 8 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-16 11:04:18 UTC
Well, then we need to sed the .la file.  Didn't you get any new bugs yet
about failsing with this installed?  k3b for instance did not build.
(although I did see you reverted it).  Here is a possible patch (not tested)
against qt-3.3.0.ebuild:

--
Index: qt-3.3.0.ebuild
===================================================================
RCS file: /home/cvsroot/gentoo-x86/x11-libs/qt/qt-3.3.0.ebuild,v
retrieving revision 1.17
diff -u -r1.17 qt-3.3.0.ebuild
--- qt-3.3.0.ebuild     14 Feb 2004 15:44:00 -0000      1.17
+++ qt-3.3.0.ebuild     16 Feb 2004 19:01:52 -0000
@@ -103,6 +103,9 @@
  
        dolib lib/libqt-mt.so.3.3.0 lib/libqui.so.1.0.0
        dolib lib/lib{editor,qassistantclient,designercore}.a lib/libqt-mt.la
+       dosed -e "s:${D}::g" \
+             -e 's://:/:g' \
+                 $QTBASE/lib/libqt-mt.la
  
        cd ${D}/$QTBASE/lib
        for x in libqui.so ; do
--

Although - have you tried to 'export QTDIR="${S}"' during src_compile()
for qt-3.3.0-r1?  It might fix the linking issues, no?

As for the kde.eclass changes, I would really appreciate if we could get
it in ...
Comment 9 Caleb Tennis (RETIRED) gentoo-dev 2004-02-16 11:08:22 UTC
i've reverted the behavior back to -prefix $QTBASE.  This will fix all of the problems.

If/when the link problems re-occur, I will investigate more closely a way around them.  In the meantime, this is the best way to handle it.
Comment 10 Martin Schlemmer (RETIRED) gentoo-dev 2004-02-16 13:12:17 UTC
Above should also fix all problems, with future link problems ...

What about the eclass changes?
Comment 11 Caleb Tennis (RETIRED) gentoo-dev 2004-02-16 13:15:55 UTC
I'll put in the eclass change as something that will hopefully catch any problems in the future, though it shouldn't creep up.

It won't fix the linking problem with QT though.  The problem is that during the build, when Qt uses the "uic" program, sometimes it dynamically links against the already installed Qt library instead of the currently installing Qt library.  This can obviously create problems.  The workaround is to pass different parameters to the configure script telling it where to use things, but then these parameters get saved (inside of the binaries) and then programs like qmake want to save config files into /var/tmp/portage...

Don't worry though, it will get sorted out.
Comment 12 Caleb Tennis (RETIRED) gentoo-dev 2004-02-19 06:06:39 UTC
the above should now be fixed.  I added a LD_PRELOAD to the Qt ebuild so that it forces the currently compiling Qt to use the currently compiled Qt library and not anything that is already installed on the system.  This allowed me to refert to setting -prefix to $QTBASE instead of $D$QTBASE, which fixes all of the problems.  Hooray!