[Gcl-devel] GCL 2.6.11 on Mac OS X Yosemite

Gabriel Dos Reis gdr at integrable-solutions.net
Sat Nov 29 03:19:18 PST 2014


On Thu, Nov 27, 2014 at 5:27 AM, Camm Maguire <camm at maguirefamily.org>
wrote:

> Greetings!
>
> Gabriel Dos Reis <gdr at integrable-solutions.net> writes:
>
> >
> >     If someone can
> >
> >     cd unixport
> >     make raw_pre_gcl
> >     readelf -a raw_pre_gcl
> >
> >     and post the output, that would be helpful.
> >
>
> Are you able to do this, or provide me access so that I can?
>

Camm:

Lawrence fixed the Macports port of GCL-2.6.12 so I was able to install it.

The next thing, though, is that GCL appears not to be work properly with
Clang on this platform -- Clang is the default system compiler on new
versions on Mac OS X.

For example, I tried to build OpenAxiom with it, but was stumped by:

Finished compiling core.lisp.

gcl \

-eval '(load "core")' \

-eval '(|AxiomCore|::|link| "base-lisp" (quote nil)
"|AxiomCore|::|topLevel|")'

Unrelocated non-local symbol: ___stack_chk_fail


Error:

Fast links are on: do (si::use-fast-links nil) for debugging

Signalled by LOAD.

Condition in LOAD [or a callee]: INTERNAL-SIMPLE-ERROR: The assertion
!fprintf(stderr,"Unrelocated non-local symbol: %s\n",st1+n->n_un.n_strx) on
line 147 of
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcl/gcl/work/gcl/o/sfaslmacho.c
in function relocate_symbols failed


Broken at LOAD.  Type :H for Help.

    1  Return to top level.

>>


Clang is also unhappy that GCL is declaring standard C functions instead of
including the appropriate headers, plus some other stylistic issues:

; 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 |processCommandLine| was replaced by
iteration.

;; Note: Tail-recursive call of DO-IMPORT-MODULE was replaced by iteration.

End of Pass 2.

core.c:765:5: warning: declaration of built-in function 'setjmp' requires

      inclusion of the header <setjmp.h> [-Wbuiltin-requires-header]

int setjmp();

    ^

core.c:766:5: warning: declaration of built-in function '_setjmp' requires

      inclusion of the header <setjmp.h> [-Wbuiltin-requires-header]

int _setjmp();

    ^

core.c:779:71: warning: for loop has empty body [-Wempty-body]

  {char i;for (i=0;i<sizeof(x)*8 && !((x>>(sizeof(x)*8-1-i))&0x1);i++);
return i;}

                                                                      ^

core.c:779:71: note: put the semicolon on a separate line to silence this

      warning

core.c:783:55: warning: for loop has empty body [-Wempty-body]

  {char i;for (i=0;i<sizeof(x)*8 && !((x>>i)&0x1);i++); return i;}

                                                      ^

core.c:783:55: note: put the semicolon on a separate line to silence this

      warning

4 warnings generated.

I know you worry about including standard headers, but the world is moving
in that direction...

-- Gaby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-users/attachments/20141129/ac60bd58/attachment.html>


More information about the macports-users mailing list