Discussion:
[omniORB] Error when linking omnissl DLLs
Peter Klotz
2009-10-28 01:54:50 UTC
Permalink
When compiling omniORB 4.1.4 with OpenSSL support under Windows (VS
2005) I obtain the linker error below.

The omniORB build process does not stop, so the error is easily overlooked.

The attached patch fixes this error by additionally linking against
user32.lib and gdi32.lib.

I link against a static OpenSSL 0.9.8k library.

Regards, Peter.


+ ../../../../../bin/x86_win32/linkwrapper -gnuwin32
-out:shared/omnisslTP414_vc8_rt.dll -DLL -nologo -DEBUG
-def:shared/omnisslTP4.def -IMPLIB:shared/omnisslTP414_rt.lib
-libpath:../../../../../lib/x86_win32 shared/sslActive.o
shared/sslAddress.o shared/sslConnection.o shared/sslEndpoint.o
shared/sslTransportImpl.o shared/sslContext.o shared/msvcdllstub.o
-libpath:../shared omniORB414_rt.lib omnithread34_rt.lib ws2_32.lib
mswsock.lib advapi32.lib
-libpath:/cygdrive/c/devel/EXTLIBS/nativ/win32/cl1400.hotfix/omniORB4/4.1.4-test/OpenSSL-0.9.8k/lib
ssleay32.lib libeay32.lib shared/omnisslTP414_vc8_rt.res
link -out:shared\omnisslTP414_vc8_rt.dll -DLL -nologo -DEBUG
-def:shared\omnisslTP4.def -IMPLIB:shared/omnisslTP414_rt.lib
-libpath:..\..\..\..\..\lib\x86_win32 shared\sslActive.o
shared\sslAddress.o shared\sslConnection.o shared\sslEndpoint.o
shared\sslTransportImpl.o shared\sslContext.o shared\msvcdllstub.o
-libpath:..\shared omniORB414_rt.lib omnithread34_rt.lib ws2_32.lib
mswsock.lib advapi32.lib
-libpath:c:\devel\EXTLIBS\nativ\win32\cl1400.hotfix\omniORB4\4.1.4-test\OpenSSL-0.9.8k\lib
ssleay32.lib libeay32.lib
shared\omnisslTP414_vc8_rt.resshared\omnisslTP4.def(1) : warning
LNK4093: Drive/Directory component ignored in 'LIBRARY' statement
Creating library shared/omnisslTP414_rt.lib and object
shared/omnisslTP414_rt.exp
libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol
***@20 referenced in function
_OPENSSL_isservice
libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol
***@0 referenced in function _OPENSSL_isservice
libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol
***@0 referenced in function _OPENSSL_isservice
libeay32.lib(cryptlib.obj) : error LNK2019: unresolved external symbol
***@16 referenced in function _OPENSSL_showfatal
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@4 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@4 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@12 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@36 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@12 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@8 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@12 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@8 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@4 referenced in function _readscreen
libeay32.lib(rand_win.obj) : error LNK2019: unresolved external symbol
***@16 referenced in function _readscreen
shared\omnisslTP414_vc8_rt.dll : fatal error LNK1120: 14 unresolved
externals
+ mt.exe /outputresource:shared/omnisslTP414_vc8_rt.dll;#2 /manifest
shared/omnisslTP414_vc8_rt.dll.manifest
Microsoft (R) Manifest Tool version 6.0.4071.0
Copyright (c) Microsoft Corporation 2004.
All rights reserved.

mt.exe:general error c101008d:Failed to write the updated manifest to
the resource of file "shared/omnisslTP414_vc8_rt.dll". The system cannot
find the file specified.
+ cp shared/omnisslTP414_rt.lib omnisslTP4_rt.lib
+ install -c static/omnisslTP4.lib ../../../../../lib/x86_win32
YYY static/omnisslTP4.lib static/omnisslTP4.pdb
+ install -c shared/omnisslTP414_rt.lib ../../../../../lib/x86_win32
+ install -c omnisslTP4_rt.lib ../../../../../lib/x86_win32
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniORB-4.1.4-OpenSSL_Windows.patch
Type: text/x-patch
Size: 599 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20091027/1048a135/omniORB-4.1.4-OpenSSL_Windows.bin
Duncan Grisby
2009-12-07 23:43:27 UTC
Permalink
Post by Peter Klotz
When compiling omniORB 4.1.4 with OpenSSL support under Windows (VS
2005) I obtain the linker error below.
The omniORB build process does not stop, so the error is easily overlooked.
The attached patch fixes this error by additionally linking against
user32.lib and gdi32.lib.
I link against a static OpenSSL 0.9.8k library.
Sorry for taking ages to look at this. The problem is the use of the
static OpenSSL library. With a DLL version there's no linking problem.
That said, I don't think there's any harm in linking with those
additional libraries, so I've checked the change in to svn.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...