Bug 122182 - make xconfig under KDE : ld can't find -lqt
make xconfig under KDE : ld can't find -lqt
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
x86_64 Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Jones
Brian Brock
Depends On:
  Show dependency treegraph
Reported: 2004-05-01 12:32 EDT by David Bennion
Modified: 2015-01-04 17:05 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-04-16 01:38:36 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description David Bennion 2004-05-01 12:32:10 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.6)

Description of problem:
The 2.6 kernels graphical xconfig running under KDE relies on 
libqt, which it cannot find:

[root@localhost linux-2.6.5-1.327]# make xconfig
  HOSTLD  scripts/kconfig/qconf
/usr/bin/ld: cannot find -lqt
collect2: ld returned 1 exit status
make[1]: *** [scripts/kconfig/qconf] Error 1
make: *** [xconfig] Error 2

However, KDE is installed and active -- obviously qt is installed and
functional.  So we suspect the library path:

include ld.so.conf.d/*.conf

Taking a peek at the qt libs. 
ls /usr/lib64/qt-3.3/lib:
[davidb@localhost linux-2.6.5-1.327]$ ls /usr/lib64/qt-3.3/lib
libdesignercore.a        libqt-mt.prl       libqui.so
libdesignercore.prl      libqt-mt.so        libqui.so.1
libeditor.a              libqt-mt.so.3      libqui.so.1.0
libeditor.prl            libqt-mt.so.3.3    libqui.so.1.0.0
libqassistantclient.a    libqt-mt.so.3.3.1  pkgconfig
libqassistantclient.prl  libqui.prl

Ah hah!  It looks like there is no more libqt ??  has it been changed
to libqt-mt ?

Now make xconfig will fail when trying to config under KDE.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. login under KDE (may have to be on an AMD64 machine?)
2. cd /usr/src/linux-2.6.5-1.327
3. make xconfig

Actual Results:  [root@localhost linux-2.6.5-1.327]# make xconfig
  HOSTLD  scripts/kconfig/qconf
/usr/bin/ld: cannot find -lqt
collect2: ld returned 1 exit status
make[1]: *** [scripts/kconfig/qconf] Error 1
make: *** [xconfig] Error 2

Expected Results:  A graphical screen pops up and lets me configure
the kernel.

Additional info:
Comment 1 Arjan van de Ven 2004-05-01 12:42:30 EDT
it's qt-devel's job to provide this library...
Comment 2 David Bennion 2004-05-01 14:15:07 EDT
Just to make this clear:

[root@localhost davidb]# rpm -qa | grep qt-devel
Comment 3 Alan Cox 2004-05-02 17:52:22 EDT
Kernel needs qt-mt nowdays I believe
Comment 4 David Bennion 2004-05-03 09:50:12 EDT
Do I need an updated kernel??
Comment 5 Ngo Than 2004-05-03 12:02:18 EDT
it looks like the QTDIR enviroment is not setting! If you do export
QTDIR=/usr/lib64/qt-3.3 before, it should work fine for you

Arjan, could you please add this small patch in kernel. It should fix
the lib64 path problem!

--- kconfig/Makefile.orig       2004-05-03 17:58:31.828557363 +0200
+++ kconfig/Makefile    2004-05-03 18:01:31.551019714 +0200
@@ -118,7 +118,7 @@

 # QT needs some extra effort...
-       @set -e; for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \
+       @set -e; for d in $$QTDIR /usr/share/qt* /usr/lib/qt*
/usr/lib64/qt* ; do \
          if [ -f $$d/include/qconfig.h ]; then DIR=$$d; break; fi; \
        done; \
        if [ -z "$$DIR" ]; then \
Comment 6 Arjan van de Ven 2004-05-03 12:07:46 EDT
ok put in for the next build
Comment 7 David Bennion 2004-05-20 03:20:36 EDT
I tried this after installing the FC2 release (fresh install) and it
still did not work.  Same error, actually.  

I did go into the kconfig/Makefile and verify that the changes from
the above patch were there.  

Comment 8 Dean Kolosiek 2004-09-15 02:19:28 EDT
I hit this problem too.

make xconfig generates the file:


which contains


but the QTLIBPATH is does not match the qt library directory. The qt
directory is /usr/lib64/qt-3.3/lib

The extra ../lib64 comes from ($(HOSTCXX) -print-multi-os-directory),
a few lines below the above patch.

LIBPATH=$$DIR/lib; LIB=qt; \
$(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
LIBPATH=$$DIR/lib/$$($(HOSTCXX) -print-multi-os-directory); \

I hardcoded the paths by appending this line after the above:

LIBPATH=$$DIR/lib; LIB=qt-mt; \

I don't know what -print-multi-os-directory does, it's not on the man
page. I don't know what the correct fix would be.

Then I did a make mrproper and make xconfig, and it proceeded to the
next errors/warnings, which I don't know whether they're expected:

  HOSTLD  scripts/kconfig/qconf
scripts/kconfig/qconf arch/x86_64/Kconfig
Session management error: Authentication Rejected, reason : None of
the authentication protocols specified are supported and host-based
authentication failed
# using defaults found in /boot/config-2.6.5-1.358smp
/boot/config-2.6.5-1.358smp:218: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:284: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:302: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:378: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:710: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:720: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:728: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:1540: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:1947: trying to assign nonexistent symbol
/boot/config-2.6.5-1.358smp:1965: trying to assign nonexistent symbol

and then a graphical screen pops up. That's as far as I got.
Comment 9 Mace Moneta 2004-12-10 12:38:31 EST
The latest (2.6.9-1.6_FC2) kernel still has this build problem.  In
case anyone still has this problem, I found this patch against
scripts/kconfig/Makefile that worked for me:

--- Makefile.orig 2004-09-18 21:32:20.021088968 -0500
+++ Makefile 2004-09-18 21:32:45.314243824 -0500
@@ -124,8 +124,6 @@
false; \
fi; \
LIBPATH=$$DIR/lib; LIB=qt; \
- $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
- LIBPATH=$$DIR/lib/$$($(HOSTCXX) -print-multi-os-directory); \
if [ -f $$LIBPATH/libqt-mt.so ]; then LIB=qt-mt; fi; \
echo "QTDIR=$$DIR" > $@; echo "QTLIBPATH=$$LIBPATH" >> $@; \
echo "QTLIB=$$LIB" >> $@; \

You also need to:

rm scripts/kconfig/.tmp_qtcheck

The patch was posted in this forum entry:

Comment 10 Dave Jones 2005-04-16 01:38:36 EDT
Fedora Core 2 has now reached end of life, and no further updates will be
provided by Red Hat.  The Fedora legacy project will be producing further kernel
updates for security problems only.

If this bug has not been fixed in the latest Fedora Core 2 update kernel, please
try to reproduce it under Fedora Core 3, and reopen if necessary, changing the
product version accordingly.

Thank you.

Note You need to log in before you can comment on or make changes to this bug.