Bug 227275

Summary: success of akonadiserver linkage depends on boost filename layout
Product: [Frameworks and Libraries] Akonadi Reporter: Daniel Betz <dnlbtz>
Component: serverAssignee: Volker Krause <vkrause>
Status: RESOLVED NOT A BUG    
Severity: normal CC: kdepim-bugs
Priority: NOR    
Version: 4.4   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Daniel Betz 2010-02-16 21:51:08 UTC
Version:            (using KDE 4.4.0)
Compiler:          gcc 4.4.3 
OS:                Linux
Installed from:    Compiled From Sources

akonadiserver is linked this way:



/home/.local/bin/c++    -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-check-new -fno-common -fexceptions -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DMYSQLD_EXECUTABLE="\"/usr/sbin/mysqld\"" -O2 -g -DQT_NO_DEBUG   CMakeFiles/akonadiserver_bin.dir/src/main.cpp.o CMakeFiles/akonadiserver_bin.dir/shared/akapplication.cpp.o CMakeFiles/akonadiserver_bin.dir/shared/akcrash.cpp.o CMakeFiles/akonadiserver_bin.dir/shared/akdebug.cpp.o  -o ../../bin/akonadiserver -rdynamic ../../lib/libakonadiprivate.so.1.3.50 /usr/local/lib/libQtCore.so -lpthread /usr/local/lib/libQtNetwork.so /usr/local/lib/libQtSql.so /usr/local/lib/libQtXml.so ../../lib/libakonadiprotocolinternals.so.1.3.50 /usr/local/lib/libQtDBus.so -lboost_program_options-mt ../../soprano/soprano/libsoprano.so.4.3.0 /usr/local/lib/libQtCore.so -lpthread -Wl,-rpath,/home/daniel/packs/KDE/kdesupport/build/lib:/home/daniel/packs/KDE/kdesupport/build/soprano/soprano:/usr/local/lib:



Problematic is the link library libboost_program_options-mt because the
current default layout for boost filenames doesn't use the "mt" prefix.

An appropriate link to the file fixed the problem. However, would be nice
if the build system could handle this.
Comment 1 Daniel Betz 2010-02-16 22:03:45 UTC
"mt" postfix.
Comment 2 Christophe Marin 2010-02-16 22:15:22 UTC
Akonadi doesn't hardcode this name nor uses its own FindBoost.cmake. It just links to ${Boost_PROGRAM_OPTIONS_LIBRARY}.
Comment 3 Daniel Betz 2010-02-16 23:59:07 UTC
I added a bugreport to the cmake bugtracker:

http://www.cmake.org/Bug/view.php?id=10304