CLN + GiNaC on Apple OSX

Jonathan Brandmeyer jbrandmeyer at earthlink.net
Sat Nov 1 02:08:59 CET 2003


In addition to building on Windows/MinGW, I am also trying to get this
going on Mac OSX.  I have had problems with Apple's early releases of
GCC, so I am using a local build of GCC-3.3.1.  I believe that the
binary utilities are mostly GNU with Apple's linker. (as reports 1.38 as
its version).

I am building CLN against GMP 4.1.2.  ( I said 4.2.1 earlier, but I
really installed 4.1.2).  CLN was configured with CC=gcc-3.3 CXX=g++-3.3
CXXFLAGS="-O2 -finline-functions" CFFLAGS="-Dunix -D__unix" (-D__unix
was needed for a random number constructor) ./configure --with-gmp

The build fails with cascading syntax errors in modinteger/cl_MI.cc and
several other files.

Thank you for any insight you may have on this problem,
-Jonathan Brandmeyer

g++-3.3 -v:
Reading specs from
/usr/local/lib/gcc-lib/powerpc-apple-darwin6.8/3.3.1/specs
Configured with: ../gcc-3.3.1/configure --enable-languages=c,c++
--enable-threads=posix --program-suffix=-3.3
Thread model: posix
gcc version 3.3.1

The build fails in the modinteger directory with this error:
make SUBDIR=modinteger
/bin/sh ../libtool --mode=compile g++-3.3 -O2 -finline-functions -Dunix
-D__unix -I../include -I../include -I./integer/hash -I./integer
-I./base/hash -I./base/digitseq -I./base/digit -Ibase -I./base  -c
./modinteger/cl_MI.cc
rm -f .libs/cl_MI.lo
g++-3.3 -O2 -finline-functions -Dunix -D__unix -I../include -I../include
-I./integer/hash -I./integer -I./base/hash -I./base/digitseq
-I./base/digit -Ibase -I./base -c ./modinteger/cl_MI.cc  -fno-common
-DPIC
-o .libs/cl_MI.lo
In file included from modinteger/cl_MI.cc:80:
modinteger/cl_MI_pow2.h:16: error: parse error before numeric constant
modinteger/cl_MI_pow2.h: In function `const cln::cl_I
   cln::pow2_reduce_modulo(...)':
modinteger/cl_MI_pow2.h:19: error: `x' undeclared (first use this
function)
modinteger/cl_MI_pow2.h:19: error: (Each undeclared identifier is
reported
only
   once for each function it appears in.)
modinteger/cl_MI_pow2.h: In function `const cln::_cl_MI
   cln::pow2_canonhom(cln::cl_heap_modint_ring*, const cln::cl_I&)':
modinteger/cl_MI_pow2.h:24: warning: cannot pass objects of non-POD type
`const
   class cln::cl_I' through `...'; call will abort at runtime
modinteger/cl_MI_pow2.h: At global scope:
modinteger/cl_MI_pow2.h:27: error: parse error before numeric constant
modinteger/cl_MI_pow2.h: In function `const cln::_cl_MI
cln::pow2_plus(...)':
modinteger/cl_MI_pow2.h:30: error: `y' undeclared (first use this
function)
modinteger/cl_MI_pow2.h: At global scope:
modinteger/cl_MI_pow2.h:34: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:41: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:48: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:54: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:61: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:80: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:105: error: parse error before numeric constant
modinteger/cl_MI_pow2.h:126: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:126: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:126: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:138: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*)'
modinteger/cl_MI_pow2.h:138: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:138: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:138: error: invalid conversion from `const
cln::cl_MI_x
   (*)(...)' to `const cln::cl_MI_x (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:138: error: invalid conversion from `const
cln::cl_MI_x
   (*)(...)' to `const cln::cl_MI_x (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_pow2.h:138: error: invalid conversion from `const
cln::cl_I
   (*)(...)' to `const cln::cl_I (*)(cln::cl_heap_modint_ring*, const
   cln::cl_I&)'
In file included from modinteger/cl_MI.cc:81:
modinteger/cl_MI_pow2m1.h:16: error: parse error before numeric constant
modinteger/cl_MI_pow2m1.h: In function `const cln::_cl_MI
   cln::pow2m1_canonhom(cln::cl_heap_modint_ring*, const cln::cl_I&)':
modinteger/cl_MI_pow2m1.h:46: warning: cannot pass objects of non-POD
type `
   const class cln::cl_I' through `...'; call will abort at runtime
modinteger/cl_MI_pow2m1.h: At global scope:
modinteger/cl_MI_pow2m1.h:49: error: parse error before numeric constant
modinteger/cl_MI_pow2m1.h:58: error: parse error before numeric constant
modinteger/cl_MI_pow2m1.h:79: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_pow2m1.h:79: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&)'
modinteger/cl_MI_pow2m1.h:79: error: invalid conversion from `const
cln::cl_I
   (*)(...)' to `const cln::cl_I (*)(cln::cl_heap_modint_ring*, const
   cln::cl_I&)'
In file included from modinteger/cl_MI.cc:82:
modinteger/cl_MI_pow2p1.h:16: error: parse error before numeric constant
modinteger/cl_MI_pow2p1.h: In function `const cln::_cl_MI
   cln::pow2p1_canonhom(cln::cl_heap_modint_ring*, const cln::cl_I&)':
modinteger/cl_MI_pow2p1.h:53: warning: cannot pass objects of non-POD
type `
   const class cln::cl_I' through `...'; call will abort at runtime
modinteger/cl_MI_pow2p1.h: At global scope:
modinteger/cl_MI_pow2p1.h:56: error: parse error before numeric constant
modinteger/cl_MI_pow2p1.h:67: error: parse error before numeric constant
modinteger/cl_MI_pow2p1.h:90: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_pow2p1.h:90: error: invalid conversion from `const
cln::_cl_MI
   (*)(...)' to `const cln::_cl_MI (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&)'
modinteger/cl_MI_pow2p1.h:90: error: invalid conversion from `const
cln::cl_I
   (*)(...)' to `const cln::cl_I (*)(cln::cl_heap_modint_ring*, const
   cln::cl_I&)'
In file included from modinteger/cl_MI.cc:83:
modinteger/cl_MI_montgom.h:87: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:93: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:99: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:106: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:112: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:118: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:132: error: parse error before numeric
constant
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
   cln::_cl_MI (*)(...)' to `const cln::_cl_MI
(*)(cln::cl_heap_modint_ring*)'
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
   cln::_cl_MI (*)(...)' to `const cln::_cl_MI
(*)(cln::cl_heap_modint_ring*,
   const cln::cl_I&)'
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
   cln::_cl_MI (*)(...)' to `const cln::_cl_MI
(*)(cln::cl_heap_modint_ring*,
   const cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
   cln::_cl_MI (*)(...)' to `const cln::_cl_MI
(*)(cln::cl_heap_modint_ring*,
   const cln::_cl_MI&)'
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
   cln::cl_MI_x (*)(...)' to `const cln::cl_MI_x
(*)(cln::cl_heap_modint_ring*,
   const cln::_cl_MI&)'
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
   cln::cl_MI_x (*)(...)' to `const cln::cl_MI_x
(*)(cln::cl_heap_modint_ring*,
   const cln::_cl_MI&, const cln::_cl_MI&)'
modinteger/cl_MI_montgom.h:158: error: invalid conversion from `const
cln::cl_I
   (*)(...)' to `const cln::cl_I (*)(cln::cl_heap_modint_ring*, const
   cln::_cl_MI&)'
make[2]: *** [cl_MI.lo] Error 1





More information about the GiNaC-list mailing list