[GiNaC-list] I cannot build ginac 1.4.1 on mingw

Alexei Sheplyakov varg at theor.jinr.ru
Mon Feb 25 08:18:11 CET 2008


On Sun, Feb 24, 2008 at 06:26:38PM +0900, Tatsuro MATSUOKA wrote:
> I have buid the gmp 4.2.2 and the cln-1.1.13 and make check of both
> tests were successful.
> So I have tried to make ginaic 1.4.1.  
> At the compling stage, I have a troble in excompiler.cpp for mktemp.

The code in excompiler.cpp works only on ELF platforms (i.e. Linux, Solaris,
*BSD). The configure script should have disabled excompiler feature, but it
didn't. I need your config.log file to find out why. Could you please post it?

> The mktemp does not exist for the normal mingw environment.
> So I partly ported the glibc on the GnuWin32. 

That's pointless, since dlopen(3) and friends don't exist on windows anyway.

> The complipe stage was sucessful.  However the link stage there exited
> a lot of errors. A part of them are placed at the end of this mail.
> ****information 
> The ginac was build under the following flag,
> export LDFLAGS='-L/mingw/lib -L/usr/local/octave-3.0.0/lib -L/GnuWin32/lib -L/GnuWin32/bin'
> export CPPFLAGS='-I/mingw/include -I/usr/local/octave-3.0.0/include -I/GnuWin32/include'
> export CLN_CFLAGS='-IC:/Programs/msys/1.0/local/octave-3.0.0/include'

So far so good...

> export CLN_LIBS='-LC:/Programs/msys/1.0/local/octave-3.0.0/lib'

But this one is definitely wrong. You've forgotten to specify the actual
libraries (CLN and GMP). That's why the linker fails to resolve any
symbols from the CLN library.

> The the gmp and the cln headers and libs are installed in 
> /usr/local/octave-3.0.0/include and /usr/local/octave-3.0.0/lib,
> respectively 

So, the correct form would be

CLN_LIBS='-L/usr/local/octave-3.0.0/lib -lcln -lgmp'

Note: you need to run the configure script once more for this to take
an effect, i.e.

export CLN_LIBS='-L/usr/local/octave-3.0.0/lib -lcln -lgmp'
make distclean
./configure --prefix=/whatever/you/want

> export PKG_CONFIG=C:/Programs/MinGW/bin/pkg-config.exe
> export PKG_CONFIG_PATH=C:/Programs/msys/1.0/local/octave-3.0.0/lib/pkgconfig

That's pointless (although harmless). If CLN_{LIBS,CFLAGS} are set
the configure script won't call pkg-config to determine compiler and linker
flags. User specified values are used instead.

Best regards,

All science is either physics or stamp collecting.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: Digital signature
Url : http://www.cebix.net/pipermail/ginac-list/attachments/20080225/de2b6074/attachment.sig 

More information about the GiNaC-list mailing list