pnkfelix / larceny-test

test import of trac db
Other
2 stars 0 forks source link

Larceny binary release and Debian Etch: libc incompatible #546

Open larceny-trac-import opened 11 years ago

larceny-trac-import commented 11 years ago

_Reported by: pnkfelix on Mon Jun 23 17:26:35 2008 _ Apparently we are distributing a runtime that requires GLIBC_2.4

When you try to run the binary release of Larceny on Debian Etch, you get the following error message:

% ./larceny-0.961-bin-native-ia32-linux86/larceny
/home/user/Dev/larcenydev/larceny-0.961-bin-native-ia32-linux86/larceny.bin: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by /home/user/Dev/larcenydev/larceny-0.961-bin-native-ia32-linux86/larceny.bin)
%

Felix reproduced this bug on a virtual image of Debian after seeing the following email dialogue on the larceny-users mailing list.

From David Rush:

I don't know what it is with my Debian systems, but I seem to have
endless problems building Larceny on them. My latest round has
occurred with the 0.961 source code tarball. I can't use the binary
release because of libc incompatibility with my Debian Etch release ...

with a followup from Jed Davis:

Let's see... Etch seems to have glibc 2.3.6, according to
packages.debian.org, and:

$ nm /usr/local/lib/larceny-0.961/larceny.bin| grep ' U .*@@' | tr @ \  | sort -k3 | tail -5
        U dlopen  GLIBC_2.1
        U fclose  GLIBC_2.1
        U fopen  GLIBC_2.1
        U __ctype_b_loc  GLIBC_2.3
        U __stack_chk_fail  GLIBC_2.4

A quick check on the Web suggests invoking GCC with -fno-stack-protector
as one way to prevent that last symbol from being used; I have not
sought to confirm or deny that hypothesis, nor the related question of
whether that's the only issue preventing use on older systems.
larceny-trac-import commented 11 years ago

Author: pnkfelix FYI: one can download a Debian Etch VMWare image here, which may be the easiest way to get started with testing:

http://www.visoracle.com/download/debian/

larceny-trac-import commented 11 years ago

Author: pnkfelix I have confirmed that Jed's suggestion of adding -fno-stack-protector to the gcc invocations (in the Makefile's CFLAGS variable) fixes this problem.

Sorry it took so long for me to get around to this.

larceny-trac-import commented 11 years ago

Author: will Will wonders why this ticket is still open, but see ticket #639.