Tim, Serghei,
When building TDE packages, if the cmake files do not properly find includes,
what is the proper way to tell cmake where the include is? The cmake site says
to use the CMAKE_INCLUDE_PATH environment variable. So I try:
export CMAKE_INCLUDE_PATH=/usr/include/apr-1
The TDE cmake setup seems to totally ignore this variable:
[ 0%] Building CXX object src/svnqt/CMakeFiles/svnqt.dir/apr.cpp.o
cd /build/src/build/src/svnqt && /usr/bin/c++ -Dsvnqt_EXPORTS -DHAVE_CONFIG_H
-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector
--param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -DQT_NO_ASCII_CAST
-DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION
-DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -fPIC
-I/build/src/build/src/svnqt -I/opt/tqt3/include -I/opt/trinity/include/tqt
-I/opt/trinity/include -I/build/src/build -I/build/src/build/src
-I/build/src/tdesvn/src -I/build/src/tdesvn/src/settings
-I/build/src/tdesvn/src/svnqt -I/build/src/tdesvn/src/svnfrontend/graphtree
-I/build/src/tdesvn/src/svnfrontend/fronthelpers
-I/build/src/tdesvn/src/ksvnwidgets -I/build/src/tdesvn/src/helpers
-I/build/src/tdesvn/src/svnfrontend -I/build/src/tdesvn/src/svnqt/cache
-I/usr/include/subversion-1 -I/usr/include/apr-1.0
-I/build/src/tdesvn/src/svnqt/SQLITE_INCLUDE_DIR -fPIC -o
CMakeFiles/svnqt.dir/apr.cpp.o -c /build/src/tdesvn/src/svnqt/apr.cpp
/build/src/tdesvn/src/svnqt/apr.cpp:32:25: fatal error: apr_general.h: No such
file or directory
compilation terminated.
make[2]: *** [src/svnqt/CMakeFiles/svnqt.dir/apr.cpp.o] Error 1
make[2]: Leaving directory `/build/src/build'
make[1]: *** [src/svnqt/CMakeFiles/svnqt.dir/all] Error 2
make[1]: Leaving directory `/build/src/build'
make: *** [all] Error 2
My apr_general.h is in /usr/include/apr-1 not in "-I/usr/include/apr-1.0" that
the cmake files include.
My pkgconfig file for apr is correct as well:
21:19 nirvana:~/tde> cat /usr/lib/pkgconfig/apr-1.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
APR_MAJOR_VERSION=1
includedir=/usr/include/apr-1
Name: APR
Description: The Apache Portable Runtime library
Version: 1.4.5
Libs: -L${libdir} -lapr-${APR_MAJOR_VERSION} -luuid -lrt -lcrypt -lpthread -ldl
Cflags: -D_REENTRANT -D_GNU_SOURCE -pthread -I${includedir}
Where is cmake getting the extra '.0' it tacks on the end of the include path?
How to fix?
--
David C. Rankin, J.D.,P.E.
I patched avahi-tqt/Makefile.am as mentioned here:
http://trinity-devel.pearsoncomputing.net/?0::6608
Yet the build still fails:
Making clean in avahi-tqt
make[1]: Entering directory `/dev/shm/avahi-tqt/avahi-tqt'
test -z "qt-watch.moc3" || rm -f qt-watch.moc3
test -z "libavahi-tqt.la" || rm -f libavahi-tqt.la
rm -f "./so_locations"
rm -rf .libs _libs
rm -f *.o
rm -f *.lo
make[1]: Leaving directory `/dev/shm/avahi-tqt/avahi-tqt'
Making clean in .
make[1]: Entering directory `/dev/shm/avahi-tqt'
test -z "avahi-tqt.pc" || rm -f avahi-tqt.pc
rm -rf .libs _libs
rm -f *.lo
make[1]: Leaving directory `/dev/shm/avahi-tqt'
make all-recursive
make[1]: Entering directory `/dev/shm/avahi-tqt'
Making all in avahi-tqt
make[2]: Entering directory `/dev/shm/avahi-tqt/avahi-tqt'
GEN qt-watch.moc3
qt-watch.cpp:50: Error: The declaration of the class "AvahiWatch" contains signals or slots
but no TQ_OBJECT macro.
qt-watch.cpp:69: Error: The declaration of the class "AvahiTimeout" contains signals or slots
but no TQ_OBJECT macro.
make[2]: *** [qt-watch.moc3] Error 1
make[2]: Leaving directory `/dev/shm/avahi-tqt/avahi-tqt'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/dev/shm/avahi-tqt'
make: *** [all] Error 2
Darrell
All,
I have family coming up for the reminder of spring break. The kids and cousins
will be playing. We will be at the lake until Sunday (no internet). So I'm not
ignoring you... :)
--
David C. Rankin, J.D.,P.E.
Tim, Darrell, all,
I've moved to trying to get tdeutils to build again. Currently I'm attempting
to build with:
## Generate config files and update with autoreconf
cd ${srcdir}/${pkgname#*-}
make -f admin/Makefile.common
autoreconf
## configure
msg "Configuring - ${pkgname}..."
./configure \
--prefix=${TDEDIR} \
--with-qt-dir=${QTDIR} \
--with-qt-includes=${QTDIR}/include \
--with-extra-includes="${TDEDIR}include/tqt/Qt" \
--with-qt-libraries=${QTDIR}/lib \
--with-extra-libs=${TDEDIR}/lib/trinity \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-closure
For some reason, the build tries to use Qt4? Where can I work-around this? The
error is:
checking for IceConnectionNumber in -lICE... yes
checking for libXext... yes
Detected TQt4...
checking for pthread_create in -lpthread... yes
checking for extra includes... added
checking for extra libs... added
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for perl... /usr/bin/perl
checking for Qt... checking for pkg-config... /usr/bin/pkg-config
configure: error: Qt (>= Qt 4.3 and < 5.0) (headers and libraries) not found.
Please check your installation!
For more details about this problem, look at the end of config.log.
Do we need to patch something to check for tqt instead of qt?
--
David C. Rankin, J.D.,P.E.
Tim, Darrell,
Is kpowersave needed any longer? I don't know what the different 'powers' do
and I enabled 'upower' so does that supersede 'kpowersave'?
--
David C. Rankin, J.D.,P.E.
Tim, Darrell,
amarok fails to find konqsidebarplugin.h even though it is installed? Eg:
-- Performing Test HAVE_QGLWIDGET - Failed
-- Performing Test HAVE_KONQSIDEBARPLUGIN_H
WARNING: Target "cmTryCompileExec" requests linking to directory
"/opt/tqt3/lib". Targets may link only to libraries. CMake is dropping the item.
-- Performing Test HAVE_KONQSIDEBARPLUGIN_H - Failed
CMake Error at cmake/modules/TDEMacros.cmake:23 (message):
#################################################
konqsidebarplugin.h are requested, but not found on your system
#################################################
Call Stack (most recent call first):
ConfigureChecks.cmake:191 (tde_message_fatal)
CMakeLists.txt:67 (include)
-- Configuring incomplete, errors occurred!
I have it:
23:31 nirvana:~/tde/bld/libkarma> find $CHROOT/david/opt -name konqsidebarplugin.h
/mnt/nv1/home/chroot/david/opt/trinity/include/konqsidebarplugin.h
Hmm, what's the trick?
--
David C. Rankin, J.D.,P.E.
All,
In the following code from amarok/ConfigureChecks.cmake:
# konqsidebarplugin.h
if( WITH_KONQSIDEBAR )
tde_save( CMAKE_REQUIRED_DEFINITIONS CMAKE_REQUIRED_FLAGS
CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
set( CMAKE_REQUIRED_DEFINITIONS ${TQT_CFLAGS_OTHER} )
set( CMAKE_REQUIRED_INCLUDES
${TDE_INCLUDE_DIR};${TQT_INCLUDE_DIRS};${CMAKE_INCLUDE_PATH} )
set( CMAKE_REQUIRED_FLAGS "-include tqt.h" )
set( CMAKE_REQUIRED_LIBRARIES -L${TQT_LIBRARY_DIRS} ${TQT_LIBRARIES} )
check_cxx_source_compiles("
#include <konqsidebarplugin.h>
int main(int, char**) { return 0; } "
HAVE_KONQSIDEBARPLUGIN_H )
tde_restore( CMAKE_REQUIRED_DEFINITIONS CMAKE_REQUIRED_FLAGS
CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
if( NOT HAVE_KONQSIDEBARPLUGIN_H )
tde_message_fatal( "konqsidebarplugin.h are requested, but not found on your
system" )
endif( )
endif( )
What is this code checking?
check_cxx_source_compiles("
#include <konqsidebarplugin.h>
int main(int, char**) { return 0; } "
HAVE_KONQSIDEBARPLUGIN_H )
I can find the '#include <konqsidebarplugin.h>' bit in:
amarok/src/konquisidebar/universalamarok.h, but what does the rest of the
check_cxx_source_compiles look for? 'int main(int, char**) { return 0; }' isn't
in the code:
/chroot/david/build/src/amarok> grep -r 'int main(int, char\*\*)' *
ConfigureChecks.cmake: int main(int, char**) { (void)new QGLWidget((QWidget*)0,
\"qgl\"); return 0; } "
ConfigureChecks.cmake: int main(int, char**) { return 0; } "
It's nowhere else in the amarok code -- this is what is causing the
konqsidebarplugin cmake failure. I can't explain why it isn't seen on Darrell's
build -- we should have the same amarok code... That's why I need help
understanding exactly what this check_cxx_source_compiles code is looking for.
--
David C. Rankin, J.D.,P.E.
Tim,
After rebuilding late last night, I am checking packages today. I
reinstalled all tde packages on my test maching and started tde. I noticed 2
things immediately:
(1) there was only a black screen displayed behind the ksplash startup screen,
not the background set in kcontol -> Login Manager; and
(2) ALL WINDOW DECORATION IS GONE - poof - missing??
Here is a screenshot of the tips dialog:
http://nirvana.3111skyline.com/dl/dt/trinity/ss/tde-no-decor.jpg
I went to kcontrol -> appearance -> window decoration and all window
decorations are listed as being available, but selecting one and hitting
'Apply" has no effect. No window decorations appear.
I'm not sure where to begin troubleshooting this one. No .xsession-errors
was ever created. IIRC, this is a tdelibs issue
However, that is SMALL POTATOES - not starttrinity - doesn't start trinity :)
The splash screen gets to the 'hard drive icon' (Initializing system
services) chugs away for a while and then tde commands an xserver shutdown.
Looking at the first shutdown, there was a complaint about no xset, xsetroot,
and xprop. Here is the screenshot:
http://nirvana.3111skyline.com/dl/dt/trinity/ss/tde-starttrinity-crash.jpg
So I installed xorg-xset, xorg-xsetroot and xorg-xprop (funny, it ran fine
before without them). I then tried starttrinity again, and it failed with the
same behavior. (However, this time I did get a blue background color behind
the ksplash dialog on statup) It got stuck on "Initializing system services"
and then crashed:
http://nirvana.3111skyline.com/dl/dt/trinity/ss/tde-starttrinity-crash1.jpg
The main issue I see is the dcopserver already running error - but looking
at /home/david -- there is no .DCOPserver_tdepv__0 file. So I don't know what
the heck is going on.
I'm pretty much stuck on this one. Is there some change over the past few
days that could explain this behavior?? Is it a change in ksyscoca or
something similar causing the read of the old sysconfig cache to cause the
crash? I tried deleting /var/tmp/kdecache-david and it did not help.
Anybody else seeing this with last night's builds?
How to debug and get more info??
--
David C. Rankin, J.D.,P.E.
Tim,
Here is another QCString build failure. Let me know if you want a bug filed or
if you just want to work it from the list. Thanks. Here is the actual error:
[ 75%] Building CXX object
knetworkmanager-0.8/src/CMakeFiles/tdeinit_knetworkmanager-shared.dir/knetworkmanager-wireless_menuitem.cpp.o
cd /build/src/build/knetworkmanager-0.8/src && /usr/bin/c++
-Dtdeinit_knetworkmanager_shared_EXPORTS -DHAVE_CONFIG_H -march=x86-64
-mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4
-D_FORTIFY_SOURCE=2 -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL
-DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include
tqt.h -fPIC -I/build/src/build/knetworkmanager-0.8/src -I/build/src/build
-I/opt/trinity/include -I/opt/tqt3/include -I/opt/trinity/include/tqt
-I/opt/trinity/include/dbus-1-tqt -I/usr/include/NetworkManager
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/dbus-1.0
-I/usr/lib/dbus-1.0/include -UQT_NO_ASCII_CAST -o
CMakeFiles/tdeinit_knetworkmanager-shared.dir/knetworkmanager-wireless_menuitem.cpp.o
-c
/build/src/knetworkmanager8/knetworkmanager-0.8/src/knetworkmanager-wireless_menuitem.cpp
/build/src/knetworkmanager8/knetworkmanager-0.8/src/knetworkmanager-wireless_menuitem.cpp:
In member function 'void WirelessNetworkItem::slotActivate()':
/build/src/knetworkmanager8/knetworkmanager-0.8/src/knetworkmanager-wireless_menuitem.cpp:77:160:
error: 'QCString' was not declared in this scope
make[2]: ***
[knetworkmanager-0.8/src/CMakeFiles/tdeinit_knetworkmanager-shared.dir/knetworkmanager-wireless_menuitem.cpp.o]
Error 1
make[2]: Leaving directory `/build/src/build'
make[1]: ***
[knetworkmanager-0.8/src/CMakeFiles/tdeinit_knetworkmanager-shared.dir/all] Error 2
make[1]: Leaving directory `/build/src/build'
make: *** [all] Error 2
--
David C. Rankin, J.D.,P.E.