Discussion:
[omniORB] Linker issues with Borland 5
Andrew George
2008-07-01 02:17:17 UTC
Permalink
Hello All,



I'm trying to compile and link OmniOrb4 using Borland 5 on Windows XP.

The compilation is fine, but the linker complains it can't find the
following symbols.



omni_thread::init_t( )

_omniFinalCleanup:: _omniFinalCleanup( )

CORBA::TRANSIENT::~TRANSIENT( )

CORBA::SystemExcepton::~SystemException

CORBA:: Excepton::~ Exception

Omni::releaseObjectRef( . )

CORBA::ORB_init( )

Item::_narrow( )

CORBA::Object::_PR_magic

CORBA::use_nil_ptr_as_nil_objref( )



I've tried using both coff2omf and implib -a to generate usable Borland
libraries for the omniORB4.dll and omnithread.dll.

I still get the same link errors, however. Examining the libs generated with
Tdump shoes me symbols which still appear to be mangled.



Any suggestions on what I'm missing?



Thanks,



Andy

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20080630/97121638/attachment.htm
Olivier Thiboutot
2008-07-01 20:29:41 UTC
Permalink
Hi,

Here is our workaround to produce Borland LIB flavour from MSVC dlls

impdef -a Target.def Target.dll
implib Target_B.lib Target.def

It may also work with Omni. I never try it for Omni DLL.

Best regards

P.S. if you need one of those exe, send an email, I will reply to you

Olivier Thibout?t
D?veloppeur logiciel principal - TAO

VOXCO Canada

-----Original Message-----
From: omniorb-list-***@omniorb-support.com [mailto:omniorb-list-***@omniorb-support.com] On Behalf Of omniorb-list-***@omniorb-support.com
Sent: 1 juillet 2008 07:00
To: omniorb-***@omniorb-support.com
Subject: omniORB-list Digest, Vol 63, Issue 1

Send omniORB-list mailing list submissions to
omniorb-***@omniorb-support.com

To subscribe or unsubscribe via the World Wide Web, visit
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
or, via email, send a message with subject or body 'help' to
omniorb-list-***@omniorb-support.com

You can reach the person managing the list at
omniorb-list-***@omniorb-support.com

When replying, please edit your Subject line so it is more specific than "Re: Contents of omniORB-list digest..."


Today's Topics:

1. Linker issues with Borland 5 (Andrew George)


----------------------------------------------------------------------

Message: 1
Date: Mon, 30 Jun 2008 14:17:32 -0600
From: "Andrew George" <***@carl.org>
Subject: [omniORB] Linker issues with Borland 5
To: <omniorb-***@omniorb-support.com>
Message-ID: <005701c8daee$5751a820$***@CarlHQ.Carl.org>
Content-Type: text/plain; charset="us-ascii"

Hello All,



I'm trying to compile and link OmniOrb4 using Borland 5 on Windows XP.

The compilation is fine, but the linker complains it can't find the following symbols.



omni_thread::init_t( )

_omniFinalCleanup:: _omniFinalCleanup( )

CORBA::TRANSIENT::~TRANSIENT( )

CORBA::SystemExcepton::~SystemException

CORBA:: Excepton::~ Exception

Omni::releaseObjectRef( . )

CORBA::ORB_init( )

Item::_narrow( )

CORBA::Object::_PR_magic

CORBA::use_nil_ptr_as_nil_objref( )



I've tried using both coff2omf and implib -a to generate usable Borland libraries for the omniORB4.dll and omnithread.dll.

I still get the same link errors, however. Examining the libs generated with Tdump shoes me symbols which still appear to be mangled.



Any suggestions on what I'm missing?



Thanks,



Andy

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20080630/97121638/attachment-0001.htm

------------------------------

_______________________________________________
omniORB-list mailing list
omniORB-***@omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list


End of omniORB-list Digest, Vol 63, Issue 1
*******************************************
Andrew George
2008-07-01 22:36:27 UTC
Permalink
Thanks for the reply, Olivier.

I gave that a try but got the following:
Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
Name: 'omniORB412_vc8_rt' Ext: '.dll' Base: 0x00000000
Name: 'OMNIORB412_VC8_RT.DLL' Ext: '.dll' Base: 0x00000000
Error omniORB412_vc8_rt.def(4): Invalid character in .DEF file

The problem seems to be that the OmniORB4 DLLs contain mangled/decorated
symbols. I can generate Borland import libraries for omniORB4.dll and
omnitthread.dll, but the symbols in that are also mangled, hence the
disconnect between the undecorated function calls in the source and the
mangled ones in the import library.

Thanks,

Andy

Happy Canada Day, by the way.








-----Original Message-----
From: Olivier Thiboutot [mailto:***@voxco.com]
Sent: Tuesday, July 01, 2008 8:28 AM
To: omniorb-***@omniorb-support.com; ***@carl.org
Subject: RE: Linker issues with Borland 5

Hi,

Here is our workaround to produce Borland LIB flavour from MSVC dlls

impdef -a Target.def Target.dll
implib Target_B.lib Target.def

It may also work with Omni. I never try it for Omni DLL.

Best regards

P.S. if you need one of those exe, send an email, I will reply to you

Olivier Thibout?t
D?veloppeur logiciel principal - TAO

VOXCO Canada

-----Original Message-----
From: omniorb-list-***@omniorb-support.com
[mailto:omniorb-list-***@omniorb-support.com] On Behalf Of
omniorb-list-***@omniorb-support.com
Sent: 1 juillet 2008 07:00
To: omniorb-***@omniorb-support.com
Subject: omniORB-list Digest, Vol 63, Issue 1

Send omniORB-list mailing list submissions to
omniorb-***@omniorb-support.com

To subscribe or unsubscribe via the World Wide Web, visit
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
or, via email, send a message with subject or body 'help' to
omniorb-list-***@omniorb-support.com

You can reach the person managing the list at
omniorb-list-***@omniorb-support.com

When replying, please edit your Subject line so it is more specific than
"Re: Contents of omniORB-list digest..."


Today's Topics:

1. Linker issues with Borland 5 (Andrew George)


----------------------------------------------------------------------

Message: 1
Date: Mon, 30 Jun 2008 14:17:32 -0600
From: "Andrew George" <***@carl.org>
Subject: [omniORB] Linker issues with Borland 5
To: <omniorb-***@omniorb-support.com>
Message-ID: <005701c8daee$5751a820$***@CarlHQ.Carl.org>
Content-Type: text/plain; charset="us-ascii"

Hello All,



I'm trying to compile and link OmniOrb4 using Borland 5 on Windows XP.

The compilation is fine, but the linker complains it can't find the
following symbols.



omni_thread::init_t( )

_omniFinalCleanup:: _omniFinalCleanup( )

CORBA::TRANSIENT::~TRANSIENT( )

CORBA::SystemExcepton::~SystemException

CORBA:: Excepton::~ Exception

Omni::releaseObjectRef( . )

CORBA::ORB_init( )

Item::_narrow( )

CORBA::Object::_PR_magic

CORBA::use_nil_ptr_as_nil_objref( )



I've tried using both coff2omf and implib -a to generate usable Borland
libraries for the omniORB4.dll and omnithread.dll.

I still get the same link errors, however. Examining the libs generated with
Tdump shoes me symbols which still appear to be mangled.



Any suggestions on what I'm missing?



Thanks,



Andy

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20080630/9
7121638/attachment-0001.htm

------------------------------

_______________________________________________
omniORB-list mailing list
omniORB-***@omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list


End of omniORB-list Digest, Vol 63, Issue 1
*******************************************
Gordan Sikic
2008-07-03 18:39:10 UTC
Permalink
Hi,


> I gave that a try but got the following:
> Borland Implib Version 3.0.22 Copyright (c) 1991, 2000 Inprise Corporation
> Name: 'omniORB412_vc8_rt' Ext: '.dll' Base: 0x00000000
> Name: 'OMNIORB412_VC8_RT.DLL' Ext: '.dll' Base: 0x00000000
> Error omniORB412_vc8_rt.def(4): Invalid character in .DEF file
>
> The problem seems to be that the OmniORB4 DLLs contain mangled/decorated
> symbols. I can generate Borland import libraries for omniORB4.dll and
> omnitthread.dll, but the symbols in that are also mangled, hence the
> disconnect between the undecorated function calls in the source and the
> mangled ones in the import library.

You are obviously using precompiled dll's for VC8 with bcc32. Since M$
and Borland use different mangling schemes, it is not generally possible
to use MS compiled DLL's containing C++ API with Borland compiler.

Implib will not help you, for the same reason. On the other hand, for
DLL's containing C interface only, implib does excellent job.

I'd suggest to download complete sources, and compile *everything* using
Borland compiler.


best regards,
Gordan
Loading...