From: Ralf Hupfer (yg-boost-users_at_[hidden])
Date: 2003-04-15 06:57:28


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<char, std::char_traits<char>,
std::allocator<char> >::npos defined as GLOBAL RCONST but is defined in
a shared lib as a GLOBAL OBJECT
Warning: std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >::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

...

Does anybody know what's wrong there? Both -D__USE_STD_IOSTREAM and
-DBOOST_REGEX_NO_EXTERNAL_TEMPLATES are necessary to compile regex at
all. -D__USE_STD_IOSTREAM tells the compiler to use the standard
iostream library instead of the older non-standard version (which is the
default for this platform). Without -DBOOST_REGEX_NO_EXTERNAL_TEMPLATES
the compiler complains about some templates.

I also tried to compile regex with gcc, but again I could not link the
application. Linking gcc-compiled (c++) libraries with Compaq's object
files and vice versa does not seem to work in generall. Building
everything with gcc failed due to seome other incompatibilities.

Thanks for any help.

Ralf