Ticket #450 (closed defect: fixed)
clisp build fixes for Solaris
| Reported by: | mabshoff | Owned by: | mabshoff |
|---|---|---|---|
| Priority: | major | Milestone: | sage-2.11 |
| Component: | packages: standard | Keywords: | |
| Cc: | Work issues: | ||
| Report Upstream: | Reviewers: | ||
| Authors: | Merged in: | ||
| Dependencies: | Stopgaps: |
Description (last modified by mabshoff) (diff)
There is a bug in clisp's spkg-install that causes compilation failures on Solaris:
The initial configure run has "--without-dynamic-ffi", the makemake job doesn't, this leads to the following definitions in clisp.h:
#define uint64_to_I(val) uint64_to_I(val) #define sint64_to_I(val) sint64_to_I(val)
As you can imagine that doesn't go over too well at link-time. This should also fix the compilation failure of clisp on Nexenta OS that Didier reported. With the added flag to makemake clisp builds, but crashes in "make check". Even with the fix clisp doesn't compile with gcc 4.2.1 on Solaris, at the moment we use gcc 3.4.6.
We also have to make sure that we don't have "-g" in the build flags. This is due to due to an interaction between gcc's gas and the Sun ld when using dwarf2 debugging symbols are used.
A detailed explainaition can be found at http://www.mail-archive.com/bug-binut...@gnu.org/msg00615.html

Okay,
there is an updated spkg-install at
http://sage.math.washington.edu/home/mabshoff/spkg-install-clisp_--without-dynamic-ffi-fix
Caution: The CFLAGS are still "-O0", which makes it compile on Itanium, because if I remember correctly "-O2" caused crashes there. So the best solution might be to set the CFLAGS conditionally.
Cheers,
Michael