Greetings! Gabriel Dos Reis <g...@cs.tamu.edu> writes:
> Hi Camm, > > Camm Maguire <c...@maguirefamily.org> writes: > > | Greetings! > | > | OK, I've committed an immediate fix to your compiler link problem. I > | don't know how this ever worked on windows, but gcl needs to figure > | out the init name for each lisp .o passed to compiler link, and this > | simply failed with an unsupported error. > > Ah! I've attached to this mail the OpenAxiom build log with a trace of > SYSTEM. The build still fails at the same point. However, I do not see > anything obviously wrong with call to SYSTEM. > > Here are some facts: > (1) the executable base-lisp.exe created with SAVE properly works. > > (2) we use base-lisp.exe to create a new image lisp.exe that contains > all our C functions, theough COMPILER::LINK. An 'executable' > lisp.exe is created. But it does not seem to be doing anything at > all. Also, I find it bizarre that its size is far less than that > of base-lisp.exe: > > $ ls -l src/lisp/*.exe > -rwxr-xr-x 1 gdr Administrators 10428312 Aug 7 10:02 src/lisp/base-lisp.exe > -rwxr-xr-x 1 gdr Administrators 4728040 Aug 7 10:02 src/lisp/lisp.exe > -rwxr-xr-x 1 gdr Administrators 525884 Aug 7 10:02 > src/lisp/raw_lisp_map.exe > -rwxr-xr-x 1 gdr Administrators 19232 Aug 7 10:02 src/lisp/rsym.exe This specifically I think should be fixed now, but maybe not. Feedback most appreciated. Take care, > > | Separately, we have a number of wine path issues to work out. > | > | It is useful to build under wine, and I'd like the tree to do this > | transparently. In order to do this, all executables but one are built > | with mingw compilers, the exception being unixport/msys. > | > | I had this originally to get around a global CC setting: > | > | PATH=/usr/bin:$$PATH cc $< -o $@ # Unix binary if running wine > | > | but Don' system had no cc, so I replaced with > | > | PATH=/usr/bin:$$PATH $(CC) $< -o $@ # Unix binary if running wine > | > | now, which defeats the wine purpose, as $(CC) picks up the mingw > | compiler. > > Do you have a list of the executables that need to be built with the > host compiler, and the one that needs to be built with the target compiler? > It is true that under msys/mingw there is no 'cc'; Only 'gcc' (or some > other variants for cross-compilation.) > > | Secondly, to build under wine, all pathnames passed through system > | need to be absolute. The standard gcl 'compile and 'compile-file do > | this automatically. Likewise, link can easily handle the files list > | argument, and the destination executable, etc. But the files in > | extra-libs have to be parsed as a string, and distinctions made > | between genuine files and options like -lm. > > Hardcoding absolute path for OpenAxiom itself has proved to create lot > of troubles (the same is true for FriCAS, and probaly Tim's Axiom I think.) > So, we use path relative to the final installation directory (which is > absolute of course.) The relative paths make it possible to: > (1) build and test in the build directory > (2) install and run from final directory > (3) possibly moving the entire system around -- this is useful for some > people who want to move the system to USB keys, etc. > > > | You also redirect compiler::*cc* to libtool. This might work, but > | again the path needs to be absolute for wine testing. > > Ideally we would like to use libtool for linking purposes (that is what > we do with Lisps that support dynamic linking) as it takes care of lots > of platform dependency stuff for us. However, on msys/mingw it is not > used at all (as you can see from the Makefile and the build.log attached > to this message.) I will install wine and see what is going wrong there. > > | Finally, your axiom configure does not propagate the CC setting, so > | bsdsignal etc are compiled as elf by the normal system gcc. > > That is odd. I'll look into that and update you. I believe it is just > a cross-compilation issue. Apparently the current build assumes a > native build, whereas when you use wine you are doing a cross-compilation. > It should not be hard to fix that -- I know OpenAxiom's build system was > originally designed to support cross-compilation; so I think this should > be easy to fix. > > In the build.log below, do you spot anything obviously wrong with the > invokation of COMPILER::LINK? > > Thanks! > > -- Gaby > > gcl -batch \ > -eval '(progn (compile-file "core.lisp") (quit))' > > Compiling core.lisp. > End of Pass 1. > > ;; Note: Tail-recursive call of |processCommandLine| was replaced by > iteration. > ;; Note: Tail-recursive call of |processCommandLine| was replaced by > iteration. > ;; Note: Tail-recursive call of DO-IMPORT-MODULE was replaced by iteration. > End of Pass 2. > OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3 > Finished compiling core.lisp. > gcl \ > -eval '(load "core")' \ > -eval '(|AxiomCore|::|link| "base-lisp.exe" (quote nil) > "|AxiomCore|::|topLevel|")' > GCL (GNU Common Lisp) 2.6.8 CLtL1 Aug 6 2010 11:40:11 > Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) > Binary License: GPL due to GPL'ed components: (UNEXEC) > Modifications of this banner must retain notice of a compatible license > Dedicated to the memory of W. Schelter > > Use (help) to get some basic information on how to use GCL. > Temporary directory for compiler files set to ../../build/i686-pc-mingw32/ > Warning: SYSTEM is being redefined.d=`echo "(format nil \"~a\" > si::*system-directory*)" | gcl | grep "/gcl.*/" | sed -e "s,\",,g"`; cp > $d/rsym.exe . > echo '(let* ((sys-cc compiler::*cc*) ' \ > ' (sys-ld compiler::*ld*) ' \ > ' (compiler::*cc* (concatenate (quote string) ' \ > ' "" ' \ > ' sys-cc)) ' \ > ' (compiler::*ld* (concatenate (quote string) ' \ > ' "" ' \ > ' sys-ld))) ' \ > '(compiler::link (quote ("core.lisp")) "lisp.exe" ' \ > ' (format nil "(progn (let ((*load-path* (cons ~S *load-path*))'\ > ' (si::*load-types* ~S)))' \ > ' (when (fboundp (quote si::sgc-on))' \ > ' (si::sgc-on nil))' \ > ' (setq si::*top-level-hook* > (read-from-string \"|AxiomCore|::|topLevel|\")))"' \ > ' si::*system-directory* (quote (list ".lsp")))' \ > ' "./../../src/lib/bsdsignal.o ./../../src/lib/cfuns-c.o > ./../../src/lib/sockio-c.o -lwsock32 -lm"))' \ > | ./base-lisp.exe > GCL (GNU Common Lisp) 2.6.8 CLtL1 Aug 6 2010 11:40:11 > Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) > Binary License: GPL due to GPL'ed components: (UNEXEC) > Modifications of this banner must retain notice of a compatible license > Dedicated to the memory of W. Schelter > > Use (help) to get some basic information on how to use GCL. > Temporary directory for compiler files set to ../../build/i686-pc-mingw32/ > > AxiomCore> > 1> (SYSTEM "gcc -c -Wall -DVOL=volatile -fsigned-char -pipe > -fno-zero-initialized-in-bss -mms-bitfields -march=i386 > -IC:/msys/1.0/local/lib/gcl-2.6.8/unixport/../h -O3 -c -w \"./user-init.c\" > -o \"./user-init.o\"") > <1 (SYSTEM 0 0) > 1> (SYSTEM "gcc -o raw_lisp.exe ./user-init.o > -LC:/msys/1.0/local/lib/gcl-2.6.8/unixport/ -Wl,-Map raw_lisp_map.exe > C:/msys/1.0/local/lib/gcl-2.6.8/unixport/../o/firstfile.o -lgcl -lm > -lmingwex -lwsock32 -lgclp > C:/msys/1.0/local/lib/gcl-2.6.8/unixport/../o/lastfile.o > ./../../src/lib/bsdsignal.o ./../../src/lib/cfuns-c.o > ./../../src/lib/sockio-c.o -lwsock32 -lm") > <1 (SYSTEM 0 0) > 1> (SYSTEM "raw_lisp.exe C:/msys/1.0/local/lib/gcl-2.6.8/unixport/ < > init_lisp.lsp") > GCL (GNU Common Lisp) April 1994 131072 pages > Building symbol table for > c:/Docume~1/gdr/Desktop/sandbox/oa-build/src/lisp/raw_lisp.exe .. > loading C:/msys/1.0/local/lib/gcl-2.6.8/unixport/../lsp/gcl_export.lsp > Initializing gcl_defmacro.o > Initializing gcl_evalmacros.o > Initializing gcl_top.o > Initializing gcl_module.o > loading C:/msys/1.0/local/lib/gcl-2.6.8/unixport/../lsp/gcl_autoload.lsp > >> > ("core") > >> > #<"COMPILER" package> > >> > #<"SLOOP" package> > >> > #<"SERROR" package> > >> > #<"ANSI-LOOP" package> > >> > #<"DEFPACKAGE" package> > >> > #<"TK" package> > >> > #<"SYSTEM" package> > > SYSTEM> > *COMMAND-ARGS* > > SYSTEM>Initializing gcl_predlib.o > Initializing gcl_setf.o > Initializing gcl_arraylib.o > Initializing gcl_assert.o > Initializing gcl_defstruct.o > Initializing gcl_describe.o > Initializing gcl_iolib.o > Initializing gcl_listlib.o > Initializing gcl_mislib.o > Initializing gcl_numlib.o > Initializing gcl_packlib.o > Initializing gcl_seq.o > Initializing gcl_seqlib.o > Initializing gcl_trace.o > Initializing gcl_sloop.o > Initializing gcl_serror.o > Initializing gcl_destructuring_bind.o > Initializing gcl_loop.o > Initializing gcl_defpackage.o > Initializing gcl_make_defpackage.o > Initializing gcl_cmpinline.o > Initializing gcl_cmputil.o > Initializing gcl_debug.o > Initializing gcl_info.o > Initializing gcl_cmptype.o > Initializing gcl_cmpbind.o > Initializing gcl_cmpblock.o > Initializing gcl_cmpcall.o > Initializing gcl_cmpcatch.o > Initializing gcl_cmpenv.o > Initializing gcl_cmpeval.o > Initializing gcl_cmpflet.o > Initializing gcl_cmpfun.o > Initializing gcl_cmpif.o > Initializing gcl_cmplabel.o > Initializing gcl_cmplam.o > Initializing gcl_cmplet.o > Initializing gcl_cmploc.o > Initializing gcl_cmpmap.o > Initializing gcl_cmpmulti.o > Initializing gcl_cmpspecial.o > Initializing gcl_cmptag.o > Initializing gcl_cmptop.o > Initializing gcl_cmpvar.o > Initializing gcl_cmpvs.o > Initializing gcl_cmpwt.o > > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../lsp/sys-proclaim.lisp > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../lsp/sys-proclaim.lisp > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/sys-proclaim.lisp > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/sys-proclaim.lisp > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../gcl-tk/tk-package.lsp > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../gcl-tk/tk-package.lsp > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/gcl_cmpmain.lsp > Warning: COMPILE-FILE is being redefined. > Warning: COMPILE is being redefined. > Warning: DISASSEMBLE is being redefined. > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/gcl_cmpmain.lsp > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/gcl_lfun_list.lsp > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/gcl_lfun_list.lsp > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/gcl_cmpopt.lsp > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../cmpnew/gcl_cmpopt.lsp > Loading /msys/1.0/local/lib/gcl-2.6.8/unixport/../lsp/gcl_auto_new.lsp > Finished loading > /msys/1.0/local/lib/gcl-2.6.8/unixport/../lsp/gcl_auto_new.lsp > > Loading core.lisp... > Warning: SYSTEM is being redefined.Finished core.lisp... > > T > >> > |AxiomCore|::|topLevel| > >> <1 (SYSTEM 0 0) > "lisp.exe" > > AxiomCore>mkdir -p ../../build/i686-pc-mingw32/bin > cp -p lisp.exe ../../build/i686-pc-mingw32/bin > echo timestamp > stamp > make[2]: Leaving directory `/home/gdr/Desktop/sandbox/oa-build/src/lisp' > make[2]: Entering directory `/home/gdr/Desktop/sandbox/oa-build/src/boot' > mkdir -p stage2 > echo timestamp > stage2/.started > ../lisp/lisp.exe -- --compile --output=stage2/initial-env.o > ../../../open-axiom.svn/trunk/src/boot/initial-env.lisp > make[2]: *** [stage2/initial-env.o] Error 5 > make[2]: Leaving directory `/home/gdr/Desktop/sandbox/oa-build/src/boot' > make[1]: *** [all-boot] Error 2 > make[1]: Leaving directory `/home/gdr/Desktop/sandbox/oa-build/src' > make: *** [all-src] Error 2 > > > > -- Camm Maguire c...@maguirefamily.org ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel