gcl-devel
[Top][All Lists]
Advanced

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

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


From: Gabriel Dos Reis
Subject: Re: [Gcl-devel] GCL 2.6.11 on Mac OS X Yosemite
Date: Sat, 29 Nov 2014 03:19:18 -0800



On Thu, Nov 27, 2014 at 5:27 AM, Camm Maguire <address@hidden> wrote:
Greetings!

Gabriel Dos Reis <address@hidden> 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



reply via email to

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