[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