[racket-dev] mzscheme executable broken when using --enable-shared
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Matthew,
On 04/18/11 04:00, Imran Rafique wrote:
> Ah, that would explain it (Marijn is packaging racket for gentoo, as
> part of the gentoo-lisp group). Binaries are stripped by default
> pre-installation by the emerge packager.
Imran is correct.
> On 18 April 2011 00:39, Matthew Flatt <mflatt at cs.utah.edu> wrote:
>> Was `strip' or a similar tool run on the `mzscheme' executable?
>>
>> Except for `racket', `gracket', and executables created as shell
>> scripts, Racket executables are generated by cloning `starter' and
>> appending extra data to the end of the executable file. Simply
>> appending data to the end of the file is a hack; it doesn't create a
>> well-formed ELF binary. Using `strip' or similar tools on the broken
>> binary tends to just throw away the data, which would lead to an error
>> like the one you reported.
>>
>> I've pushed changes that add to `starter' in a proper ELF section. Even
>> if you didn't run `strip', having a valid ELF binary may fix the
>> problem you're seeing.
I tried to test your changes, but ran into an (unrelated I think)
compile failure:
x86_64-pc-linux-gnu-gcc -I./.. -I./../include
- -I/usr/lib64/libffi-3.0.10rc8/include -DMZ_DONT_USE_JIT
- -DMZ_USES_SHARED_LIB -c ./module.c -fPIC -DPIC -o .libs/module.o
/var/tmp/portage/dev-scheme/racket-999/work/racket-999/src/lt/libtool
- --mode=compile --tag=CC x86_64-pc-linux-gnu-gcc -I./.. -I./../include
-I/usr/lib64/libffi-3.0.10rc8/include -DMZ_DONT_USE_JIT
- -DMZ_USES_SHARED_LIB -c ./mzrt.c -o mzrt.lo
./module.c: In function 'do_module_execute':
./module.c:5278: error: 'scheme_module_code_cache' undeclared (first use
in this function)
./module.c:5278: error: (Each undeclared identifier is reported only once
./module.c:5278: error: for each function it appears in.)
make[6]: *** [module.lo] Error 1
Marijn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk2r8i0ACgkQp/VmCx0OL2w6pwCgyPsC25mIOgur+YpA/nMpLPPX
QIYAn3LHhcfdf6Xdv29z7qVDefv8SPVf
=dsGD
-----END PGP SIGNATURE-----