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