How to build regex on an Alpha-Dec (True64)?
Hi All,
I am having trouble with regex on an Alpha-Dec with Compaq's compiler 6.3.
I've got regex to compile with generic.mak as follows:
CXX="cxx" CXXFLAGS="-inline-none" -D__USE_STD_IOSTREAM
-DBOOST_REGEX_NO_EXTERNAL_TEMPLATES" LINKER="cxx" gnumake generic.mak
but then it comes to the link step an error occures:
ld:
Unresolved:
main
Nevertheless, boost_regex.so is being build, but when I try to link an
application with boost_regex.so I do get loads of errors concerning the
C++ standard library:
ld (prelink):
/usr/lib/cmplrs/cxx/V6.3-008/libcxxstd.a(cxxl_std_init.o): std::cout:
multiply defined
Warning: std::basic_string
I am having trouble with regex on an Alpha-Dec with Compaq's compiler 6.3.
I've got regex to compile with generic.mak as follows:
CXX="cxx" CXXFLAGS="-inline-none" -D__USE_STD_IOSTREAM -DBOOST_REGEX_NO_EXTERNAL_TEMPLATES" LINKER="cxx" gnumake generic.mak
but then it comes to the link step an error occures:
ld: Unresolved: main
wierd, do compaq shared libs require a main?
Nevertheless, boost_regex.so is being build, but when I try to link an application with boost_regex.so I do get loads of errors concerning the C++ standard library:
ld (prelink): /usr/lib/cmplrs/cxx/V6.3-008/libcxxstd.a(cxxl_std_init.o): std::cout: multiply defined Warning: std::basic_string
::npos defined as GLOBAL RCONST but is defined in a shared lib as a GLOBAL OBJECT Warning: std::basic_string , std::allocator >::npos defined as GLOBAL RCONST but is defined in a shared lib as a GLOBAL OBJECT Warning: std::locale::collate defined as GLOBAL RCONST but is defined in a shared lib as a GLOBAL OBJECT Warning: std::locale::ctype defined as GLOBAL RCONST but is defined in a shared lib as a GLOBAL OBJECT Warning: std::locale::monetary defined as GLOBAL RCONST but is defined in a shared lib as a GLOBAL OBJECT Warning: std::locale::numeric defined as GLOBAL RCONST but is defined in a shared lib as a GLOBAL OBJECT
Looks like the std lib deffinitions are being duplicated in the regex .so, there may be some define you can set to suppress this, but otherwise, can you build as a static library (either use bjam or else just compile all the source files and put them in a shared lib using your usual build tool - there is nothing special going on here). John.
Ralf Hupfer wrote:
I am having trouble with regex on an Alpha-Dec with Compaq's compiler 6.3.
I've got regex to compile with generic.mak as follows:
CXX="cxx" CXXFLAGS="-inline-none" -D__USE_STD_IOSTREAM -DBOOST_REGEX_NO_EXTERNAL_TEMPLATES" LINKER="cxx" gnumake generic.mak
but then it comes to the link step an error occures:
ld: Unresolved: main
Somewhere in the compiler's docs they tell you to ignore this error message. It's a symptom of the way they build the .so library that is similiar to building an executable program. They do it this way to bring in the template instantiations, but a byproduct is the complaint about the executable not having a main() function. -- Dick Hadsell 914-259-6320 Fax: 914-259-6499 Reply-to: hadsell@blueskystudios.com Blue Sky Studios http://www.blueskystudios.com 44 South Broadway, White Plains, NY 10601
Ralf Hupfer
Hi All,
I am having trouble with regex on an Alpha-Dec with Compaq's compiler 6.3.
I've got regex to compile with generic.mak as follows:
CXX="cxx" CXXFLAGS="-inline-none" -D__USE_STD_IOSTREAM -DBOOST_REGEX_NO_EXTERNAL_TEMPLATES" LINKER="cxx" gnumake generic.mak
Did you try using Boost.Build? I have used it for Boost.Python stuff on Tru64 with great success. -- Dave Abrahams Boost Consulting www.boost-consulting.com
participants (4)
-
David Abrahams
-
John Maddock
-
Ralf Hupfer
-
Richard Hadsell