[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: