[gecode-users] Gecode trunk fix for Cygwin g++ compilation

Martin Mann mmann at informatik.uni-freiburg.de
Mon Jan 28 14:29:24 CET 2008


Hi,

I know the Gecode trunk is not meant to be stable. But I encountered 
some problems that might occure in the next release too.

================================
  My setup :
================================
   WinXP
   Cygwin
   g++ (GCC) 3.4.4
   aclocal, automake 1.1.0
   autoconf 2.61
================================
./configure
  --enable-static --disable-shared
  --disable-set-vars --disable-cpltset-vars
  --disable-gist --disable-qt
  --without-boost
================================


1) the current 'configure' has some Windows line breaks with '\r' and a 
"dos2unix" was necessary

2) your AC_CONFIG_FILES statement at the end of configure.ac doesnt work 
properly on my system. I get the following:

================================
configure: creating ./config.status
./config.status --file Makefile:Makefile.in
config.status: creating Makefile
================================

Obviously all remaining files in AC_CONFIG_FILES are not created from 
their *.in files (e.g. config.hh) and I get the expected error when 
calling make:

================================
make[1]: Entering directory `/cygdrive/e/Research/CPP/Gecode-trunk'
make[1]: >>gecode/kernel/var-type.icc<< ist bereits aktualisiert.
make[1]: >>gecode/kernel/var-imp.icc<< ist bereits aktualisiert.
make[1]: >>gecode/kernel/var-type.cc<< ist bereits aktualisiert.
make[1]: *** Keine Regel vorhanden, um das Target >>gecode/config.hh<<,
   ben"otigt von >>gecode/support/exception.o<<, zu erstellen.  Schluss.
make[1]: Leaving directory `/cygdrive/e/Research/CPP/Gecode-trunk'
make: *** [compilelib] Fehler 2
================================

I fixed it by replacing the following lines

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
AC_CONFIG_FILES([Makefile doxygen.conf:doxygen/doxygen.conf.in
    doxygen.hh:doxygen/doxygen.hh.in
    misc/gecode.pc misc/gecode-search.pc misc/gecode-serialization.pc
    misc/gecode-minimodel.pc])
 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
AC_CONFIG_FILES([Makefile ])
AC_CONFIG_FILES([doxygen.conf:doxygen/doxygen.conf.in])
AC_CONFIG_FILES([doxygen.hh:doxygen/doxygen.hh.in])
AC_CONFIG_FILES([misc/gecode.pc misc/gecode-search.pc])
AC_CONFIG_FILES([misc/gecode-serialization.pc])
AC_CONFIG_FILES([misc/gecode-minimodel.pc])
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Afterwards configure finishs as expected and make succeeds.

I am not sure if this is a problem of my (old) autoconf version or 
something else.

Just mentioning my experiences in case somebody else has a similar problem.

So far,

Martin

PS. @Christian: I've installed MSVC++ and will give it a try. ;) But the 
problem is that all my programs (distributed with their own automake 
scripts) have to support 'cl' and its flags too in order to use the MSVC 
compiled Gecode libraries. Or am I wrong about that and it is possible 
to link against these libs with g++ later? Would be surprising for me ..


-- 
Martin Mann, Dipl. Bioinf.
Bioinformatics - Inst. of Computer Science
Albert-Ludwigs-University Freiburg
Tel: ++49-761-203-8259
Fax: ++49-761-203-7462
http://www.bioinf.uni-freiburg.de/~mmann/




More information about the gecode-users mailing list