[omniORB] SSL & static linking

Slava Garelin garelin@ukr.net
Fri Sep 6 16:32:01 2002


On Thursday 05 September 2002 17:30, Duncan Grisby wrote:
> On Thursday 5 September, Slava Garelin wrote:
> > I do it.
> > But trouble still exists.
>
> The mechanism used to force modules to link was not working on gcc.
> I've fixed it in CVS. I've also make it so that #including
> <omniORB4/sslContext.h> forces the SSL library to be linked, so you
> don't need to include optionalFeatures.h.
>
> Cheers,
>
> Duncan.

Thanks Duncan! 
 Linux version statically linked SSL works well!

 Opposite here is the result of last snapshot compiling under WinXP, VC++6.0 
SP5

==============================================

+ rm -f shared/omnisslTP40_rt.lib
+ ../../../../../bin/x86_win32/linkwrapper -gnuwin32 
-out:shared/omnisslTP40_rt.
dll -DLL -def:shared/omnisslTP.def -IMPLIB:shared/omnisslTP40_rt.lib 
-libpath:..
/../../../../lib/x86_win32 shared/sslActive.o shared/sslAddress.o 
shared/sslConn
ection.o shared/sslEndpoint.o shared/sslTransportImpl.o shared/sslContext.o 
shar
ed/msvcdllstub.o -libpath:../shared omniORB400_rt.lib omnithread30_rt.lib 
ws2_32
.lib mswsock.lib advapi32.lib -libpath:/C/openssl/lib ssleay32.lib 
libeay32.lib
link -out:shared\omnisslTP40_rt.dll -DLL -def:shared\omnisslTP.def 
-IMPLIB:share
d/omnisslTP40_rt.lib -libpath:..\..\..\..\..\lib\x86_win32 shared\sslActive.o 
sh
ared\sslAddress.o shared\sslConnection.o shared\sslEndpoint.o 
shared\sslTranspor
tImpl.o shared\sslContext.o shared\msvcdllstub.o -libpath:..\shared 
omniORB400_r
t.lib omnithread30_rt.lib ws2_32.lib mswsock.lib advapi32.lib 
-libpath:\C\openss
l\lib ssleay32.lib libeay32.lib
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

   Creating library shared/omnisslTP40_rt.lib and object 
shared/omnisslTP40_rt.e
xp
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__De
leteDC@4
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__De
leteObject@4
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Ge
tBitmapBits@12
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Bi
tBlt@36
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Ge
tObjectA@12
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Se
lectObject@8
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Cr
eateCompatibleBitmap@12
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Ge
tDeviceCaps@8
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Cr
eateCompatibleDC@4
libeay32.lib(rand_win.obj) : error LNK2001: unresolved external symbol 
__imp__Cr
eateDCA@16
shared\omnisslTP40_rt.dll : fatal error LNK1120: 10 unresolved externals
make[4]: *** [shared/omnisslTP40_rt.lib] Error 96
make[4]: Leaving directory 
`/cygdrive/c/CORBA/omni/src/lib/omniORB/orbcore/ssl'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/cygdrive/c/CORBA/omni/src/lib/omniORB/orbcore'
make[2]: *** [export] Error 2
make[2]: Leaving directory `/cygdrive/c/CORBA/omni/src/lib/omniORB'
make[1]: *** [export] Error 2
make[1]: Leaving directory `/cygdrive/c/CORBA/omni/src/lib'
make: *** [export] Error 2

======================================

-- 
Slava Garelin