2

I am trying to follow this tutorial on how to build 64-bit libraries on Windows using MSYS 64-bit. I am stuck on building libiconv. I followed the tutorial closely - the problem is the "./configure" step.

The step fails with :

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

More specific, here is the full output:

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

It told me to download config.guess and config.sub from the provided URL (since my version of the script is apparently from 2009), however, I have no idea where to put this script.

This answer suggests to exchange %MSYS_ROOT%/usr/share/automake.1.11.1/config.guess, however automake isn't even installed! There is no folder "automake" in /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

I do not know how to install automake on MSYS 64-bit, Google doesn't help either. I have downloaded "automake-1.11.1-1-msys-1.0.13-bin" and config.guess and config.sub, but I don't know where to put them.

Any help is appreciated.

Community
  • 1
  • 1
BiggCrazy
  • 157
  • 4
  • 11

2 Answers2

1

Try passing these arguments to the configure script:

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

Actually, why are you even building libiconv in the first place? You can install it through MSYS2's package manager. Run:

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

(I don't know the difference between the libiconv and iconv packages so I just included both of them above.)

If you are curious, you can see how those packages were built here:

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

David Grayson
  • 84,103
  • 24
  • 152
  • 189
1

In general, you can find which packages are available at https://packages.msys2.org/base

pacman -S automake1.16 will install that latest (at the time of this posting).

Additionally, the executable will have the filename automake-1.16 instead of just automake, ...

ergohack
  • 1,268
  • 15
  • 27