By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 566

Summary: Build issue: kdebase-trinity source package fails to build
Product: TDE Reporter: Laurent Dard <f.couperin>
Component: ubuntuAssignee: Timothy Pearson <kb9vqf>
Status: RESOLVED FIXED    
Severity: normal CC: bugwatch, slavek.banko
Priority: P5    
Version: 3.5.13 [Trinity]   
Hardware: amd64   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:

Description Laurent Dard 2011-10-27 21:02:37 CDT
Version: kdebase-trinity_3.5.13-0ubuntu9+r1260431+pr23~oneiric
(nightly-builds)

I compiled successfully kdelibs.
But:

apt-get source kdelibs-trinity
export DEB_BUILD_OPTIONS="noopt nostrip parallel=1"
cd kdelibs-trinity-3.5.13
dpkg-buildpackage -us -uc

gives:
[ 70%] Building CXX object kdesktop/lock/CMakeFiles/kdesktop_lock.dir/main.cc.o
cd /usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu/kdesktop/lock && /usr/bin/g++   -DHAVE_CONFIG_H -DSMB_CTX_FLAG_USE_KERBEROS -DSMB_CTX_FLAG_FALLBACK_AFTER_KERBEROS -g -Wall  -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -I/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu/kdesktop/lock -I/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu/kdesktop -I/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu -I/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/kdmlib -I/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/kcheckpass -I/opt/trinity/include -I/usr/include/qt3 -I/usr/include/tqt    -o CMakeFiles/kdesktop_lock.dir/main.cc.o -c /usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/kdesktop/lock/main.cc
Linking CXX executable kdesktop_lock
cd /usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu/kdesktop/lock && /usr/bin/cmake -E cmake_link_script CMakeFiles/kdesktop_lock.dir/link.txt --verbose=1
/usr/bin/g++   -DSMB_CTX_FLAG_USE_KERBEROS -DSMB_CTX_FLAG_FALLBACK_AFTER_KERBEROS -g -Wall  -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h   -Wl,-Bsymbolic-functions CMakeFiles/kdesktop_lock.dir/lockprocess.cc.o CMakeFiles/kdesktop_lock.dir/lockdlg.cc.o CMakeFiles/kdesktop_lock.dir/infodlg.cc.o CMakeFiles/kdesktop_lock.dir/querydlg.cc.o CMakeFiles/kdesktop_lock.dir/sakdlg.cc.o CMakeFiles/kdesktop_lock.dir/securedlg.cc.o CMakeFiles/kdesktop_lock.dir/autologout.cc.o CMakeFiles/kdesktop_lock.dir/main.cc.o  -o kdesktop_lock -rdynamic ../libkdesktopsettings.a ../../kdmlib/libdmctl.a /opt/trinity/lib/libkio.so.4.2.0 -lGL -lXau /opt/trinity/lib/libkdeui.so.4.2.0 -lfreetype -lfontconfig /opt/trinity/lib/libkdesu.so.4.2.0 -lutil /opt/trinity/lib/libkwalletclient.so.1.0.1 /opt/trinity/lib/libkdecore.so.4.2.0 /opt/trinity/lib/libDCOP.so.4.2.0 /opt/trinity/lib/libkdefx.so.4.2.0 -ltqt -lqt-mt -lXrender -lX11 -lz -lidn -lXcomposite -lICE -lSM -Wl,-rpath,/opt/trinity/lib: 
/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/kdesktop/lock/lockprocess.cc:257: error: undefined reference to 'DPMSInfo'
/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/kdesktop/lock/lockprocess.cc:1866: error: undefined reference to 'DPMSInfo'
collect2: ld returned 1 exit status
make[3]: *** [kdesktop/lock/kdesktop_lock] Error 1
make[3]: Leaving directory `/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu'
make[2]: *** [kdesktop/lock/CMakeFiles/kdesktop_lock.dir/all] Error 2
make[2]: Leaving directory `/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/local/src/bug-kicker-konqueror/kdebase-trinity-3.5.13/obj-x86_64-linux-gnu'
make: *** [debian/stamp-makefile-build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Comment 1 Laurent Dard 2011-10-27 21:32:47 CDT
Sorry. Commands were:

apt-get source kicker-trinity
export DEB_BUILD_OPTIONS="noopt nostrip parallel=1"
cd kdebase-trinity-3.5.13
dpkg-buildpackage -us -uc
Comment 2 Timothy Pearson 2011-10-27 22:07:18 CDT
You need to install the 3.5.13 kdelibs packages before you can build the 3.5.13 kdebase package.
Comment 3 Laurent Dard 2011-10-28 03:56:18 CDT
(En réponse au commentaire 2)
> You need to install the 3.5.13 kdelibs packages before you can build the 3.5.13
> kdebase package.

Sorry, I did it:
>> I compiled successfully kdelibs.
                           -------
AND installed it before.

And after tried to build kdebase.
                         -------

Anyway, there is a bug in the build dependencies,
in kdebase-trinity-3.5.13/debian/control:
Build-Depends: libasound2-dev, cdbs (>= 0.4.39-0.1), debhelper (>= 5.0.31), autotools-dev, gawk, gettext, kdelibs4-trinity-dev (>= 4:3.5.10), libldap2-dev, libhal-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libhal-storage-dev (>= 0.5.5.1-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libncurses5-dev, libpam0g-dev, libpopt-dev, libraw1394-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsensors4-dev [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386], libsmbclient-dev, libusb-dev, libxtst-dev, libfontenc-dev, libxss-dev, libxxf86misc-dev, libxcomposite-dev, libxdamage-dev, libxkbfile-dev, xutils, sharutils, texinfo, libavahi-compat-libdnssd-dev (>= 0.4), x11proto-kb-dev, xmkmf | xutils-dev, kdelibs4c2a-trinity, libogg-dev, libogg-dev-la, libdbus-tqt-1-dev, libtool, libltdl-dev, cmake


patch:
sed -e 's/>= 4:3.5.10/>= 4:3.5.13/g' -i debian/control
sed -e 's/>= 4:3.5.10/>= 4:3.5.13/g' -i debian/control.in


# grep -rn DPMSInfo /opt/trinity/include/

gives nothing

# grep -rn DPMSInfo /usr/include

<...>
/usr/include/X11/extensions/dpms.h:47:extern Status DPMSInfo(Display *, CARD16 *, BOOL *);

It seemms X11/extensions/dpms.h is not included.
Comment 4 Laurent Dard 2011-10-28 08:19:36 CDT
* The missing dependency in debian/control is libxext-dev.

* The configure script should check for the presence of the header (X11/extensions/dpms.h)


Incidentally, I saw that the "X DPMS Extension" was only "Recommended" in KDE3 requirements.	
http://www.kde.org/info/requirements/3.5.php

Is it a good thing to add this as required? Wouldn't it be better to stick to the old KDE3 requirements?

(I tried to build Trinity months ago on a "Linux From Scratch" "distribution" and I gave up because of those unattended requirements: I should have built Composite that I didn't need on LFS.)
Comment 5 Timothy Pearson 2011-10-28 10:26:29 CDT
(In reply to comment #4)
> * The missing dependency in debian/control is libxext-dev.
> 
> * The configure script should check for the presence of the header
> (X11/extensions/dpms.h)
> 
> 
> Incidentally, I saw that the "X DPMS Extension" was only "Recommended" in KDE3
> requirements.    
> http://www.kde.org/info/requirements/3.5.php
> 
> Is it a good thing to add this as required? Wouldn't it be better to stick to
> the old KDE3 requirements?
> 
> (I tried to build Trinity months ago on a "Linux From Scratch" "distribution"
> and I gave up because of those unattended requirements: I should have built
> Composite that I didn't need on LFS.)

Ah, sorry about that.  I didn't look closely enough at the error message, as there are new DPMS-related control structures defined in kdelibs.

We don't generally adhere to the old requirements, especially since the Linux environment is changing quite rapidly as of late, and also since KDE 3.5 was missing some features that are taken for granted nowadays.

That being said, having an option to completely disable monitor control of any kind might not be a bad idea.  This won't happen for 3.5.13, but might be possible in 3.5.14.
Comment 6 Darrell 2012-10-18 12:28:57 CDT
I'm changing the summary to "Build issue:" to match all other such bug reports.
Comment 7 Slávek Banko 2013-09-29 10:55:15 CDT
I believe that this is already fixed in commit 2b33100f. http://git.trinitydesktop.org/cgit/tdebase/commit/kdesktop/lock/CMakeLists.txt?id=2b33100f

Currently tdebase builds with DPMS support without problems.