|
From: SourceForge.net <no...@so...> - 2011-04-03 13:01:24
|
Bugs item #3017588, was opened at 2010-06-17 15:12 Message generated for change (Comment added) made by haible You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=3017588&group_id=1355 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: clisp Group: build problems Status: Open Resolution: None Priority: 5 Private: No Submitted By: Pascal J. Bourguignon (informatimago) Assigned to: Bruno Haible (haible) >Summary: ari80386.c not generated <= discrepancy kernel/system Initial Comment: I'm running on Xen-4 a linux kernel for x86_64 (in an Intel i7), a virtual machine containing a debian lenny 32-bit system. uname -m reports x86_64, but all the tools and libraries are 32-bit. [pjb@mdi-development-1 localhost:12.0 ~]$ file /bin/ls /usr/lib/libcallback.so.0.0.0 /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped /usr/lib/libcallback.so.0.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped [pjb@mdi-development-1 localhost:12.0 ~]$ uname -m x86_64 When compiling clisp-2.48 # Doing INSTALL-PACKAGE on #<TARBALL-PACKAGE clisp> { ( source /usr/local/env.sh ; tar jxf "clisp-2.48.tar.bz2" ) >> /home/pjb/firms/medicalis/src/tools/clisp-2.48.log 2>&1 ; } { ( source /usr/local/env.sh ; ( cd "clisp-2.48" ; patch -p2 < ../"clisp-2.48"-sudo.patch ) ) >> /home/pjb/firms/medicalis/src/tools/clisp-2.48.log 2>&1 ; } # Current directory: /home/pjb/firms/medicalis/src/tools/clisp-2.48/ { ( source /usr/local/env.sh ; CFLAGS=-I"/usr/local"/include LDFLAGS=-L"/usr/local"/lib ./configure --prefix="/usr/local" && (cd src ; make && make install) ) >> /home/pjb/firms/medicalis/src/tools/clisp-2.48.log 2>&1 ; } the compilation fails with this error: gcc -I/home/pjb/firms/medicalis/src/tools/clisp-2.48/src/gllib -I/usr/local/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compa\ re -Wno-format-nonliteral -O -falign-functions=4 -DUNICODE -DDYNAMIC_FFI -I. -c lisparit.c In file included from lisparit.d:28: arilev1.d:257:28: error: ari80386.c: No such file or directory make[1]: *** [lisparit.o] Error 1 make[1]: Leaving directory `/home/pjb/firms/medicalis/src/tools/clisp-2.48/src' configure identified a 64-bit system: checking build system type... (cached) x86_64-unknown-linux-gnu checking host system type... (cached) x86_64-unknown-linux-gnu but this is only the kernel that is 64-bit. Perhaps there would be a way to know what gcc can compile? Or to generate in all cases ari80386.c ? Here are the ari*.c files: [pjb@mdi-development-1 localhost:11.0 tools]$ ls clisp-2.48/src/ari*.c clisp-2.48/src/ari80386.msvc.c clisp-2.48/src/arilev1c.c clisp-2.48/src/aridecl.c clisp-2.48/src/arilev1e.c clisp-2.48/src/arilev0.c clisp-2.48/src/arilev1i.c clisp-2.48/src/arilev1.c [pjb@mdi-development-1 localhost:11.0 tools]$ ---------------------------------------------------------------------- >Comment By: Bruno Haible (haible) Date: 2011-04-03 15:01 Message: Find attached a patch for clisp 2.49. In HEAD it was fixed by Sam on 2010-07-21 and 2010-09-01, through modifications in makemake.in. Note that this will only work if the linker (/usr/bin/ld) supports linking 32-bit objects. On a bi-arch openSUSE 11.0 system, my linker reports an error in the "ld -r ..." command: ld -r -o lisp.o spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o funarg.o array.o hashtabl.o list.o package.o record.o weak.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o i18n.o unixaux.o built.o ari80386.o ld: Relocatable linking with relocations from format elf32-i386 (spvw.o) to format elf64-x86-64 (lisp.o) is not supported make: *** [lisp.a] Error 1 Adding "--oformat elf32-i386" does not help, it produces the error: ld: Relocatable linking with relocations from format elf32-i386 (spvw.o) to format elf32-i386 (lisp.o) is not supported As a workaround, I really have to use a 32-bit ELF linker instead of /usr/bin/ld. ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2011-03-31 17:46 Message: did you try the makemake.in patch? ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2010-06-22 16:09 Message: here is what I see on my 64-bit laptop: # host system: hostname = "sysu76" HSYS = "x86_64" HSYSOS = "linux" HOS = "unix" host_cpu = "x86_64" cpu = "x86_64" host_os = "linux-gnu" host = "x86_64-unknown-linux-gnu" # target system: TSYS = "x86_64" TSYSOS = "linux" TOS = "unix" $ gcc -print-multi-os-directory ../lib i.e., the same output for a 64-bit machine. 1. please try cvs head instead: it has some updated scripts, it might detect the platform differently. if it does not, I think you should ask for help on the autoconf mailing list. 2. please try this patch: --- makemake.in.~1.922.~ 2010-06-18 11:20:25.000000000 -0400 +++ makemake.in 2010-06-22 10:07:32.002447000 -0400 @@ -1123,7 +1123,7 @@ fi case "$host_cpu" in hppa*) cpu=hppa ;; arm*) cpu=arm ;; - x86_64) cpu=x86_64 ;; + x86_64) cpu=i386 ;; ia64) cpu=ia64 ;; mips) cpu=mips ;; mips64*) cpu=mips64 ;; obviously, this will never go through, I just want to make sure that the platform detection is the only problem. ---------------------------------------------------------------------- Comment By: Pascal J. Bourguignon (informatimago) Date: 2010-06-22 02:22 Message: 1- Well, I would like to compile a 32-bit version actually, so I tried CC='gcc -m32' but it ends the same way. 2- [pjb@mdi-development-1 localhost:10.0 src]$ touch makemake [pjb@mdi-development-1 localhost:10.0 src]$ make Makefile ./makemake --verbose --with-dynamic-ffi --prefix=/usr/local > Makefile.tmp with_dynamic_ffi=yes # host system: hostname = "mdi-development-1" HSYS = "x86_64" HSYSOS = "linux" HOS = "unix" host_cpu = "x86_64" cpu = "x86_64" host_os = "linux-gnu" host = "x86_64-unknown-linux-gnu" # target system: TSYS = "x86_64" TSYSOS = "linux" TOS = "unix" mv Makefile Makefile~ mv Makefile.tmp Makefile make: `Makefile' is up to date. 3- [pjb@mdi-development-1 localhost:10.0 src]$ gcc -print-multi-os-directory ../lib [pjb@mdi-development-1 localhost:10.0 src]$ ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2010-06-17 16:31 Message: 1. you can force building 64-bit clisp using "./configure CC='gcc -m64' ..." 2. please edit Makefile and add "--verbose" to the "./makemake" invocation in the "Makefile:" target; then touch makemake and do "make Makefile". This will print some information to the stderror, please cut and paste it here. 3. please send us "gcc -print-multi-os-directory" output thanks! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=3017588&group_id=1355 |
|
From: SourceForge.net <no...@so...> - 2011-04-03 13:02:21
|
Bugs item #3017588, was opened at 2010-06-17 15:12 Message generated for change (Settings changed) made by haible You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=3017588&group_id=1355 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: clisp Group: build problems >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Pascal J. Bourguignon (informatimago) Assigned to: Bruno Haible (haible) Summary: ari80386.c not generated <= discrepancy kernel/system Initial Comment: I'm running on Xen-4 a linux kernel for x86_64 (in an Intel i7), a virtual machine containing a debian lenny 32-bit system. uname -m reports x86_64, but all the tools and libraries are 32-bit. [pjb@mdi-development-1 localhost:12.0 ~]$ file /bin/ls /usr/lib/libcallback.so.0.0.0 /bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped /usr/lib/libcallback.so.0.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped [pjb@mdi-development-1 localhost:12.0 ~]$ uname -m x86_64 When compiling clisp-2.48 # Doing INSTALL-PACKAGE on #<TARBALL-PACKAGE clisp> { ( source /usr/local/env.sh ; tar jxf "clisp-2.48.tar.bz2" ) >> /home/pjb/firms/medicalis/src/tools/clisp-2.48.log 2>&1 ; } { ( source /usr/local/env.sh ; ( cd "clisp-2.48" ; patch -p2 < ../"clisp-2.48"-sudo.patch ) ) >> /home/pjb/firms/medicalis/src/tools/clisp-2.48.log 2>&1 ; } # Current directory: /home/pjb/firms/medicalis/src/tools/clisp-2.48/ { ( source /usr/local/env.sh ; CFLAGS=-I"/usr/local"/include LDFLAGS=-L"/usr/local"/lib ./configure --prefix="/usr/local" && (cd src ; make && make install) ) >> /home/pjb/firms/medicalis/src/tools/clisp-2.48.log 2>&1 ; } the compilation fails with this error: gcc -I/home/pjb/firms/medicalis/src/tools/clisp-2.48/src/gllib -I/usr/local/include -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compa\ re -Wno-format-nonliteral -O -falign-functions=4 -DUNICODE -DDYNAMIC_FFI -I. -c lisparit.c In file included from lisparit.d:28: arilev1.d:257:28: error: ari80386.c: No such file or directory make[1]: *** [lisparit.o] Error 1 make[1]: Leaving directory `/home/pjb/firms/medicalis/src/tools/clisp-2.48/src' configure identified a 64-bit system: checking build system type... (cached) x86_64-unknown-linux-gnu checking host system type... (cached) x86_64-unknown-linux-gnu but this is only the kernel that is 64-bit. Perhaps there would be a way to know what gcc can compile? Or to generate in all cases ari80386.c ? Here are the ari*.c files: [pjb@mdi-development-1 localhost:11.0 tools]$ ls clisp-2.48/src/ari*.c clisp-2.48/src/ari80386.msvc.c clisp-2.48/src/arilev1c.c clisp-2.48/src/aridecl.c clisp-2.48/src/arilev1e.c clisp-2.48/src/arilev0.c clisp-2.48/src/arilev1i.c clisp-2.48/src/arilev1.c [pjb@mdi-development-1 localhost:11.0 tools]$ ---------------------------------------------------------------------- Comment By: Bruno Haible (haible) Date: 2011-04-03 15:01 Message: Find attached a patch for clisp 2.49. In HEAD it was fixed by Sam on 2010-07-21 and 2010-09-01, through modifications in makemake.in. Note that this will only work if the linker (/usr/bin/ld) supports linking 32-bit objects. On a bi-arch openSUSE 11.0 system, my linker reports an error in the "ld -r ..." command: ld -r -o lisp.o spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o funarg.o array.o hashtabl.o list.o package.o record.o weak.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o i18n.o unixaux.o built.o ari80386.o ld: Relocatable linking with relocations from format elf32-i386 (spvw.o) to format elf64-x86-64 (lisp.o) is not supported make: *** [lisp.a] Error 1 Adding "--oformat elf32-i386" does not help, it produces the error: ld: Relocatable linking with relocations from format elf32-i386 (spvw.o) to format elf32-i386 (lisp.o) is not supported As a workaround, I really have to use a 32-bit ELF linker instead of /usr/bin/ld. ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2011-03-31 17:46 Message: did you try the makemake.in patch? ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2010-06-22 16:09 Message: here is what I see on my 64-bit laptop: # host system: hostname = "sysu76" HSYS = "x86_64" HSYSOS = "linux" HOS = "unix" host_cpu = "x86_64" cpu = "x86_64" host_os = "linux-gnu" host = "x86_64-unknown-linux-gnu" # target system: TSYS = "x86_64" TSYSOS = "linux" TOS = "unix" $ gcc -print-multi-os-directory ../lib i.e., the same output for a 64-bit machine. 1. please try cvs head instead: it has some updated scripts, it might detect the platform differently. if it does not, I think you should ask for help on the autoconf mailing list. 2. please try this patch: --- makemake.in.~1.922.~ 2010-06-18 11:20:25.000000000 -0400 +++ makemake.in 2010-06-22 10:07:32.002447000 -0400 @@ -1123,7 +1123,7 @@ fi case "$host_cpu" in hppa*) cpu=hppa ;; arm*) cpu=arm ;; - x86_64) cpu=x86_64 ;; + x86_64) cpu=i386 ;; ia64) cpu=ia64 ;; mips) cpu=mips ;; mips64*) cpu=mips64 ;; obviously, this will never go through, I just want to make sure that the platform detection is the only problem. ---------------------------------------------------------------------- Comment By: Pascal J. Bourguignon (informatimago) Date: 2010-06-22 02:22 Message: 1- Well, I would like to compile a 32-bit version actually, so I tried CC='gcc -m32' but it ends the same way. 2- [pjb@mdi-development-1 localhost:10.0 src]$ touch makemake [pjb@mdi-development-1 localhost:10.0 src]$ make Makefile ./makemake --verbose --with-dynamic-ffi --prefix=/usr/local > Makefile.tmp with_dynamic_ffi=yes # host system: hostname = "mdi-development-1" HSYS = "x86_64" HSYSOS = "linux" HOS = "unix" host_cpu = "x86_64" cpu = "x86_64" host_os = "linux-gnu" host = "x86_64-unknown-linux-gnu" # target system: TSYS = "x86_64" TSYSOS = "linux" TOS = "unix" mv Makefile Makefile~ mv Makefile.tmp Makefile make: `Makefile' is up to date. 3- [pjb@mdi-development-1 localhost:10.0 src]$ gcc -print-multi-os-directory ../lib [pjb@mdi-development-1 localhost:10.0 src]$ ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2010-06-17 16:31 Message: 1. you can force building 64-bit clisp using "./configure CC='gcc -m64' ..." 2. please edit Makefile and add "--verbose" to the "./makemake" invocation in the "Makefile:" target; then touch makemake and do "make Makefile". This will print some information to the stderror, please cut and paste it here. 3. please send us "gcc -print-multi-os-directory" output thanks! ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=3017588&group_id=1355 |