Windows - 在MSYS64中不提供automake

时间:2016-07-17 12:23:06

标签: automake msys msys2

我正在尝试关注如何使用MSYS 64位在Windows上构建64位库的this教程。我坚持建立libiconv。我紧跟着教程 - 问题是" ./ configure"步。

步骤失败:

configure: error: cannot guess build type; you must specify one

更具体地说,这是完整输出:

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make sets $(MAKE)... (cached) no
checking for gcc... D:\Development\SFMLearn\x86_64-4.9.2-release-posix-seh-rt_v4-rev2\mingw64\bin\gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.exe
checking for suffix of executables... .exe
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether D:\Development\SFMLearn\x86_64-4.9.2-release-posix-seh-rt_v4-rev2\mingw64\bin\gcc accepts -g... yes
checking for D:\Development\SFMLearn\x86_64-4.9.2-release-posix-seh-rt_v4-rev2\mingw64\bin\gcc option to accept ISO C89... none needed
checking for style of include used by make... none
checking dependency style of D:\Development\SFMLearn\x86_64-4.9.2-release-posix-seh-rt_v4-rev2\mingw64\bin\gcc... none
checking how to run the C preprocessor... D:\Development\SFMLearn\x86_64-4.9.2-release-posix-seh-rt_v4-rev2\mingw64\bin\gcc -E
checking for strip... /mingw/bin/strip
checking build system type... build-aux/config.guess: unable to guess system type

This script, last modified 2009-02-03, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run (build-aux/config.guess) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.

config.guess timestamp = 2009-02-03

uname -m = x86_64
uname -r = 2.4.1(0.294/5/3)
uname -s = MSYS_NT-10.0
uname -v = 2016-02-03 10:57

/usr/bin/uname -p = unknown
/bin/uname -X     =

hostinfo               =
/bin/universe          =
/usr/bin/arch -k       =
/bin/arch              = x86_64
/usr/bin/oslevel       =
/usr/convex/getsysinfo =

UNAME_MACHINE = x86_64
UNAME_RELEASE = 2.4.1(0.294/5/3)
UNAME_SYSTEM  = MSYS_NT-10.0
UNAME_VERSION = 2016-02-03 10:57
configure: error: cannot guess build type; you must specify one

它告诉我从提供的URL下载config.guess和config.sub(因为我的脚本版本显然是从2009年开始),但是,我不知道在哪里放这个脚本。

This回答建议交换%MSYS_ROOT%/ usr / share / automake.1.11.1 / config.guess,但是甚至没有安装automake!没有文件夹&#34; automake&#34;在/ usr / share中。

Felix@felix MSYS /usr/share
$ ls
aclocal          doc    info      magic             misc     pki       zoneinfo
awk              emacs  libalpm   makepkg           Msys     readline  zsh
bash-completion  file   licenses  makepkg-template  p11-kit  tabset
cygwin           gnupg  locale    man               pacman   terminfo

我不知道如何在MSYS 64位上安装automake,谷歌也没有帮助。我已经下载了&#34; automake-1.11.1-1-msys-1.0.13-bin&#34;和config.guess和config.sub,但我不知道把它们放在哪里。

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试将这些参数传递给configure脚本:

--build=$MSYSTEM_CHOST --host=$MSYSTEM_CHOST

实际上,你为什么要首先建立libiconv?您可以通过MSYS2的包管理器安装它。运行:

pacman -S mingw-w64-x86_64-libiconv mingw-w64-x86_64-iconv

(我不知道libiconv和iconv包之间的区别,所以我只是将它们都包含在上面。)

如果您感到好奇,可以在这里看到这些包的构建方式:

https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-libiconv

答案 1 :(得分:0)

通常,您可以在https://packages.msys2.org/base

中找到可用的软件包

pacman -S automake1.16将安装最新版本(在发布时)。

此外,可执行文件的文件名将为automake-1.16,而不仅仅是automake,...