
cat test.cpp #include <boost/regex.hpp> using namespace boost; int main (void) { regex expr("foo"); return 0; } g++ -I sources/3rdParty/boost -I sources/3rdParty/local-config/linux/ -Lsources/3rdParty/releases/linux/debug [works] g++ -I sources/3rdParty/boost -I sources/3rdParty/local-config/linux/ -Lsources/3rdParty/releases/linux/release
Hello all. I am having problems compiling with boost 1.34.1 regex in release on linux (RedHat kernel 2.4.21-4.Elsmp/i686) I get the following (using a simple test case that seems to reproduce the problem): sources/3rdParty/releases/linux/release//libboost_regex.so: undefined reference to 'boost::re_detail::cpp_regex_traits_implementation<char>::isctype(char, unsigned) const' collect2: ld returned 1 exit status The following includes information used to compile the release build, taken from config.status (with some unnecessary defines cleaned up). Note that a very similar line is executed to create the debug executables, the only real difference is that debug does not have -O3 and defines instead of NDEBUG the macros DEBUG and _DEBUG. // Use this file to define a site and compiler specific // configuration policy, this version was auto-generated by // configure on Wed Mar 5 16:04:54 IST 2008 // With the following options: // CXX = /usr/local/bin/distcc /usr/local/bin/g++ // CXXFLAGS = -I sources/3rdParty/boost/libs/config/../.. -I sources/3rdParty/boost/libs/config/../../libs/config/test -ggdb -DNDEBUG -pthread -fPIC -fnon-call-exceptions -DNO_WIN32 -DTCHAR=wchar_t -DUNICODE -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D__USE_FILE_OFFSET64 -DBOOST_ALL_DYN_LINK -DOPENSSL_NO_KRB5 -I sources/3rdParty/local-config/linux -O3 -DBOOST_NO_CONFIG // LDFLAGS = -ggdb -DNDEBUG -pthread -fPIC -fnon-call-exceptions -DNO_WIN32 -DTCHAR=wchar_t -DUNICODE -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D__USE_FILE_OFFSET64 -DBOOST_ALL_DYN_LINK -DOPENSSL_NO_KRB5 // LIBS = -lrt -lm -lpthread I am using g++ 3.3.3. The above happens even when the first line of test.cpp defines BOOST_REGEX_BUGGY_CTYPE_FACET The release libboost_regex is ~660k in size, whereas the debug is ~5.5M, so I'd really appreciate being able to compile regex in release, and definitely the other boost libraries as well (which don't cause problems and have a similar ratio of release/debug sizes). Any suggestions? Yitzhak Sapir CONFIDENTIALITY CAUTION This e-mail and any attachments may be confidential or legally privileged. If you received this message in error or are not the intended recipient, you should destroy the e-mail message and any attachments or copies, and you are prohibited from retaining, distributing, disclosing or using any information contained herein. Please inform us of the erroneous delivery by return e-mail. Thank you for your cooperation.