Re: binaries compiled on slink don't run anywhere else
On Sat, Nov 14, 1998 at 07:16:06PM -0500, Dale Scheetz wrote:
> Binary packages compiled on Hamm don't run on Bo, nor do all Bo packages
> run on Rex. When you build packages, you often have to make sure that the
> libraries you build with are the same as the ones on the target machine.
>
> 2.0.7u declares its lack of backward compatibility with shlibdeps, and by
> conflicting with early sysklogd versions.
I have to disagree here. libc6 contains a library with a soname of
libc.so.6; in Red Hat there's a library with the same soname. If the
libraries are not compatible they should not have the same sonames. I
*am* making sure the same libraries are available on both
systems. (See below)
As others have pointed out, the problem seems to come from egcs, not
the C library itself. A simple "Hello, world!" program can be
compiled with gcc and you'll get a binary that works on RH. I have a
short Fortran program compiled with g77 and the resulting binary is
linked against libc and libm:
$ ldd ./1000s-O2
libm.so.6 => /lib/libm.so.6 (0x4000f000)
libc.so.6 => /lib/libc.so.6 (0x40027000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
this won't run on a RH system. This is what misled me to think the
problem came from libc and not the compiler; I have made some
testing, and it seems pure C programs will run ok, but C++ won't
(i.e., things compiled with egcs)
Now, what's the big deal with this? The problem is I can't use Slink
as a development plataform! I can't develop my program on Debian,
provide precompiled binaries and expect them to run on other systems!
This is important for me because I'm not in control of every single
pc I have access to, and some of those run RH -- and some don't even
have a dammed compiler installed (yes, there *are* linux boxes
without a compiler installed)
The __register_frame_info function lives in the C library. It seems
it popped into existance there with 2.0.7u-something (2.0.7t doesn't
have that). Oddly enough, I didn't find anything by that name on the
source. Do you happen to have cc == egcs by any chance?
I guess we can live with .deb's that won't run on other systems, but
I don't think Slink should be released with compilers that produce
binaries like this.
Marcelo
Reply to: