I'm trying to resolve bug report 756.
I noticed FAM support is not provided in the build process. I conjured up this patch:
============================= diff -urN kdelibs/CMakeLists.txt kdelibs.new/CMakeLists.txt --- kdelibs/CMakeLists.txt 2011-10-29 15:47:19.000000000 -0500 +++ kdelibs.new/CMakeLists.txt 2012-01-14 19:35:33.000000000 -0600 @@ -736,6 +736,14 @@ endif( WITH_HSPELL )
+##### check for FAM/GAMIN ########################## + +check_include_file( "fam.h" HAVE_FAM_H ) +if( HAVE_FAM_H ) + set( HAVE_FAM 1 ) +endif( HAVE_FAM_H ) + + ##### write configure files #####################
configure_file( config.h.cmake config.h ) diff -urN kdelibs/config.h.cmake kdelibs.new/config.h.cmake --- kdelibs/config.h.cmake 2011-08-10 21:30:27.000000000 -0500 +++ kdelibs.new/config.h.cmake 2012-01-14 19:42:56.000000000 -0600 @@ -114,7 +114,7 @@ #undef HAVE_FADVISE
/* Define if your system has libfam */ -#undef HAVE_FAM +#cmakedefine HAVE_FAM 1
/* Define to 1 if you have the <float.h> header file. */ #cmakedefine HAVE_FLOAT_H 1 =============================
kdelibs fails to build with that patch:
============================= kio/libksycoca.a(kdirwatch.cpp.o): In function `KDirWatchPrivate': /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:241: undefined reference to `FAMOpen' /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:241: undefined reference to `FAMOpen' kio/libksycoca.a(kdirwatch.cpp.o): In function `KDirWatchPrivate::removeEntry(KDirWatch*, QString const&, KDirWatchPrivate::Entry*)': /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:935: undefined reference to `FAMCancelMonitor' kio/libksycoca.a(kdirwatch.cpp.o): In function `KDirWatchPrivate::checkFAMEvent(FAMEvent*)': /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:1502: undefined reference to `FAMCancelMonitor' kio/libksycoca.a(kdirwatch.cpp.o): In function `KDirWatchPrivate::famEventReceived()': /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:1410: undefined reference to `FAMPending' /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:1411: undefined reference to `FAMNextEvent' kio/libksycoca.a(kdirwatch.cpp.o): In function `KDirWatchPrivate::useFAM(KDirWatchPrivate::Entry*)': /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:613: undefined reference to `FAMMonitorFile' /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:595: undefined reference to `FAMMonitorDirectory' kio/libksycoca.a(kdirwatch.cpp.o): In function `~KDirWatchPrivate': /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:356: undefined reference to `FAMClose' /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:356: undefined reference to `FAMClose' /dev/shm/kdelibs/kio/kio/kdirwatch.cpp:356: undefined reference to `FAMClose' collect2: ld returned 1 exit status make[2]: *** [kio/libkio.so.4.2.0] Error 1 make[2]: Leaving directory `/dev/shm/kdelibs.build' make[1]: *** [kio/CMakeFiles/kio-shared.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/dev/shm/kdelibs.build' /usr/bin/cmake -E cmake_progress_report /dev/shm/kdelibs.build/CMakeFiles [ 58%] Built target kdeprint_tool_escputil-module Linking CXX executable artsmessage cd /dev/shm/kdelibs.build/arts/message && /usr/bin/cmake -E cmake_link_script CMakeFiles/artsmessage.dir/link.txt --verbose=1 /usr/bin/c++ -O2 -march=i486 -mtune=i686 -ggdb -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h CMakeFiles/artsmessage.dir/artsmessage.cc.o -o artsmessage -rdynamic -L/opt/trinity/lib/qt3-3.3.8.d/lib ../../kdeui/libkdeui.so.4.2.0 ../../kdecore/libkdecore.so.4.2.0 ../../dcop/libDCOP.so.4.2.0 ../../kdefx/libkdefx.so.4.2.0 -ltqt -lqt-mt -lXrender -lX11 -lz -lidn -lXcomposite -lXfixes -lICE -lSM -lfreetype -lfontconfig -Wl,-rpath,/opt/trinity/lib/qt3-3.3.8.d/lib:/dev/shm/kdelibs.build/kdeui:/dev/shm/kdelibs.build/kdecore:/dev/shm/kdelibs.build/dcop:/dev/shm/kdelibs.build/kdefx: make[2]: Leaving directory `/dev/shm/kdelibs.build' /usr/bin/cmake -E cmake_progress_report /dev/shm/kdelibs.build/CMakeFiles [ 58%] Built target artsmessage make[1]: Leaving directory `/dev/shm/kdelibs.build' make: *** [all] Error 2 =============================
The header includes look correct so I'm guessing a linker problem.
Ideas?
Darrell