[geos-devel] MingW build (was: autotools problems)

Mike Leahy mgleahy at alumni.uwaterloo.ca
Thu Dec 8 02:22:07 EST 2005


Hello,

I'm just adding to this, because I ran into troubles compiling
geos-2.2.0 today using msys/mingw.  I found this post in this list, and
tried various combinations of the suggested solution.  What I found did
work was "LDFLAGS=-no-undefined ./configure <options>", after which
make/make install ran fine.  However, if I uncommented
AC_LIBTOOL_WIN32_DLL in configure.in as suggested, that seemed to cause
problems when I tried to run make (see errors below).  I suppose it
could be out of date msys/mingw installations...I'm not really sure.  I
used msys-1.0.10 and mingw-4.1.0, and after running into this problem,
updated the automake and autoconf binaries...same results.

I'm guessing that if I got it to work without uncommenting
AC_LIBTOOL_WIN32_DLL, then I should be happy and just move on...am I wrong?

Regards,
Mike

=========================================

$ make
cd . && /bin/sh /Downloads/geos-2.2.0/missing --run aclocal-1.9
Can't locate Automake/Config.pm in @INC (@INC contains: C
/mingw/AutoMake/share/automake-1.9 /usr/lib/perl5/5.6.1/msys
/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/msys
/usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at
/mingw/bin/aclocal-1.9 line 36.
BEGIN failed--compilation aborted at /mingw/bin/aclocal-1.9 line 36.
WARNING: `aclocal-1.9' is missing on your system.  You should only need
it if
         you modified `acinclude.m4' or `configure.in'.  You might want
         to install the `Automake' and `Perl' packages.  Grab them from
         any GNU archive site.
 cd . && /bin/sh /Downloads/geos-2.2.0/missing --run automake-1.9 --gnu
Can't locate Automake/Struct.pm in @INC (@INC contains: C
/mingw/AutoMake/share/automake-1.9 /usr/lib/perl5/5.6.1/msys
/usr/lib/perl5/5.6.1 /usr/lib/perl5/site_perl/5.6.1/msys
/usr/lib/perl5/site_perl/5.6.1 /usr/lib/perl5/site_perl .) at
/mingw/bin/automake-1.9 line 47.
BEGIN failed--compilation aborted at /mingw/bin/automake-1.9 line 47.
WARNING: `automake-1.9' is missing on your system.  You should only need
it if
         you modified `Makefile.am', `acinclude.m4' or `configure.in'.
         You might want to install the `Automake' and `Perl' packages.
         Grab them from any GNU archive site.
cd . && /bin/sh /Downloads/geos-2.2.0/missing --run autoconf
/mingw/bin/autoconf:
/Downloads/geos-2.2.0/c:/progra~1/AutoConf/bin/autom4te: No such file or
directory
/mingw/bin/autoconf: exec:
/Downloads/geos-2.2.0/c:/progra~1/AutoConf/bin/autom4te: cannot execute:
No such file or directory
make: *** [configure] Error 1



====================================================

strk at refractions.net strk at refractions.net
Wed Dec 7 10:49:59 PST 2005

    * Previous message: [geos-devel] autotools problems
    * Next message: [geos-devel] call for 2.2.1
    * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

Ok, thanks to Mark we fixed the MingW issue by:

	- Uncommenting AC_LIBTOOL_WIN32_DLL in configure.in

	- Adding -no-undefined to LDFLAGS for both C++ and C lib

Additionally we added acsite.m4 to the distribution, so future
users will be able to regenerate build scripts.

This calls for 2.2.1 - see 2.2.1 mail (coming next).

--strk;

On Fri, Dec 02, 2005 at 02:10:03PM +0100, strk at refractions.net wrote:
> Guys, I need some help with the Makefile.am
> under source/capi (the new CAPI thing).
>
> I'm really unsure of wheter it is constructed
> correctly. As a matter of fact I've hade report
> of failures for MingW builds.
>
> The point is building a library and a program.
> The library is libgeos_c.
> The program is geostest.
> libgeos_c depends (links against) libgeos.
> geostest depends (links against) libgeos_c.
>
> Current Makefile.am is as follows:
>
> ----8<--------------------------------------------------
>
> prefix=@prefix@
> top_srcdir=@top_srcdir@
> GEOS_CAPI_VERSION="@VERSION at -CAPI- at CAPI_VERSION@"
>
> noinst_PROGRAMS = geostest
>
> geostest_SOURCES = geostest.c
> #geostest_LDADD = libgeos_c.la
> geostest_LDADD = $(top_builddir)/source/geom/libgeos.la libgeos_c.la
> geostest_INCLUDES = -I.
>
> capidir = $(includedir)
>
> nodist_capi_HEADERS = \
>         geos_c.h
>
> lib_LTLIBRARIES = libgeos_c.la
>
> LIBS = $(top_builddir)/source/geom/libgeos.la
>
> DIR_SOURCES = \
>         geos_c.cpp
>
> libgeos_c_la_SOURCES = $(DIR_SOURCES)
> libgeos_c_la_CPPFLAGS = -DGEOS_CAPI_VERSION='$(GEOS_CAPI_VERSION)'
>
>
> libgeos_c_la_LDFLAGS = -version-info
@CAPI_INTERFACE_CURRENT@:@CAPI_INTERFACE_REVISION@:@CAPI_INTERFACE_AGE@
>
> dist-local:
>         cp -p $(DIST_SOURCES) Makefile.am Makefile.in $(distdir)
>
> ----8<--------------------------------------------------
>
> MingW build report show a WARNING at libgeos_c.la build:
>
> *** Warning: This system can not link to static lib archive
../../source/geom/libgeos.la.
> *** I have the capability to make that library automatically link in when
> *** you link to this library.  But I can only do this if you have a
> *** shared version of the library, which you do not appear to have.
> libtool: link: warning: undefined symbols not allowed in
i686-pc-mingw32 shared libraries
>
> And a lots of "undefined reference" error at geostest build, where
> undefined symbols seems the ones in libstdc++.
>
> Any successful MingW builder here, or  does the Makefile.am looks fine ?
>
>
> --strk;
>
>  /"\    ASCII Ribbon Campaign
>  \ /    Respect for open standards
>   X     No HTML/RTF in email
>  / \    No M$ Word docs in email
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel

-- 

 /"\    ASCII Ribbon Campaign
 \ /    Respect for low technology.
  X     Keep e-mail messages readable by any computer system.
 / \    Keep it ASCII.


    * Previous message: [geos-devel] autotools problems
    * Next message: [geos-devel] call for 2.2.1
    * Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]




More information about the geos-devel mailing list