strigi doesn't build anymore on FreeBSD

Raphael Kubo da Costa kubito at gmail.com
Thu Dec 31 19:17:56 CET 2009


On Thursday 31 December 2009 10:32:39 Alexander Neundorf wrote:
> Hi Jos, Raphael,
> 
> since this patch:
> http://websvn.kde.org/trunk/kdesupport/strigi/src/streamanalyzer/saxeventan
> alyzer.cpp?r1=1067133&r2=1067134
> 
> strigi does not build anymore on FreeBSD:
> http://my.cdash.org/viewBuildError.php?buildid=43229
> 
> 
> What can be done about this ?
> 
> One thing which should be done, is to make this into a configure-check.
> I think check_symbol_exists() (
> http://www.cmake.org/cmake/help/cmake2.6docs.html#module:CheckSymbolExists
> ) should work for that.
> 
> Then it would not be a build error anymore, but a configure error, which is
> at least slightly better.
> 
> What needs to be done to make it build again ?
> 
> Alex

Libxml2 defines LIBXML_THREAD_ENABLED if _REENTRANT, __MT__ or _POSIX_C_SOURCE 
are defined. glibc always defined _POSIX_C_SOURCE, whereas FreeBSD's libc 
seems to define it conditionally (either it must be defined to some value by 
the user and then it's correctly set, or _XOPEN_SOURCE must be set -- see 
http://fxr.watson.org/fxr/source/sys/cdefs.h?v=FREEBSD8).

I don't know the best solution here - we can either pass _REENTRANT or __MT__ 
via CMake, but it looks a little awkward, or we can define _XOPEN_SOURCE in 
CMake or inside the code itself -- IIRC, kdelibs always defines _XOPEN_SOURCE 
to a certain minimum value, maybe strigi could do that too.


More information about the Kde-buildsystem mailing list