OSX, non-default boost: libutil.so: undefined references
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenCog |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Debian Linux 7.0
OpenCog revision 7684
Boost 1.51.0
I manually installed Boost 1.51.0 since the default version for Debian 7.0 is still 1.49.0.
Cmake picked up the new libraries when I reran it:
-- Boost version: 1.51.0
-- Found the following Boost libraries:
-- date_time
-- filesystem
-- regex
-- serialization
-- signals
-- system
-- thread
-- Found Boost::
-- Found Boost::math
But here's the build output:
Scanning dependencies of target util
[ 0%] Building CXX object opencog/
[ 0%] Building CXX object opencog/
[ 0%] Building CXX object opencog/
[ 0%] Building CXX object opencog/
Linking CXX shared library libutil.so
[ 3%] Built target util
...
[ 12%] Building CXX object opencog/
Linking CXX executable action-reductor
../../util/
../../util/
collect2: error: ld returned 1 exit status
make[2]: *** [opencog/
make[1]: *** [opencog/
make: *** [all] Error 2
summary: |
- libutil.so: undefined references + OSX, non-default boost: libutil.so: undefined references |
Changed in opencog: | |
status: | New → Won't Fix |
I'm stumped. The CMakefile for utils explicitly calls out
TARGET_ LINK_LIBRARIES( util FILESYSTEM_ LIBRARY} SYSTEM_ LIBRARY} REGEX_LIBRARY} THREAD_ LIBRARY}
${Boost_
${Boost_
${Boost_
${Boost_
)
What was wrong with boost-1.49 ??
I'm guessnig that you didn't re-run cmake after install 1.51 and/or cmake is still finding a partially installed older boost. You can verify teh paths used by saying
make VERBOSE=1
and looking where the libraries are being searched.