[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