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 581

Summary: Build issue: kdelibs 3.5.13 FTBFS
Product: TDE Reporter: Darrell <darrella>
Component: slackwareAssignee: Darrell <darrella>
Status: RESOLVED NOTOURPROBLEM    
Severity: blocker CC: bugwatch, darrella, kb9vqf, mutantturkey
Priority: P1    
Version: R14.0.0 [Trinity]   
Hardware: Other   
OS: Other   
Compiler Version: TDE Version String:
Application Version: Application Name:
Attachments: CMakeLists.txt repairs
Update to repairs for latest GIT

Description Darrell 2011-11-06 11:32:58 CST
The kdelibs 3.5.13 tarball will not build on Slackware 13.1 unless a sym link is created:

cd ${PREFIX}/include/tqt
ln -s ${QTDIR}/include/qglobal.h qglobal.h
Comment 1 Darrell 2011-11-14 15:38:48 CST
kdelibs will not build on Slackware 13.1 without patching all CMakeLists.txt files before compiling. Similar to the patch for kdevelop in bug report 604.
Comment 2 Darrell 2011-11-14 15:40:01 CST
Created attachment 126 [details]
CMakeLists.txt repairs
Comment 3 Timothy Pearson 2012-01-08 03:16:03 CST
When I apply the attached patch to the code in GIT I receive the qglobal.h error you mention in this report.  The unpatched code from GIT builds fine on my systems.

Can you verify that the code from GIT still fails to build on your system?

Thanks!
Comment 4 Timothy Pearson 2012-01-08 03:17:14 CST
Created attachment 258 [details]
Update to repairs for latest GIT
Comment 5 Darrell 2012-01-08 13:56:21 CST
I'm not yet set up to build from GIT. I'm still revamping my build environment for that. :(

Do you still need this tested?
Comment 6 Darrell 2012-01-12 13:28:08 CST
I just tested this again with 3.5.13. Despite the patch I still need the sym link. I have not yet tested this with GIT.

Fortunately the build fails at the very beginning of the make process.

I don't know whether the sym link is needed for building other packages or for run-time or only to build kdelibs. I would appreciate some thoughts about this point.
Comment 7 Darrell 2012-01-12 18:19:43 CST
Just discovered that kdevelop also needs this sym link to build.

The real question is whether this link is needed during run time.
Comment 8 Timothy Pearson 2012-01-14 18:01:45 CST
(In reply to comment #5)
> I'm not yet set up to build from GIT. I'm still revamping my build environment
> for that. :(
> 
> Do you still need this tested?

Yes I do.  I need to know if this patch is still required for your builds to succeed, and if so we need to debug the real reason for the build failures.
Comment 9 Darrell 2012-01-14 18:13:59 CST
I have rebuilt kdelibs 3.5.13 several times. Your patch is the same as mine except modified for R14 (kdecore/tdecore, kdeutils/tdeutils).

I'm still working with 3.5.13 sources and still use my original patch. I hope to start building from GIT real soon now.

Unless I'm misunderstanding you, the patch allows me to build kdelibs. Unless you are saying that the patch should not be needed.

The qglobal.h link remains a mystery.
Comment 10 Timothy Pearson 2012-01-14 18:52:04 CST
I am saying that the patch should not be needed, and that it breaks compilation on Debian, Ubuntu, and probably RHEL.

Try GIT without the patch and see if it builds.  If not we will need to debug this failure.
Comment 11 Darrell 2012-01-14 19:06:42 CST
Okay, I understand. Let's put this particular bug report aside until I can get started with building in GIT. You smacked down the other core package related build bugs, so I should be in stride in a day or two.
Comment 12 Darrell 2012-01-16 12:13:36 CST
I have my build environment set up for GIT. I am unable to build tdelibs from GIT. The build fails and I always receive this error message:

/bin/sh: ./tdelfeditor: No such file or directory

I have -DWITH_ELFICON=OFF. I also tried removing that option because the option defaults to OFF from -DWITH_ALL_OPTIONS.

According to CMakeLists.txt, the tdelfeditor subdirectory should not get built.

All dependency packages build and install without error.

Once we get past this new error I can focus on the original bug report. :)
Comment 13 Darrell 2012-01-17 12:32:10 CST
As discussed in the developer's mail list, the tdelfeditor messages are not the cause of the failure. With GIT the new cause of failure is tdelibs will build against qt3 but not tqt3.

The original problems remain unresolved. I still need both a sym link to qglobal.h and the patch. Otherwise I can build tdelibs from GIT.

More details are available in the mail list. Let me know whether those details need to be duplicated here.
Comment 14 Darrell 2012-01-17 20:40:53 CST
The sym link works with the following too:

cd /usr/include
ln -s ${QTDIR}/include/qglobal.h qglobal.h

That is, the sym link needs to be in either /usr/include or /usr/include/tqt
Comment 15 Timothy Pearson 2012-01-17 22:27:54 CST
(In reply to comment #14)
> The sym link works with the following too:
> 
> cd /usr/include
> ln -s ${QTDIR}/include/qglobal.h qglobal.h
> 
> That is, the sym link needs to be in either /usr/include or /usr/include/tqt

What is the exact build failure (log output) you receive when the qglobal.h symlink is NOT present?

TDE should not require that symlink and I want to get to the real root of the build problems here. :-)
Comment 16 Darrell 2012-01-18 00:22:43 CST
Ok, let's start from scratch.

GIT 2679.

I'm building out of source in $TMP (/dev/shm). I built qt3, tqtinterface, arts, dbus*, and libarts with no errors.

With no patches whatsoever and no sym links. I receive the following build failure:

===============================================================================
make[2]: Entering directory `/dev/shm/tdelibs.build'
/usr/bin/cmake -E cmake_progress_report /dev/shm/tdelibs.build/CMakeFiles
[  0%] Building C object dcop/KDE-ICE/CMakeFiles/kICE-static.dir/accept.c.o
cd /dev/shm/tdelibs.build/dcop/KDE-ICE && /usr/bin/gcc  -DHAVE_CONFIG_H -DICE_t -DTRANS_SERVER -DTRANS_CLIENT -DUNIXCONN -DANSICPP -O2 -march=i486 -mtune=i686 -fvisibility=hidden -fvisibility-inlines-hidden -include tqt.h -I/dev/shm/tdelibs.build -I/dev/shm/tdelibs/dcop   -fPIC -o CMakeFiles/kICE-static.dir/accept.c.o   -c /dev/shm/tdelibs/dcop/KDE-ICE/accept.c
cc1: warning: command line option "-fvisibility-inlines-hidden" is valid for C++/ObjC++ but not for C
cc1: error: tqt.h: No such file or directory
make[2]: *** [dcop/KDE-ICE/CMakeFiles/kICE-static.dir/accept.c.o] Error 1
make[2]: Leaving directory `/dev/shm/tdelibs.build'
make[1]: *** [dcop/KDE-ICE/CMakeFiles/kICE-static.dir/all] Error 2
make[1]: Leaving directory `/dev/shm/tdelibs.build'
make: *** [all] Error 2
===============================================================================


I am able to resolve that error with this patch:


===============================================================================
diff -urN tdelibs/dcop/KDE-ICE/CMakeLists.txt tdelibs.new/dcop/KDE-ICE/CMakeLists.txt
--- tdelibs/dcop/KDE-ICE/CMakeLists.txt 2011-12-25 01:07:40.000000000 -0600
+++ tdelibs.new/dcop/KDE-ICE/CMakeLists.txt 2012-01-17 23:37:20.000000000 -0600
@@ -9,7 +9,7 @@
 #
 #################################################

-set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -include tqt.h" )
+set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" )

 add_definitions(
   -DICE_t
===============================================================================


Side comment: there are a handful of CMakeLists.txt files that have a reference to include tqt.h:

tdevelop/CMakeLists.txt
tdepim/indexlib/CMakeLists.txt
tdelibs/dcop/KDE-ICE/CMakeLists.txt
tdebase/kate/app/CMakeLists.txt
tdewebdev/CMakeLists.txt
dependencies/dbus-tqt/CMakeLists.txt
dependencies/dbus-1-tqt/CMakeLists.txt
dependencies/tqtinterface/qtinterface/CMakeLists.txt

With this first patch I then get past the first build error. Then I run into this build failure:


===============================================================================
[ 11%] Building C object tdecore/CMakeFiles/tdecore-shared.dir/fakes.c.o
cd /dev/shm/tdelibs.build/tdecore && /usr/bin/gcc  -Dtdecore_shared_EXPORTS -DHAVE_CONFIG_H -O2 -march=i486 -mtune=i686 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -I/dev/shm/tdelibs.build/tdecore -I/dev/shm/tdelibs.build -I/dev/shm/tdelibs/tdecore -I/dev/shm/tdelibs/tdecore/network -I/dev/shm/tdelibs/dcop -I/dev/shm/tdelibs/libltdl -I/dev/shm/tdelibs/tdefx -I/dev/shm/tdelibs/tdeui -I/dev/shm/tdelibs/kio/kio -I/usr/include/libart-2.0   -o CMakeFiles/tdecore-shared.dir/fakes.c.o   -c /dev/shm/tdelibs/tdecore/fakes.c
cc1: warning: command line option "-fvisibility-inlines-hidden" is valid for C++/ObjC++ but not for C
In file included from /dev/shm/tdelibs/tdecore/fakes.c:22:
/dev/shm/tdelibs/tdecore/tdelibs_export.h:27:22: error: tqglobal.h: No such file or directory
make[2]: *** [tdecore/CMakeFiles/tdecore-shared.dir/fakes.c.o] Error 1
make[2]: Leaving directory `/dev/shm/tdelibs.build'
make[1]: *** [tdecore/CMakeFiles/tdecore-shared.dir/all] Error 2
make[1]: Leaving directory `/dev/shm/tdelibs.build'
make: *** [all] Error 2
===============================================================================


I then apply the following patch:


===============================================================================
diff -urN tdelibs/tdecore/tdelibs_export.h tdelibs.new/tdecore/tdelibs_export.h
--- tdelibs/tdecore/tdelibs_export.h  2011-12-25 01:07:41.000000000 -0600
+++ tdelibs.new/tdecore/tdelibs_export.h  2012-01-18 00:08:54.000000000 -0600
@@ -24,7 +24,7 @@
 #include <kdemacros.h>

 /* needed, because e.g. Q_OS_UNIX is so frequently used */
-#include <tqglobal.h>
+#include <tqt/tqglobal.h>

 #ifdef Q_WS_WIN
 #include <tdelibs_export_win.h>
===============================================================================


I then receive the following build failure:


===============================================================================
[ 11%] Building C object tdecore/CMakeFiles/tdecore-shared.dir/fakes.c.o
cd /dev/shm/tdelibs.build/tdecore && /usr/bin/gcc  -Dtdecore_shared_EXPORTS -DHAVE_CONFIG_H -O2 -march=i486 -mtune=i686 -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -I/dev/shm/tdelibs.build/tdecore -I/dev/shm/tdelibs.build -I/dev/shm/tdelibs/tdecore -I/dev/shm/tdelibs/tdecore/network -I/dev/shm/tdelibs/dcop -I/dev/shm/tdelibs/libltdl -I/dev/shm/tdelibs/tdefx -I/dev/shm/tdelibs/tdeui -I/dev/shm/tdelibs/kio/kio -I/usr/include/libart-2.0   -o CMakeFiles/tdecore-shared.dir/fakes.c.o   -c /dev/shm/tdelibs/tdecore/fakes.c
cc1: warning: command line option "-fvisibility-inlines-hidden" is valid for C++/ObjC++ but not for C
In file included from /dev/shm/tdelibs/tdecore/tdelibs_export.h:27,
                 from /dev/shm/tdelibs/tdecore/fakes.c:22:
/usr/include/tqt/tqglobal.h:25:17: error: tqt.h: No such file or directory
make[2]: *** [tdecore/CMakeFiles/tdecore-shared.dir/fakes.c.o] Error 1
make[2]: Leaving directory `/dev/shm/tdelibs.build'
make[1]: *** [tdecore/CMakeFiles/tdecore-shared.dir/all] Error 2
make[1]: Leaving directory `/dev/shm/tdelibs.build'
make: *** [all] Error 2
===============================================================================
Comment 17 Timothy Pearson 2012-01-18 01:45:06 CST
(In reply to comment #16)
> Ok, let's start from scratch.
> 
> GIT 2679.
> 
> I'm building out of source in $TMP (/dev/shm). I built qt3, tqtinterface, arts,
> dbus*, and libarts with no errors.
> 
> With no patches whatsoever and no sym links. I receive the following build
> failure:
> 
> ===============================================================================
> make[2]: Entering directory `/dev/shm/tdelibs.build'
> /usr/bin/cmake -E cmake_progress_report /dev/shm/tdelibs.build/CMakeFiles
> [  0%] Building C object dcop/KDE-ICE/CMakeFiles/kICE-static.dir/accept.c.o
> cd /dev/shm/tdelibs.build/dcop/KDE-ICE && /usr/bin/gcc  -DHAVE_CONFIG_H -DICE_t
> -DTRANS_SERVER -DTRANS_CLIENT -DUNIXCONN -DANSICPP -O2 -march=i486 -mtune=i686
> -fvisibility=hidden -fvisibility-inlines-hidden -include tqt.h
> -I/dev/shm/tdelibs.build -I/dev/shm/tdelibs/dcop   -fPIC -o
> CMakeFiles/kICE-static.dir/accept.c.o   -c
> /dev/shm/tdelibs/dcop/KDE-ICE/accept.c
> cc1: warning: command line option "-fvisibility-inlines-hidden" is valid for
> C++/ObjC++ but not for C
> cc1: error: tqt.h: No such file or directory
> make[2]: *** [dcop/KDE-ICE/CMakeFiles/kICE-static.dir/accept.c.o] Error 1
> make[2]: Leaving directory `/dev/shm/tdelibs.build'
> make[1]: *** [dcop/KDE-ICE/CMakeFiles/kICE-static.dir/all] Error 2
> make[1]: Leaving directory `/dev/shm/tdelibs.build'
> make: *** [all] Error 2
> ===============================================================================
<snip>

This right here is indicative of a serious problem in the build.  Attempting to force it further will simply result in more arcane errors with the same root cause.

Where are your tqtinterface files installed (e.g. where is tqt.h located on your system)?
Comment 18 Timothy Pearson 2012-01-18 20:05:28 CST
Private discussion has resulted in the problem being narrowed down to a fundamental CMake issue that only seems to appear on Slackware.  Specifically TQT_INCLUDE_DIRS is not set via the built-in pkgconfig system on CMake on Slackware, causing a cascading build failure in all CMake-dependent TDE packages.
Comment 19 Timothy Pearson 2012-01-18 20:08:04 CST
Comment on attachment 258 [details]
Update to repairs for latest GIT

This patch causes failures on non-Slackware systems and does not address the underlying fundamental CMake failure.
Comment 20 Timothy Pearson 2012-01-18 21:26:42 CST
*** Bug 604 has been marked as a duplicate of this bug. ***
Comment 21 Timothy Pearson 2012-01-19 01:02:58 CST
*** Bug 604 has been marked as a duplicate of this bug. ***
Comment 22 Timothy Pearson 2012-01-19 12:54:04 CST
If this can be replicated on a system other than Slackware 13.x please reopen this bug report immediately.
Comment 23 Timothy Pearson 2012-01-19 17:27:23 CST
For anyone experiencing this bug, the solution is available here:
http://trinity-devel.pearsoncomputing.net/?0::4983
Comment 24 Darrell 2012-01-19 17:38:17 CST
Huh --- now you beat me to the punch! I was going to update this report too. :)