[GiNaC-devel] Windows 64 Bit Build
Kemlath Orcslayer
kemlath at googlemail.com
Wed Oct 23 09:13:34 CEST 2019
Dear Richard,
There are quite some incompatibilities between data type lengths under UNIX and Windows therefore the standard CLN branch does not work under windows.
I was able to port the current GiNaC to windows using CLN from "https://github.com/jrheinlaender/ginac”
If you want I have a complete GiNaC + CLN (no gmp no ams) + working example using a CMake based build system.
Its not on git since the GiNaC part is slightly modified and has some extensions for faster serialisation that I use under MPI for broadcasting.
Let me know if you’re interested
Klaus
> On 22. Oct 2019, at 13:37, Richard Crozier via GiNaC-devel <ginac-devel at ginac.de> wrote:
>
> Dear list,
>
> I am trying to cross-compile ginac for windows. To do this I am using M Cross Environment (see www.mxe.cc for more info) to cross-compile ginac from windows. MXE automatically creates a cross-compilation environment for you that integrates with autotools, cmak or normal makefiles.
>
> Using MXE I successfully built the CLN library from the w64 branch of this git repository:
>
> https://github.com/jrheinlaender/cln/tree/w64
>
> Now I am trying to build ginac itself, but am getting the following error:
>
> /bin/bash ../libtool --tag=CXX --mode=compile x86_64-w64-mingw32.static-g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../config -DLIBEXECDIR='"/opt/mxe/usr/x86_64-w64-mingw32.static/libexec/"' -std=c++11 -MT libginac_la-fderivative.lo -MD -MP -MF .deps/libginac_la-fderivative.Tpo -c -o libginac_la-fderivative.lo `test -f 'fderivative.cpp' || echo './'`fderivative.cpp
> libtool: compile: x86_64-w64-mingw32.static-g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I../config -DLIBEXECDIR=\"/opt/mxe/usr/x86_64-w64-mingw32.static/libexec/\" -std=c++11 -MT libginac_la-fderivative.lo -MD -MP -MF .deps/libginac_la-fderivative.Tpo -c fderivative.cpp -DDLL_EXPORT -DPIC -o .libs/libginac_la-fderivative.o
> factor.cpp: In function 'GiNaC::ex GiNaC::{anonymous}::factor_multivariate(const GiNaC::ex&, const exset&)':
> factor.cpp:2254:56: error: conversion from 'long long unsigned int' to 'GiNaC::numeric' is ambiguous
> numeric modulus = (vnlst.nops() > 3) ? vnlst.nops() : 3;
> ^
> In file included from factor.cpp:58:0:
> numeric.h:94:2: note: candidate: GiNaC::numeric::numeric(double)
> numeric(double d);
> ^
> numeric.h:92:2: note: candidate: GiNaC::numeric::numeric(long unsigned int)
> numeric(unsigned long i);
> ^
> numeric.h:91:2: note: candidate: GiNaC::numeric::numeric(long int)
> numeric(long i);
> ^
> numeric.h:90:2: note: candidate: GiNaC::numeric::numeric(unsigned int)
> numeric(unsigned int i);
> ^
> numeric.h:89:2: note: candidate: GiNaC::numeric::numeric(int)
> numeric(int i);
> ^
>
> This is from the master barnch of the git repository, but I get the same error using the latest release.
>
> Is there likely to be an easy fix, or is my quest in vain?
>
> If you are interested at all, I built CLN using MXE like this:
>
> autoreconf -iv
> ./configure --host=x86_64-w64-mingw32.static CXXFLAGS="$CXXFLAGS -std=c++11" --prefix=/opt/mxe/usr/x86_64-w64-mingw32.static
> make -j3
> make install
>
> However, I should mention that I also manually removed the subdirectories tests, examples, doc and benchmarks from the Makefile.am and configure.ac before building.
>
> I then tried to build ginac the exact same way:
>
> autoreconf -i
> ./configure --host=x86_64-w64-mingw32.static CXXFLAGS="$CXXFLAGS -std=c++11" --prefix=/opt/mxe/usr/x86_64-w64-mingw32.static
> make -j3
> make install
>
>
> Regards,
>
> Richard
>
>
>
>
> _______________________________________________
> GiNaC-devel mailing list
> GiNaC-devel at ginac.de
> https://www.cebix.net/mailman/listinfo/ginac-devel
More information about the GiNaC-devel
mailing list