[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] Re: gcl-2.6.8
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] Re: gcl-2.6.8 |
Date: |
Fri, 13 Aug 2010 22:03:22 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Greetings!
Gabriel Dos Reis <address@hidden> writes:
> Hi Camm,
>
> Camm Maguire <address@hidden> 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 address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- Re: [Gcl-devel] Re: gcl-2.6.8, (continued)
- Re: [Gcl-devel] Re: gcl-2.6.8, Donald Winiecki, 2010/08/04
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/06
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/08
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/08
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/09
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/13
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/17
- Re: [Gcl-devel] Re: gcl-2.6.8,
Camm Maguire <=
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Donald Winiecki, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/13
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/05
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/08
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/08
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/13
- Re: [Gcl-devel] Re: gcl-2.6.8, Gabriel Dos Reis, 2010/08/13
- Re: [Gcl-devel] Re: gcl-2.6.8, Camm Maguire, 2010/08/13