Linux Binary Compatibility
Can somebody tell me how this works ? Is this something like Wine ?
And how fast is it. Do the programs work the same speed as they do
unter Linux or are they slower ?
Not really. Wine emulates the APIs, including DLLs.Quote:> Is this something like Wine ?
Programs that spend most of their time in user space should work withQuote:> And how fast is it. Do the programs work the same speed as they do
> unter Linux or are they slower ?
stanislav shalunov | Speaking only for myself.
Quote:>Linux Binary Compatibility
>Can somebody tell me how this works ? Is this something like Wine ?
>And how fast is it. Do the programs work the same speed as they do
>unter Linux or are they slower ?
I have a project at work that requires statically linking a 3rd-party
library against our fortran code under linux. However, the 3rd-party
library is only provided in sgi, hp-unix, and sun formats (not
linux-native). The linux bin-tools (ar, nm, etc) can't make heads or
tails of the sgi or hp-unix files, but are able to inspect and unpack
the sun library archive. The problem comes that the compile fails
when trying to link in the 3rd-party sun library files. Ideally, we'd
like to create an executable that can by easily distributed to client
sites running linux, so options that involve installation of special
software (e.g. solaris shared libraries) or recompiling the kernel to
add special support would be less desirable.
So, my question is this: Under what circumstances can linux link in
binary objects from other OSs (sun, in particular; x86 vs sparc
vs...). And what special steps/flags (if any) are required to allow
For reference, here's some system info:
$ uname -a
Linux jedi-master 2.4.18-6mdkenterprise #1 SMP Fri Mar 15 02:28:20 CET
2002 i686 unknown
$ gcc -v
gcc version 2.96 20000731 (Mandrake Linux 8.2 2.96-0.76mdk)
$ ld -v
GNU ld version 220.127.116.11.12 20011121
$ file binlib-sun.o
binlib-sun.o: ELF 32-bit MSB relocatable, SPARC32PLUS, V8+ Required,
Sun UltraSPARC1 Extensions Required, version 1 (SYSV), not stripped
$ file main.o (example linux object file)
ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not
$ pgf90 main.o -o ../main.exe (..snip..) binlib-sun.o
/usr/bin/ld: binlib-sun.o: Relocations in generic ELF (EM: 18)
binlib-sun.o: could not read symbols: File in wrong format
Any advice would be much appreciated!