gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] GCL and ASDF


From: Faré
Subject: Re: [Gcl-devel] GCL and ASDF
Date: Sat, 2 Aug 2014 06:36:33 -0400

Dear Camm,

sorry I haven't tried ASDF since you last enhanced GCL with better
module support.

I failed to build gcl from git master.
On an Ubuntu 14.04 machine, I fail at:
(cd o; make all)
make[1]: Entering directory `/home/tunes/src/common-lisp/gcl/gcl/o'
gcc -c -fsigned-char  -pipe -Wall  -Wno-unused-but-set-variable -O3
-fomit-frame-pointer  -I/home/tunes/src/common-lisp/gcl/gcl/o -I../h
-I../gcl-tk typespec.c
In file included from ../h/include.h:127:0,
                 from typespec.c:29:
../h/../h/new_decl.h:203:7: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or
‘__attribute__’ before ‘{’ token
 DEFUN {
       ^
make[1]: *** [typespec.o] Error 1
make[1]: Leaving directory `/home/tunes/src/common-lisp/gcl/gcl/o'
make: *** [unixport/saved_pre_gcl] Error 2

On an Ubuntu 12.04 machine, I fail in ./configure:
add-defs1 amd64-linux
using amd64-linux.defs
 if the 'unknown' directories exist you may provide
a second argument to ./add-defs of a local directory where things might be,
or edit ./add-defs so that it can find them.   Otherwise just continue
and the portions with unknown will not be compiled.
makedefs:29: *** multiple target patterns.  Stop.


Otherwise, I suppose ASDF works well enough that you could also
include ASDF 3.1.3 in your default modules, though there are still GCL
bugs in the ASDF TODO file:

*** Another GCL compiler bug:
   when I changed the definition of getcwd from
   (let ((*default-pathname-defaults* #p"")) (truename #p"")) to
   (let ((*default-pathname-defaults* *nil-pathname*)) (truename
*nil-pathname*))
   to guard against e.g. a logical-pathname context while loading asdf
   and parsing #p"", calls to getcwd result in a segfault.
*** An another bug: gcl refuses dynamic-extent declaration on functions.
   uiop/stream.lisp:         #-gcl (declare (dynamic-extent ,@(when
   before `(#',beforef)) ,@(when after `(#',afterf))))
*** (typep p 'logical-pathname) should be T if p has a logical-pathname host.
*** apropos is case-sensitive and returns a same symbol many times
*** compile-file fails to return proper secondary values in case of
non-style WARNING.
*** (pathname-directory #p"foo/") is incorrectly ("foo") instead of
(:RELATIVE "foo")
*** Missing: chdir, combine-fasls, and plenty more UIOP functions.
*** Do whatever it takes to pass the asdf tests, add the above?
*** Have (require "asdf") and (require "ASDF") both work.
*** Trying to uiop:slurp-stream-forms from a stream with #+(or) :foo
   (or read-file-forms from an file with same) results in an error,
   rather than nil. This is probably a bug in #+ processing.
   Unhappily, debian creates such a file in
   
/etc/common-lisp/asdf-output-translations.conf.d/01-common-lisp-controller.conf
*** Tests that try to catch an error fail (but catching a warning succeeds),
   which suggests brokenness in handler-bind and/or error.
*** `#5(1 ,@`(2 3)))` returns #(1 2 3),
     rather than #(1 2 3 2 3 2 3 2 3) or even better #(1 2 3 3 3).
*** (DIRECTORY #p"*.*") fails to match files with pathname type NIL.
*** GCL doesn't properly process files the name of which contains a *
*** Low-level compiler bug:
   ./cl-launch.sh -B redo_test sh gcl exec noupdate noinc file system noinit

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Informal "design patterns" are the crutch of inexpressive programming systems.
In a programmable programming system, the only design pattern needed is:
use the system to refine and extend the system.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]