[CLN-list] Trouble compiling under cygwin-64

Richard B. Kreckel kreckel at ginac.de
Thu Feb 6 22:45:52 CET 2014


Hi Pascal,

On 02/06/2014 06:33 PM, Pascal Dupuis wrote:
> I'm trying to revive the old "symbolic" package from Octave; which
> itself is built atop Ginac and CLN.
> 
> So the first task is to compile and install CLN, which fails. I
> identified two issues:
> 
> 1) there seems to be a typo in config.h.in. The first line seems to
> re-use some symbol defined elsewhere. I modified it as
> 
> #ifndef _CONFIG_H
> #define _CONFIG_H

You mean, _CL_CONFIG_PUBLIC_H is defined elsewhere? I think you are
experiencing interferences with another installation of CLN.

> 2) having done this, I re-launched autoreconf. During the configure
> stage, the symbol "GMP_DEMANDS_UINTD_LONG" is defined, although it
> seems the correct version in cygwin-64 is GMP_DEMANDS_UINTD_LONG_LONG.

Can you, please, have a look at the test program emitted by m4/gmp.m4
and see why it gets this wrong?

> After this configure step, I modified the generated
> include/cln/config.h to ensure the later definition is effective.

Okay. I think it's best to fix top issues first.

> After steps 1 and 2, the compilation runs over a few files, and then fails with
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../src -I../autoconf
> -I../../include -I../../src -I../include -I../src -g -O2 -MT
> base/digit/cl_2D_div.lo -MD -MP -MF base/digit/.deps/cl_2D_div.Tpo -c
> ../../src/base/digit/cl_2D_div.cc  -DDLL_EXPORT -DPIC -o
> base/digit/.libs/cl_2D_div.o
> In file included from ../../src/base/digit/cl_2D.h:7:0,
>                  from ../../src/base/digit/cl_2D_div.cc:7:
> ../../src/base/digit/cl_D.h: In function 'sint32 cln::sign_of_sintD(sintD)':
> ../../src/base/digit/cl_D.h:35:21: error: call of overloaded
> 'sign_of(sintD&)' is ambiguous
>   return sign_of(wert);
>                      ^
> ../../src/base/digit/cl_D.h:35:21: note: candidates are:
> In file included from ../../src/base/digit/cl_D.h:7:0,
>                  from ../../src/base/digit/cl_2D.h:7,
>                  from ../../src/base/digit/cl_2D_div.cc:7:
> ../../src/base/cl_low.h:12:15: note: sint16 cln::sign_of(sint16)
>  inline sint16 sign_of (sint16 wert)
>                ^
> ../../src/base/cl_low.h:27:15: note: sint32 cln::sign_of(sint32)
>  inline sint32 sign_of (sint32 wert)
>                ^
> ../../src/base/cl_low.h:44:15: note: sint64 cln::sign_of(sint64)
>  inline sint64 sign_of (sint64 wert)
>                ^
> Makefile:5572: recipe for target 'base/digit/cl_2D_div.lo' failed
> make[1]: *** [base/digit/cl_2D_div.lo] Error 1
> make[1]: Leaving directory
> '/cygdrive/c/Users/PascalDupuis/Dropbox/Development/cln/compile/src'
> Makefile:666: recipe for target 'all-recursive' failed
> make: *** [all-recursive] Error 1
> 
> Although with the updated version, sintD is defined as long long, the
> compiler seems unable to pick up the right implementation. Any idea
> how to solve this ?

I'm taking this to the mailing list cln-list at ginac.de. Please subscribe
to it. I'm afraid, I cannot help you any better since I don't know
anything about cygwin-64. But maybe someone on that list can offer some
advice.

Best wishes
    -rbk.
-- 
Richard B. Kreckel
<http://www.ginac.de/~kreckel/>


More information about the CLN-list mailing list