[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