[omniORB] RE : problem buiding omniorb Solaris 5.8 gcc3.1
Clement.VISSEAUX@sercel.fr
Clement.VISSEAUX@sercel.fr
Tue May 28 13:36:01 2002
when installing gcc 3.1 the omniidl python program does not work any more on solaris
in fact, the omniidlrun.py ( omniidl ) can not load properly the omniidlmodule.so due to __eprintf unresolved external
the _omniidlmodule.so library is built from the source code in omni/src/tool/omniidl/cxx
some of C++ files contain the call to the function assert () with the include file assert.h
this include file calls _asserts () that calls _eprintf () which turns out to be unresolved because
assert,h is a solaris include file that calls a solaris primitive ,and not a GNU primitive .
assert () is used to output messages .
some hints to tackle this problem ;
- recover a GNU assert.h and place in in /usr/local/include/
-or write your own assert.h that does not call _assert () and place iit in /usr/local
- or write your own eprintf
- or recompile omni/src/tool/omniidl/cxx ( make clean; make export ) : add in dir.mk the following line
DIR_CPPFLAGS += -DNDEBUG
doing so , assert. () is replaced in the macro by no code ( see assert.h )
( error mesages will not be printed anymore in omniiidl, but it works )
cheers