Scott Zhong wrote:
Hi while compiling executables with stdcxx I ran into the following warnings during linking with +nostl flag:ld: (Warning) Unsatisfied symbol "ostream::operator <<(const char *)" in file /usr/lib/pa20_64/libstd.sl ld: (Warning) Unsatisfied symbol "Class tables [Vtable] for type "bad_alloc"" in file /usr/lib/pa20_64/libstd.sl ld: (Warning) Unsatisfied symbol "Class tables [Vtable] dependent on key function: "exception::~exception()"" in file /usr/lib/pa20_64/libstd.sl ld: (Warning) Unsatisfied symbol "typeid<exception>" in file /usr/lib/pa20_64/libstd.sl ld: (Warning) Unsatisfied symbol "exception::~exception()" in file /usr/lib/pa20_64/libstd.sl ld: (Warning) Unsatisfied symbol "istream::do_ipfx(int)" in file /usr/lib/pa20_64/libstd.sl after some research, I found that the compile lines needed +nostl as well to not include the stl that was shipped with HP-UX compiler. But doing this I ran into compiler issues such as these: # aCC +DD64 -D_RWSTD_USE_CONFIG -D_RWCONFIG=11d -I/build/include -AA -g -DRWDEBUG +nostl +w +W229 +W361 +W392 +W431 +W655 +W684 +W818 +W819 +W849 +W889 +W887 +W921 -D_RWSTDDEBUG -c sizeof.cpp Error 112: "sizeof.cpp", line 4 # Include file <stdio.h> not found. #include <stdio.h> ^^^^^^^^^ Error 328: "sizeof.cpp", line 16 # Function 'printf' has not been defined yet; cannot call. printf ("/**/\n#undef RW_SIZEOF\n"); ^^^^^^ Error 328: "sizeof.cpp", line 44 # Function 'size_t' has not been defined yet; cannot call. do_print ( (size_t)(0), "SIZE_T"); ^^^^^^ After some searching, this macro seems to be the cause of the error: _RWSTD_NO_DEPRECATED_C_HEADERS It is defined in the file include/rw/_config-acc.h. Is there any reason behind the definition for that macro on HP UX platform or was it simply being defined because hp compiler ships with a version of stdcxx library?
There is a reason. There is some (brief) background in STDCXX-501: http://issues.apache.org/jira/browse/STDCXX-501 Martin
