From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.6) Gecko/20040312 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: /etc/ld.so.conf: include ld.so.conf.d/*.conf /usr/X11R6/lib /usr/X11R6/lib64 /usr/lib64/qt-3.3/lib 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: Always 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:
it's qt-devel's job to provide this library...
Just to make this clear: [root@localhost davidb]# rpm -qa | grep qt-devel qt-devel-3.3.1-0.8
Kernel needs qt-mt nowdays I believe
Do I need an updated kernel??
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... $(obj)/.tmp_qtcheck: - @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 \
ok put in for the next build
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.
I hit this problem too. make xconfig generates the file: /usr/src/linux-2.6.8-1.521/scripts/kconfig/.tmp_qtcheck which contains QTDIR=/usr/lib64/qt-3.3 QTLIBPATH=/usr/lib64/qt-3.3/lib/../lib64 QTLIB=qt 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 MTD_ICH2ROM /boot/config-2.6.5-1.358smp:284: trying to assign nonexistent symbol BLK_DEV_CARMEL /boot/config-2.6.5-1.358smp:302: trying to assign nonexistent symbol IDEDISK_STROKE /boot/config-2.6.5-1.358smp:378: trying to assign nonexistent symbol SCSI_REPORT_LUNS /boot/config-2.6.5-1.358smp:710: trying to assign nonexistent symbol NET_FASTROUTE /boot/config-2.6.5-1.358smp:720: trying to assign nonexistent symbol NET_SCH_CSZ /boot/config-2.6.5-1.358smp:728: trying to assign nonexistent symbol NET_SCH_DELAY /boot/config-2.6.5-1.358smp:1540: trying to assign nonexistent symbol PCI_CONSOLE /boot/config-2.6.5-1.358smp:1947: trying to assign nonexistent symbol INTERMEZZO_FS /boot/config-2.6.5-1.358smp:1965: trying to assign nonexistent symbol NEC98_PARTITION and then a graphical screen pops up. That's as far as I got.
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: http://www.fedoraforum.org/forum/showpost.php?p=102905&postcount=2
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.