I'm trying to build boost 1.30 on Mac OS-X 1.2.4. I'm using the compiler that came with the system, GCC-3.1. When I do "bjam -sTOOLS=darwin", I get a variety of errors and warnings. I get the warning "enumeration value `type_pf' not handled in switch", in several places in libs/regex/src/cregex.cpp. In all cases, the offending lines are protected by ifdefs: #ifndef BOOST_REGEX_NO_FILEITER case re_detail::RegExData::type_pf: return pdata->fm[i].matched; #endif It would appear that BOOST_REGEX_NO_FILEITER should be defined in the darwin environment, but isn't. This is the first time I've just Jam, so I'm at a loss to figure out why it's not set right, or how to fix it. More importantly, I get 6 failures. The bjam output contains the following for the first one: darwin-Link-DyLib-action libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime- link-static/shared-linkable-true/libboost_pr\ g_exec_monitor.dylib ld: Undefined symbols: cpp_main(int, char**) export DYLD_LIBRARY_PATH ld -dynamic -m -r -d -o "libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime -link-static/shared-linkable-true/libboos\ t_prg_exec_monitor.lo" "libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime -link-static/shared-linkable-true/execution_m\ onitor.o" "libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime -link-static/shared-linkable-true/cpp_main.o" \ && \ c++ -static-libgcc -g -Wl,-dynamic -nostartfiles -Wl,-dylib -Wl,-ldylib1.o -Wl,-dylib_compatibility_version,1.30.0 -W,l-dylib_current_ver\ sion,1.30.0 -o "libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime -link-static/shared-linkable-true/libboost_prg_exec_m\ onitor.dylib" "libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime -link-static/shared-linkable-true/libboost_prg_exec_mo\ nitor.lo" \ \ \ && \ rm -f "libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime -link-static/shared-linkable-true/libboost_prg_exec_monitor\ .lo" ...failed darwin-Link-DyLib-action libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime- link-static/shared-linkable-true/l\ ibboost_prg_exec_monitor.dylib... Unfortunately, I'm stumped.
I get the warning "enumeration value `type_pf' not handled in switch", in several places in libs/regex/src/cregex.cpp. In all cases, the offending lines are protected by ifdefs:
#ifndef BOOST_REGEX_NO_FILEITER case re_detail::RegExData::type_pf: return pdata->fm[i].matched; #endif
It would appear that BOOST_REGEX_NO_FILEITER should be defined in the darwin environment, but isn't. This is the first time I've just Jam, so I'm at a loss to figure out why it's not set right, or how to fix it.
You mean that it probably should not be set on that platform,you can safely ignor the warning but I'll try and suppress it anyway, thanks.
More importantly, I get 6 failures. The bjam output contains the following for the first one:
darwin-Link-DyLib-action libs/test/build/bin/libboost_prg_exec_monitor.dylib/darwin/debug/runtime- link-static/shared-linkable-true/libboost_pr\ g_exec_monitor.dylib ld: Undefined symbols: cpp_main(int, char**)
as long as you don't want to use the test lib as a shared lib then you can ignore those as well. John.
participants (2)
-
John Maddock
-
Roy Smith