Bug 153597

Summary: Qt4 -devel RPMs have weird path
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Karl Pietrzak <kap4020>
Component: BasesystemAssignee: Dirk Mueller <dmueller>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Minor    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: SuSE Linux 10.0   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Karl Pietrzak 2006-02-26 21:11:33 UTC
I'm using SuSE's Qt4 RPMs, and it contains an invalid library path, probably  leftover from building the RPM.

g++ -m64 -o prop main.o   -L/usr/lib64 -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -ldl -lpthread

Note the -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib.  Either Qt4 does something screwy, or the SPEC file does.

# rpm -qi qt-devel
Name        : qt-devel                     Relocations: (not relocatable)
Version     : 4.1.0                             Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release     : 8                             Build Date: Sun 12 Feb 2006 09:47:34 PM EST
Install date: Wed 15 Feb 2006 08:32:43 AM EST      Build Host: bach.suse.de
Group       : Development/Libraries/X11     Source RPM: qt-4.1.0-8.src.rpm
Size        : 36157390                         License: QPL, GPL
Signature   : DSA/SHA1, Sun 12 Feb 2006 09:56:26 PM EST, Key ID a84edae89c800aca
Packager    : http://www.suse.de/feedback
URL         : http://www.trolltech.com
Summary     : Qt Development Kit
Description :
You need this package, if you want to compile programs with Qt. It
contains the "Qt Crossplatform Development Kit". It does contain
include files and development applications like GUI designers,
translator tools and code generators.



Authors:
--------
    Troll Tech AS, Norway
Distribution: SuSE Linux 10.0 (x86-64)
Comment 1 Michael Gross 2006-02-27 10:58:52 UTC
Asking the KDE maintainers for a comment.
Comment 2 Stephan Kulow 2006-02-28 09:44:12 UTC
Qt's build system is historically screwed.

I still see these paths in /usr/lib/libQt*.prl 
Comment 3 Karl Pietrzak 2006-02-28 16:52:24 UTC
(In reply to comment #2)
> Qt's build system is historically screwed.
> 
> I still see these paths in /usr/lib/libQt*.prl 

Ahh, yes, I was wondering where the /usr/src/* paths were coming from.

$ cat /usr/lib64/libQt*.prl | grep '/usr/src'
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/qt3support
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtSql_debug -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtXml_debug -lQtGui_debug -L/usr/X11R6/lib64 -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtNetwork_debug -lQtCore_debug -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/qt3support
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtSql -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtXml -lQtGui -L/usr/X11R6/lib64 -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtNetwork -lQtCore -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/assistant/lib
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtGui_debug -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtNetwork_debug -lQtCore_debug -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/assistant/lib
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtNetwork -lQtCore -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/corelib
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/corelib
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/designer/src/components/lib
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/designer/src/components/lib
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/designer/src/lib
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/designer/src/lib
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/gui
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lQtCore_debug -lpthread -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lm -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/gui
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lQtCore -lpthread -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lm -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/network
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore_debug -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/network
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/opengl
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lGLU -lGL -lQtGui_debug -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore_debug -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/opengl
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lGLU -lGL -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/sql
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore_debug -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/sql
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/svg
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtXml_debug -lQtGui_debug -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lm -lQtCore_debug -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/svg
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtXml -lQtGui -L/usr/lib64 -L/usr/X11R6/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lpng -lSM -lICE -lXi -lXrender -lXrandr -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lm -lQtCore -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/tools/qtestlib/src
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lz -lm -ldl -lpthread
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/xml
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore_debug -lpthread -ldl
QMAKE_PRL_BUILD_DIR = /usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/src/xml
QMAKE_PRL_LIBS = -L/usr/lib64 -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib -lQtCore -lpthread -ldl
$

This issue doesn't affect anything for most people, because ld just ignore those paths if they don't exist (like on my machine).

Also, -L/usr/lib64 comes before -L/usr/src/packages/BUILD/qt-x11-opensource-src-4.1.0/lib so I presume the linker will find everything it needs in /usr/lib64 and won't have to start looking in /usr/src/*.

Shouldn't this bug be re-directed to Trolltech's bug listing?
Comment 4 Dirk Mueller 2006-03-01 16:27:56 UTC
I've added workarounds to the package and submitted a bugreport upstream. 
Comment 5 Dirk Mueller 2006-03-01 16:41:15 UTC
http://www.trolltech.com/developer/tasktracke