[Ecls-list] ECL build issues on Solaris 10 and OpenSolaris
Semih Cemiloglu
Semih.Cemiloglu at nec.com.au
Mon Oct 5 23:10:58 UTC 2009
Dear ECL users,
I'm trying to build latest stable release of ECL (v9.8.4) on Solaris
10/OpenSolaris with Sun Studio C/C++ compilers. On Both platforms I am
getting build failures. Has anyone of you build ECL v9.8.4 on these
platforms recently? If so, what build commands did you use?
The errors I have seen are listed below:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
== Solaris 10/sparc build errors: ==
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ uname -a
SunOS oberon 5.10 Generic_137137-09 sun4u sparc SUNW,Sun-Fire-880
# Followings are required to select SunStudio C/C++ compilers
$ export CC=cc
$ export CXX=CC
$ CC -V
CC: Sun C++ 5.9 SunOS_sparc Patch 124863-04 2008/04/16
$ cc -V
cc: Sun C 5.9 SunOS_sparc Patch 124867-06 2008/06/10
$ pwd
/home/semihc/Packages/ecl-9.8.4
$ ./configure --enable-slow-config ABI=32 --with-system-gmp=no
--prefix=$HOME/local/ecl-9.8.4 2>&1 |tee conf.log
...
# configure scripts succeeds
# we certainly use Gnu make
$ make -v
GNU Make 3.81
...
# but make fails
$ make 2>&1 |tee make.log
...
make[2]: Entering directory `/home/semihc/Packages/ecl-9.8.4/build/c'
cat /home/semihc/Packages/ecl-9.8.4/src/c/symbols_list.h | \
sed -e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*NULL,.*}%{\1,NULL}%g' \
-e 's%{\([A-Z ]*.*".*"\),[^,]*,[ ]*\([^,]*\),.*}%{\1,"\2"}%g' \
-e 's%{NULL.*%{NULL,NULL}};%' >
/home/semihc/Packages/ecl-9.8.4/src/c/symbols_list2.h
if test -f ../CROSS-DPP; then touch dpp; else \
cc -I/home/semihc/Packages/ecl-9.8.4/src/c
-I/home/semihc/Packages/ecl-9.8.4/build -I./
/home/semihc/Packages/ecl-9.8.4/src/c/dpp.c
-g -xO4 -xarch=v8plus -xchip=ultra3 -std=gnu99 -fPIC -Dsun4sol2 -o dpp ; \
fi
cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead
cc: Warning: illegal option -d=gnu99
cc: Warning: -s conflicts with -g. -s turned off
if test -f ../CROSS-DPP ; then ../CROSS-DPP
/home/semihc/Packages/ecl-9.8.4/src/c/main.d main.c ; else ./dpp
/home/semihc/Packages/ecl-9.8.4
/src/c/main.d main.c ; fi
dpp: /home/semihc/Packages/ecl-9.8.4/src/c/main.d -> main.c
Unknown symbol: mp::*current-process*
Unknown symbol: mp::+load-compile-lock+
Unknown symbol: mp::+load-compile-lock+
cc -DECLDIR="\"/home/semihc/local/ecl-9.8.4/lib/ecl-9.8.4\"" -I.
-I/home/semihc/Packages/ecl-9.8.4/build -I/home/semihc/Packages/ecl-9.8.4/s
rc/c -I../ecl/gc -DECL_API -g -xO4 -xarch=v8plus -xchip=ultra3 -std=gnu99
-fPIC -Dsun4sol2 -c -o main.o main.c
cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead
cc: Warning: illegal option -d=gnu99
"/home/semihc/Packages/ecl-9.8.4/src/c/main.d", line 255: warning: argument
#1 is incompatible with prototype:
prototype: pointer to char : "/usr/include/sys/mman.h", line 165
argument : pointer to struct cl_env_struct {volatile int
disable_interrupts, unsigned int nvalues, array[64] of pointer to union cl_
lispunion {..} values, pointer to union cl_lispunion {..} function, unsigned
int stack_size, pointer to pointer to union cl_lispunion {..} s
tack, pointer to pointer to union cl_lispunion {..} stack_top, pointer to
pointer to union cl_lispunion {..} stack_limit, unsigned int bds_s
ize, pointer to struct bds_bd {..} bds_org, pointer to struct bds_bd {..}
bds_top, pointer to struct bds_bd {..} bds_limit, pointer to union
cl_lispunion {..} bindings_hash, pointer to struct ihs_frame {..} ihs_top,
unsigned int frs_size, pointer to struct ecl_frame {..} frs_org,
pointer to struct ecl_frame {..} frs_top, pointer to struct ecl_frame {..}
frs_limit, pointer to struct ecl_frame {..} nlj_fr, unsigned int
frame_id, pointer to char cs_org, pointer to char cs_limit, pointer to char
cs_barrier, unsigned int cs_size, pointer to union cl_lispunion
{..} string_pool, pointer to struct cl_compiler_env {..} c_env, pointer to
union cl_lispunion {..} fmt_aux_stream, int print_pretty, pointe
r to short queue, pointer to short indent_stack, int qh, int qt, int qc, int
isp, int iisp, array[3] of pointer to union cl_lispunion {..} b
ig_register, array[3] of array[16] of unsigned long big_register_limbs, int
interrupt_pending, pointer to void interrupt_info, pointer to un
ion cl_lispunion {..} method_hash, pointer to union cl_lispunion {..}
method_spec_vector, int method_generation, pointer to void altstack, u
nsigned int altstack_size, int trap_fpe_bits}
"/home/semihc/Packages/ecl-9.8.4/src/c/main.d", line 273: warning:
assignment type mismatch:
pointer to struct cl_env_struct {volatile int disable_interrupts,
unsigned int nvalues, array[64] of pointer to union cl_lispunion {
..} values, pointer to union cl_lispunion {..} function, unsigned int
stack_size, pointer to pointer
to union cl_lispunion {..} stack, pointer to pointer to union cl_lispunion
{..} stack_top, pointer to pointer to union cl_lispunion {..} st
ack_limit, unsigned int bds_size, pointer to struct bds_bd {..} bds_org,
pointer to struct bds_bd {..} bds_top, pointer to struct bds_bd {..
} bds_limit, pointer to union cl_lispunion {..} bindings_hash, pointer to
struct ihs_frame {..} ihs_top, unsigned int frs_size, pointer to s
truct ecl_frame {..} frs_org, pointer to struct ecl_frame {..} frs_top,
pointer to struct ecl_frame {..} frs_limit, pointer to struct ecl_fr
ame {..} nlj_fr, unsigned int frame_id, pointer to char cs_org, pointer to
char cs_limit, pointer to char cs_barrier, unsigned int cs_size,
pointer to union cl_lispunion {..} string_pool, pointer to struct
cl_compiler_env {..} c_env, pointer to union cl_lispunion {..} fmt_aux_str
eam, int print_pretty, pointer to short queue, pointer to short
indent_stack, int qh, int qt, int qc, int isp, int iisp, array[3] of pointer
to union cl_lispunion {..} big_register, array[3] of array[16] of unsigned
long big_register_limbs, int interrupt_pending, pointer to void
interrupt_info, pointer to union cl_lispunion {..} method_hash, pointer to
union cl_lispunion {..} method_spec_vector, int method_generation
, pointer to void altstack, unsigned int altstack_size, int trap_fpe_bits}
"=" pointer to char
if test -f ../CROSS-DPP ; then ../CROSS-DPP
/home/semihc/Packages/ecl-9.8.4/src/c/symbol.d symbol.c ; else ./dpp
/home/semihc/Packages/ecl-9
.8.4/src/c/symbol.d symbol.c ; fi
dpp: /home/semihc/Packages/ecl-9.8.4/src/c/symbol.d -> symbol.c
cc -DECLDIR="\"/home/semihc/local/ecl-9.8.4/lib/ecl-9.8.4\"" -I.
-I/home/semihc/Packages/ecl-9.8.4/build -I/home/semihc/Packages/ecl-9.8.4/s
rc/c -I../ecl/gc -DECL_API -g -xO4 -xarch=v8plus -xchip=ultra3 -std=gnu99
-fPIC -Dsun4sol2 -c -o symbol.o symbol.c
cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead
cc: Warning: illegal option -d=gnu99
if test -f ../CROSS-DPP ; then ../CROSS-DPP
/home/semihc/Packages/ecl-9.8.4/src/c/package.d package.c ; else ./dpp
/home/semihc/Packages/ecl
-9.8.4/src/c/package.d package.c ; fi
dpp: /home/semihc/Packages/ecl-9.8.4/src/c/package.d -> package.c
cc -DECLDIR="\"/home/semihc/local/ecl-9.8.4/lib/ecl-9.8.4\"" -I.
-I/home/semihc/Packages/ecl-9.8.4/build -I/home/semihc/Packages/ecl-9.8.4/s
rc/c -I../ecl/gc -DECL_API -g -xO4 -xarch=v8plus -xchip=ultra3 -std=gnu99
-fPIC -Dsun4sol2 -c -o package.o package.c
cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead
cc: Warning: illegal option -d=gnu99
"/usr/include/sys/feature_tests.h", line 336: #error: "Compiler or options
invalid; UNIX 03 and POSIX.1-2001 applications require the
use of c99"
cc: acomp failed for package.c
make[2]: *** [package.o] Error 2
rm symbol.c main.c package.c
make[2]: Leaving directory `/home/semihc/Packages/ecl-9.8.4/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/home/semihc/Packages/ecl-9.8.4/build'
make: *** [all] Error 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
== OpenSolaris/x86 build errors: ==
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$ uname -a
SunOS giant 5.11 snv_111b i86pc i386 i86pc Solaris
# Followings are required to select SunStudio C/C++ compilers
$ export CC=cc
$ export CXX=CC
$ CC -V
CC: Sun C++ 5.10 SunOS_i386 2009/06/03
$ cc -V
cc: Sun C 5.10 SunOS_i386 2009/06/03
# Followings are required to bypass some configure errors:
$ export CL_FIXNUM_TYPE="long"
$ export ECL_NEWLINE="CR"
$ ./configure --enable-slow-config --with-system-gmp=no
--prefix=$HOME/local/ecl-9.8.4 2>&1 |tee conf.log
...
# configure scripts succeeds
# we certainly use Gnu make
$ make -v
GNU Make 3.81
...
# but make fails
$ make 2>&1 |tee make.log
...
creating libgmp.la
(cd .libs && rm -f libgmp.la && ln -s ../libgmp.la libgmp.la)
make[5]: Entering directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
test -z "/export/home/semihc/Packages/ecl-9.8.4/build" || mkdir -p -- .
"/export/home/semihc/Packages/ecl-9.8.4/build"
/bin/sh ./libtool --mode=install /usr/bin/ginstall -c 'libgmp.la'
'/export/home/semihc/Packages/ecl-9.8.4/build/libgmp.la'
/usr/bin/ginstall -c .libs/libgmp.lai
/export/home/semihc/Packages/ecl-9.8.4/build/libgmp.la
/usr/bin/ginstall -c .libs/libgmp.a
/export/home/semihc/Packages/ecl-9.8.4/build/libgmp.a
ranlib /export/home/semihc/Packages/ecl-9.8.4/build/libgmp.a
chmod 644 /export/home/semihc/Packages/ecl-9.8.4/build/libgmp.a
----------------------------------------------------------------------
Libraries have been installed in:
/export/home/semihc/Packages/ecl-9.8.4/build
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- use the `-RLIBDIR' linker flag
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/export/home/semihc/Packages/ecl-9.8.4/build/include" || mkdir -p
-- . "/export/home/semihc/Packages/ecl-9.8.4/build/include"
/usr/bin/ginstall -c -m 644 'gmp.h'
'/export/home/semihc/Packages/ecl-9.8.4/build/include/gmp.h'
test -z "/export/home/semihc/Packages/ecl-9.8.4/build/ecl" || mkdir -p -- .
"/export/home/semihc/Packages/ecl-9.8.4/build/ecl"
make install-data-hook
make[6]: Entering directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
+-------------------------------------------------------------+
| CAUTION: |
| |
| If you have not already run "make check", then we strongly |
| recommend you do so. |
| |
| GMP has been carefully tested by its authors, but compilers |
| are all too often released with serious bugs. GMP tends to |
| explore interesting corners in compilers and has hit bugs |
| on quite a few occasions. |
| |
+-------------------------------------------------------------+
make[6]: Leaving directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
make[5]: Leaving directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
make[4]: Leaving directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
make[3]: Leaving directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
make[2]: Leaving directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gmp'
test -d ecl/gc || mkdir ecl/gc
test -d ecl/gc/private || mkdir ecl/gc/private
if (echo c gc gmp | grep gc); then \
cd gc && make install && cd .. && \
cp -rf
/export/home/semihc/Packages/ecl-9.8.4/src/gc/include/private/*.h
ecl/gc/private/ && \
mv libgc.a libeclgc.a; \
fi
c gc gmp
make[2]: Entering directory
`/export/home/semihc/Packages/ecl-9.8.4/build/gc'
make[2]: *** No rule to make target `install'. Stop.
make[2]: Leaving directory `/export/home/semihc/Packages/ecl-9.8.4/build/gc'
make[1]: *** [libeclgc.a] Error 2
make[1]: Leaving directory `/export/home/semihc/Packages/ecl-9.8.4/build'
make: *** [all] Error 2
Thank you for your time,
Kind regards,
Semih Cemiloglu
More information about the ecl-devel
mailing list