[omniORB] how to rebuild echo with static omniORB libraries?

Dmitry Mityugov OxDD@digitalme.com
Fri, 25 May 2001 19:18:19 +0400


Sai-Lai Lo wrote:

> The example code and its stub should also be compiled with -D_WINSTATIC,
(as
> documented in README.win32).  Otherwise, dllimport attribute will be
> attached to various runtime symbols.

The instructions for Microsoft Developer Studio are a bit strange place for
this information, but anyway that did the trick, thanks. Visual C++ still
complains about 3 imports linked locally (all of them are from
omnithread.lib), but CodeWarrior produces different link errors. It
complains about unresolved symbols gateKeeper::allowFile,
gateKeeper::denyFile, gateKeeper::checkConnect and gateKeeper::version:

### mwld Linker Error:
#   Undefined symbol: ?allowFile@gateKeeper@@2AAPADA
#   'char * & gateKeeper::allowFile' in
#      omniORB3.lib (initFile.obj)
### mwld Linker Error:
#   Undefined symbol: ?denyFile@gateKeeper@@2AAPADA
#   'char * & gateKeeper::denyFile' in
#      omniORB3.lib (initFile.obj)
### mwld Linker Error:
#   Undefined symbol: ?checkConnect@gateKeeper@@SA_NPAVtcpSocketStrand@@@Z
#   'bool gateKeeper::checkConnect(class tcpSocketStrand *)' in
#      omniORB3.lib (tcpSocketMTfactory.obj)
### mwld Linker Error:
#   Undefined symbol: ?version@gateKeeper@@SAPBDXZ
#   'char const * gateKeeper::version()' in
#      omniORB3.lib (tcpSocket.obj)

Errors caused tool to abort.
make: *** [eg1.exe] Error 1

In initFile.cc I found this place, strange enough even for the author,
according to (the only) comment:

...
#ifdef _MSC_VER
    //??
    else if (strcmp(entryname, "GATEKEEPER_ALLOWFILE") == 0) {
      omniORB::logs(1, "WARNING -- gatekeeper disabled.");
    }
    else if (strcmp(entryname, "GATEKEEPER_DENYFILE") == 0) {
      omniORB::logs(1, "WARNING -- gatekeeper disabled.");
    }
#else
    else if (strcmp(entryname, "GATEKEEPER_ALLOWFILE") == 0) {
      gateKeeper::allowFile = CORBA::string_dup(data);
    }
    else if (strcmp(entryname, "GATEKEEPER_DENYFILE") == 0) {
      gateKeeper::denyFile = CORBA::string_dup(data);
    }
#endif
...

What branch should I port to NetWare?

Thank you in advance.

Dmitry