I have several unresolved symbols in a test routine compiled on tru64,
using libboost_regex-tru.so. The same routine runs great on linux with libboost_regex-gcc.so.
I'm using boost 1.32, cxx version 6.5-041
cxx -o regex regex.o -hidden -lcxxstd -non_hidden -rpath /usr/lib -L/usr/lib -lboost_regex-tru ld: Unresolved: boost::regbase::regbase(void) boost::c_regex_traits<char>::init(void)
Those symbols are definitely in the library source, so I've no idea why you would get unresolved externals.
Are there any diagnostics you can use to check what symbols are in the .so file? I'm fairly sure this worked OK in our automated regression tests, but the Tru64 results seem to have disappeared for now. What happens if you link to the static version of the lib?
John.
Sam results with static linking. I'm not good with reading mangled names but it looks to me like they are there. Am I perhaps missing a link option?
nm libboost_regex-tru-1_32.a |grep regbase [78] |0000000000| |FUNC |GLOB |0 |UNDEF |__7__ct__Q2_5boost7regbaseFv [79] |0000000000| |FUNC |GLOB |0 |UNDEF |__7__ct__Q2_5boost7regbaseFRCQ2_5boost7regbase [55] |0000000000| |FUNC |GLOB |0 |UNDEF |__7__ct__Q2_5boost7regbaseFv [23] |0000003984| |FUNC |GLOB |0 |1 |__7__ct__Q2_5boost7regbaseFv [24] |0000004016| |FUNC |GLOB |0 |1 |__7__ct__Q2_5boost7regbaseFRCQ2_5boost7regbase [58] |0000000000| |FUNC |GLOB |0 |UNDEF |__7__ct__Q2_5boost7regbaseFv