Installing Autoconf 2.63 on MinGW

View: New views
4 Messages — Rating Filter:   Alert me  

Installing Autoconf 2.63 on MinGW

by Jason Curl-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I've just downloaded mingw-1.0.11, installed m4-1.4.12 and ActivePerl
5.10.0. When I run configure it succeeds, but building autoconf fails
complaining about needing GNU m4 1.4 or later.

I've made links to perl, removed the old version of m4 so there's only
one and there's no change. It's quite a bother to switch between cygwin
and mingw all the time.

$ ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether /bin/sh -n is known to work... yes
checking for expr... /bin/expr
checking for GNU M4 that supports accurate traces... /usr/local/bin/m4
checking how m4 supports trace files... --debugfile
checking for perl... /c/Perl/bin/perl
checking for emacs... no
checking for xemacs... no
checking for emacs... no
checking where .elc files should go... ${datadir}/emacs/site-lisp
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking whether make is case sensitive... yes
configure: creating ./config.status
config.status: creating tests/Makefile
config.status: creating tests/atlocal
config.status: creating man/Makefile
config.status: creating lib/emacs/Makefile
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating lib/Makefile
config.status: creating lib/Autom4te/Makefile
config.status: creating lib/autoscan/Makefile
config.status: creating lib/m4sugar/Makefile
config.status: creating lib/autoconf/Makefile
config.status: creating lib/autotest/Makefile
config.status: creating bin/Makefile
config.status: executing tests/atconfig commands

jcurl@EUROPA ~/install/autoconf-2.63
$ make
make  all-recursive
make[1]: Entering directory `/home/jcurl/install/autoconf-2.63'
Making all in bin
make[2]: Entering directory `/home/jcurl/install/autoconf-2.63/bin'
rm -f autom4te autom4te.tmp
srcdir=''; \
  test -f ./autom4te.in || srcdir=./; \
  sed -e 's|@SHELL[@]|/bin/sh|g' -e 's|@PERL[@]|/c/Perl/bin/perl|g' -e
's|@bindir[@]|/usr/local/bin|g' -e
's|@datadir[@]|/usr/local/share/autoconf|g' -e
's|@prefix[@]|/usr/local|g' -e 's|@autoconf-name[@]|'`echo autoconf |
sed 's,x,x,'`'|g' -e 's|@autoheader-name[@]|'`echo autoheader | sed
's,x,x,'`'|g' -e 's|@autom4te-name[@]|'`echo autom4te | sed
's,x,x,'`'|g' -e 's|@M4[@]|/usr/local/bin/m4|g' -e
's|@M4_DEBUGFILE[@]|--debugfile|g' -e 's|@AWK[@]|gawk|g' -e
's|@RELEASE_YEAR[@]|'`sed 's/^\([0-9][0-9][0-9][0-9]\).*/\1/;q'
../ChangeLog`'|g' -e 's|@VERSION[@]|2.63|g' -e 's|@PACKAGE_NAME[@]|GNU
Autoconf|g' -e 's|@configure_input[@]|Generated from autom4te.in; do not
edit by hand.|g' ${srcdir}autom4te.in >autom4te.tmp
chmod +x autom4te.tmp
chmod a-w autom4te.tmp
mv autom4te.tmp autom4te
autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'        
../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh --cache
'' --melt ./autoconf.as -o autoconf.in
The system cannot find the path specified.
autom4te: need GNU m4 1.4 or later: /usr/local/bin/m4
make[2]: *** [autoconf.in] Error 1
make[2]: Leaving directory `/home/jcurl/install/autoconf-2.63/bin'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jcurl/install/autoconf-2.63'
make: *** [all] Error 2

jcurl@EUROPA ~/install/autoconf-2.63
$ m4 --version
m4 (GNU M4) 1.4.12
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Rene' Seindal.




_______________________________________________
Autoconf mailing list
Autoconf@...
http://lists.gnu.org/mailman/listinfo/autoconf

Re: Installing Autoconf 2.63 on MinGW

by Brian Dessent :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Jason Curl wrote:

> I've just downloaded mingw-1.0.11, installed m4-1.4.12 and ActivePerl
> 5.10.0. When I run configure it succeeds, but building autoconf fails
> complaining about needing GNU m4 1.4 or later.

Activestate?  That's most likely your problem.  AS Perl can't cope with
POSIX path translation.

> I've made links to perl, removed the old version of m4 so there's only

Do you mean copies?  Because again, these tools don't know links.

> autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'
> ../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh --cache
> '' --melt ./autoconf.as -o autoconf.in
> The system cannot find the path specified.
> autom4te: need GNU m4 1.4 or later: /usr/local/bin/m4

You asked ActiveState perl to run the autom4te perl script, which itself
proceded to attempt to invoke /usr/local/bin/m4, because that is the m4
that configure found.  But AS Perl has no earthly how to translate
/usr/local/... into anything meaningful, because it is a plain Win32
program.  You need MSYS perl that knows how to translate /usr/local/...
its actual Win32 path before invoking it.

You might also consider doing a VPATH style build.

Brian


_______________________________________________
Autoconf mailing list
Autoconf@...
http://lists.gnu.org/mailman/listinfo/autoconf

Re: Installing Autoconf 2.63 on MinGW

by Eric Blake :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Jason Curl on 12/7/2008 12:27 PM:
> Hello,
>
> I've just downloaded mingw-1.0.11, installed m4-1.4.12 and ActivePerl
> 5.10.0. When I run configure it succeeds, but building autoconf fails
> complaining about needing GNU m4 1.4 or later.

Thanks for the report.  This probably means that you have an issue with
carriage returns in some, but not all, of your toolchain.  The official
mingw build of autoconf and m4 have been reported to work just fine; I
suspect that if you are using self-built m4, that the problem stems from a
different setting on binary vs. text mode handling.

> autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'        
> ../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh --cache
> '' --melt ./autoconf.as -o autoconf.in
> The system cannot find the path specified.
> autom4te: need GNU m4 1.4 or later: /usr/local/bin/m4

The only other thing I can think of is a difference between cygwin naming
vs. native windows file names.  Perhaps the configure script is able to
discover a file name that works for m4, but that same name, when handed
off to activeState perl can't be resolved as a valid path.

Personally, I don't do much mingw development, so I'm afraid I can't offer
much more advice.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             ebb9@...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkk8NFYACgkQ84KuGfSFAYC6ogCguJLVS7nl+NkFyhGHs7ri4KBB
5vQAoMC01x4a8ZfHmNsXdDq8M5se5Ee+
=I0Hs
-----END PGP SIGNATURE-----


_______________________________________________
Autoconf mailing list
Autoconf@...
http://lists.gnu.org/mailman/listinfo/autoconf

Re: Installing Autoconf 2.63 on MinGW

by Keith Marshall-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sunday 07 December 2008 20:35:05 Brian Dessent wrote:
> Jason Curl wrote:

Jason,

Your question has already been asked, and answered, several times
recently, on the MinGW and MSYS mailing lists; you would do well to
search their archives, e.g.:
http://thread.gmane.org/gmane.comp.gnu.mingw.user/26315/focus=26324
http://thread.gmane.org/gmane.comp.gnu.mingw.user/27824/focus=27838
http://article.gmane.org/gmane.comp.gnu.mingw.msys/4605

You might also consult the Wiki article here:
http://www.mingw.org/wiki/MSYS

paying particular attention to the follow up comments regarding
autoconf.

You are doing all kinds of everything wrong here:

> > I've just downloaded mingw-1.0.11,

Er, what's that?  Some kind of prehistoric release no one has heard
of?  I suspect you actually mean MSYS-1.0.11.
                                 ^^^^

> > installed m4-1.4.12

From whence?  This is surely your first fatal error; you *must* use
the m4-1.4.7-MSYS release, from the `MSYS Supplementary Tools:Current
Release:msysDTK-1.0.1' package collection on the MinGW download page
at SourceForge:
https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879

(Admittedly, SF's latest dumbing-down of the download page style has
made this very difficult to find; please complain to them, and not to
the MinGW project, about that).

> > and ActivePerl 5.10.0. When I run configure it succeeds, but
> > building autoconf fails complaining about needing GNU m4 1.4 or
> > later.
>
> Activestate?  That's most likely your problem.  AS Perl can't cope
> with POSIX path translation.

Again, as Brian points out, this is another likely contributor to your
problem; you should use the MSYS build of perl, which is found in the
`MSYS Supplementary Tools:Technology Preview:Tools for MSYS-1.0.11'
package collection, via the above link.

> > I've made links to perl, removed the old version of m4 so there's
> > only
>
> Do you mean copies?  Because again, these tools don't know links.

Unless you mean NTFS hard links, MS-Windows in general has no concept
of links, in the *nix `symbolic-link' sense; (even the so-called
symbolic-link support, allegedly present in Vista, is a dysfunctional
joke).  Sure, Cygwin subverts the MS-Windows `shortcut' feature, to
emulate symbolic-links, but such "links" cannot be used outside of
Cygwin itself.

> > autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg'
> > ../bin/autom4te -B '..'/lib -B '..'/lib         --language M4sh
> > --cache '' --melt ./autoconf.as -o autoconf.in
> > The system cannot find the path specified.
> > autom4te: need GNU m4 1.4 or later: /usr/local/bin/m4
>
> You asked ActiveState perl to run the autom4te perl script, which
> itself proceded to attempt to invoke /usr/local/bin/m4, because
> that is the m4 that configure found.  But AS Perl has no earthly
> how to translate /usr/local/... into anything meaningful, because
> it is a plain Win32 program.  You need MSYS perl that knows how to
> translate /usr/local/... its actual Win32 path before invoking it.
>
> You might also consider doing a VPATH style build.

Don't waste time considering this; JUST DO IT!  You are doomed to
fail, otherwise.

Regards,
Keith.


_______________________________________________
Autoconf mailing list
Autoconf@...
http://lists.gnu.org/mailman/listinfo/autoconf