Re: Porting ViaVoice from Linux to OS X;
Re: Porting ViaVoice from Linux to OS X;
- Subject: Re: Porting ViaVoice from Linux to OS X;
- From: Markus Hitter <email@hidden>
- Date: Wed, 10 Nov 2004 08:25:10 +0100
Am 09.11.2004 um 21:55 schrieb Matt Budd (Madentec):
ld: /opt/IBM/ibmtts/lib/libibmeci.so bad magic number (not a Mach-O
file)
I am assuming that this is because the shared-object library (the .so
file) is in ELF format where as OS X expects shared object libraries
to be in Mach-O format (dylib?).
"file /opt/IBM/ibmtts/lib/libibmeci.so" will tell you a few more
details.
I am only given the .so file in Linux format, and don't have the
source to recompile it on OS X as a dylib. Is there anything I can do
to convert this .so to a .dylib?
In principle, there's "objcopy", part of GNU binutils. Problem is,
Darwin currently isn't a supported target platform of GNU binutils.
There's a small hope however, since Darwin's assembler and linker are
based on GNU binutils 1.38, which was current several years ago.
Supporting Darwin in current GNU binutils would be a pretty project on
it's own. I'm looking into this myself but don't expect anything.
Also, I am trying to static linking at compile time, but possibly
could look at performing dynamic loading at runtime if that would get
this to work.
Alternative is to mimic an ELF dynamic linker. Linux' or NetBSD's
ld.elf sources would be a start. Dunno which of both can be done more
easily.
With both approaches, you probably need to provide some additional
libraries to satisfy libibmeci.so's dependencies. Linking it against
Darwin's system libraries directly won't work, but coding this
compatibility lib is the easier part to be done.
HTH,
Markus
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. Markus Hitter
http://www.jump-ing.de/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden