[Ecls-list] Solaris SPARC issues with Sun complier - location of gmp specified.
Dr. David Kirkby
david.kirkby at onetel.net
Sat Aug 1 21:36:29 UTC 2009
Following from my mail half an hour or so ago, here is what happens on
t2 if the Sun compiler is used, but the location of the gmp library and
header files are specified.
./configure CC=/opt/SUNWspro/bin/cc CXX=/opt/SUNWspro/bin/CC
--with-gmp-prefix=/usr/local/
tpool2/local/kirkby/ecl/build/ecl//gc/gc_version.h'
make[4]: Leaving directory `/rootpool2/local/kirkby/ecl/build/gc'
make[3]: Leaving directory `/rootpool2/local/kirkby/ecl/build/gc'
make[2]: Leaving directory `/rootpool2/local/kirkby/ecl/build/gc'
sed -e 's, at ecldir\\@,/usr/local/lib/ecl-9.7.1/,g' < lsp/config.pre >
lsp/config.lsp
sed -e 's, at ecldir\\@,"/usr/local/lib/ecl-9.7.1/",g' \
-e 's, at libdir\\@,"/usr/local/lib/",g' \
-e 's, at includedir\\@,"/usr/local/include/",g' < cmp/cmpdefs.pre >
cmp/cmpdefs.lsp
test -d c/ecl || mkdir c/ecl
sed 's,__declspec(dllimport),,g'
/rootpool2/local/kirkby/ecl/src/h/external.h > c/ecl/external.h
cp /rootpool2/local/kirkby/ecl/src/h/*.h ecl/
cd c; make
make[2]: Entering directory `/rootpool2/local/kirkby/ecl/build/c'
cat /rootpool2/local/kirkby/ecl/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}};%' >
/rootpool2/local/kirkby/ecl/src/c/symbols_list2.h
if test -f ../CROSS-DPP; then touch dpp; else \
/opt/SUNWspro/bin/cc -g -std=gnu99 -fPIC -I/usr/local//include
-Dsun4sol2 -I/rootpool2/local/kirkby/ecl/src/c
-I/rootpool2/local/kirkby/ecl/build -I./
/rootpool2/local/kirkby/ecl/src/c/dpp.c -o dpp ; \
fi
cc: Warning: illegal option -d=gnu99
cc: Warning: -s conflicts with -g. -s turned off
Undefined first referenced
symbol in file
__gmpn_perfect_square_p dpp.o
__gmpz_tdiv_q dpp.o
__gmpq_set dpp.o
__gmpz_set dpp.o
__gmpn_add_n dpp.o
__gmpn_sub_n dpp.o
__gmpn_popcount dpp.o
ld: fatal: Symbol referencing errors. No output written to dpp
make[2]: *** [dpp] Error 1
make[2]: Leaving directory `/rootpool2/local/kirkby/ecl/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/rootpool2/local/kirkby/ecl/build'
make: *** [all] Error 2
I've seen very similar error messages about __gmp.... undefined, when
using the GNU compiler too.
I suspect perhaps the configure script might do with a bit more
checking. It's quite possible people build gmp with one compiler, and tr
y try to build ecl with another. (I happen to know on 't2' that gmp in
/usr/local was built using the gcc compiler from /usr/sfw/bin/gcc, but
in general it would be good if you could detect some of the problems
that people might get. I suspect if the right options to configure are
used, this probably would build, but it far from easy to find out how.)
Dave
More information about the ecl-devel
mailing list