Actions
Bug #1360
closedCritical issue - Boost 1.50 breaks build (separate issue from previous)
Description
Boost 1.50 has introduced an issue whereby building wtdbo fails with a linker error.
Linking CXX shared library libwtdbo.dylib
Undefined symbols for architecture x86_64:
"boost::system::system_category()", referenced from:
void boost::condition_variable_any::wait<boost::mutex>(boost::mutex&) in FixedSqlConnectionPool.o
boost::mutex::lock() in FixedSqlConnectionPool.o
boost::unique_lock<boost::mutex>::lock() in FixedSqlConnectionPool.o
boost::condition_variable_any::condition_variable_any() in FixedSqlConnectionPool.o
boost::mutex::mutex() in FixedSqlConnectionPool.o
__GLOBAL__I_a in FixedSqlConnectionPool.o
"boost::system::generic_category()", referenced from:
__GLOBAL__I_a in FixedSqlConnectionPool.o
ld: symbol(s) not found for architecture x86_64
To solve this we need to link wtdbo with boost_system. I'd provide a patch but I don't know CMake. :)
This build was on OS X with Boost 1.50 but I imagine it affects all operating systems.
Updated by Wim Dumon over 12 years ago
This seems to be the proper patch (but not all OSes are affected, though):
(erased)
Edit: copy-and-paste error above. The right patch is to make this modification in src/Wt/Dbo/CMakeLists.txt:
@@ -25,7 +25,7 @@ IF(WIN32)
ENDIF(MULTI_THREADED_BUILD)
ELSE(WIN32)
IF(MULTI_THREADED_BUILD)
- TARGET_LINK_LIBRARIES(wtdbo ${BOOST_THREAD_LIB} ${CMAKE_THREAD_LIBS_INIT} ${BOOST_DT_LIB})
+ TARGET_LINK_LIBRARIES(wtdbo ${BOOST_THREAD_LIB} ${BOOST_SYSTEM_LIB} ${CMAKE_THREAD_LIBS_INIT} ${BOOST_DT_LIB})
ELSE(MULTI_THREADED_BUILD)
TARGET_LINK_LIBRARIES(wtdbo ${BOOST_DT_LIB})
ENDIF(MULTI_THREADED_BUILD)
Updated by Koen Deforche about 12 years ago
- Status changed from New to Resolved
- Assignee set to Wim Dumon
- Target version set to 3.2.3
Updated by Koen Deforche about 12 years ago
- Status changed from Resolved to Closed
Actions