Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 206517

Summary: kde-base/{krunner,systemsettings}--4.0.0 fail to compile if qt is compiled with USE="-opengl"
Product: Gentoo Linux Reporter: smrspam88
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: RESOLVED FIXED    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description smrspam88 2008-01-18 11:14:43 UTC
krunners error:

[ 83%] Building C object krunner/CMakeFiles/kdeinit_krunner.dir/xautolock_engine.o
[ 85%] Building CXX object krunner/CMakeFiles/kdeinit_krunner.dir/kscreensaversettings.o
CMakeFiles/krunner_lock.dir/lockprocess.o: In function `LockProcess::createSaverWindow()':
lockprocess.cc:(.text+0x8e5): undefined reference to `glXChooseVisual'
collect2: ld returned 1 exit status
make[2]: *** [krunner/lock/krunner_lock] Error 1
make[1]: *** [krunner/lock/CMakeFiles/krunner_lock.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....


systemsettings:
Linking CXX shared module ../../lib/kcm_screensaver.so
[ 68%] Building CXX object kcontrol/kthememanager/CMakeFiles/kcm_kthememanager.dir/kthememanager.o
[ 69%] Building CXX object kcontrol/hardware/joystick/CMakeFiles/kcm_joystick.dir/poswidget.o
CMakeFiles/kcm_screensaver.dir/kswidget.o: In function `KSWidget::KSWidget(QWidget*, QFlags<Qt::WindowType>)':
kswidget.cpp:(.text+0x292): undefined reference to `glXChooseVisual'
CMakeFiles/kcm_screensaver.dir/kswidget.o: In function `KSWidget::KSWidget(QWidget*, QFlags<Qt::WindowType>)':
kswidget.cpp:(.text+0x596): undefined reference to `glXChooseVisual'


There are possibly others involved. The culprit might be the line 

check_library_exists(GL glXChooseVisual "" HAVE_GLXCHOOSEVISUAL) 

in work/systemsettings-4.0.0/kcontrol/screensaver/CMakeLists.txt (in the case of systemsettings), which is executed even if systemsettings are built with USE="-opengl".

Not sure, but I think the comment # FIXME: is have_openglxvisual found without screensaver is about this.

Possible solution would be to manually comment out this line...

P.S.: there is a little typo in systemsettings-4.0.0.ebuild. it should be $(cmake-utils_use_with ieee1394 RAW1394) instead of $(cmake-utils_usr_with ieee1394 RAW1394)

Reproducible: Always

Steps to Reproduce:
1.USE="-opengl" emerge qt
2.emerge krunner systemsettings
3.

Actual Results:  
build fails
Comment 1 Bo Ørsted Andresen (RETIRED) gentoo-dev 2008-01-27 15:40:13 UTC
(In reply to comment #0)
> There are possibly others involved. The culprit might be the line 
> 
> check_library_exists(GL glXChooseVisual "" HAVE_GLXCHOOSEVISUAL) 

Correct.

> P.S.: there is a little typo in systemsettings-4.0.0.ebuild. it should be
> $(cmake-utils_use_with ieee1394 RAW1394) instead of $(cmake-utils_usr_with
> ieee1394 RAW1394)

Yes. Should all be fixed in cvs now. Thanks for the report.