Solved FreeBSD 13, automake : machine `amd64' not recognized



Reaction score: 4
Messages: 37

Hi all,
I try to build nanotts (a text to speech synthesizer) from here and I get the following message with automake/configure:

cd svoxpico; ./ && ./configure --host `uname -m` && gmake -j
checking host system type... Invalid configuration `amd64': machine `amd64' not recognized
configure: error: /bin/sh ./config.sub amd64 failed
gmake: *** [Makefile:67: svoxpico/.libs/libttspico.a] Error 1

The error is from config.sub provide by automake(1)

$ ls -l config.sub
lrwxr-xr-x  1 foo  bar  41 May  5 12:03 config.sub -> /usr/local/share/automake-1.16/config.sub

It fails because amd64 is not set . It works with the following patch

# diff config.sub config.sub-ori
<     i*86 | x86_64 | amd64 )
>     i*86 | x86_64)
<     | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
>     | alphapca5[67]-* | alpha64pca5[67]-* | amd64-* | arc-* | arceb-* \

I have compiled numerous software using automake(1) on FreeBSD but I am not familiar with. So, should I do a bug report?


Well-Known Member

Reaction score: 171
Messages: 366

cd svoxpico; ./ && ./configure --host amd64-unknown-freebsd && gmake -j
that will work



Reaction score: 4
Messages: 37

Thanks, it's work. But I think the good solution is to make a bug report for automake.

In fact, generally speaking, I notice that most developers don't care about FreeBSD (or any other BSD, Haiku and Opensolaris).
Linux has become the standard. And if it works under linux, the code is ok. In the ports tree, there is a ton of the patches that do sed like s/linux/FreeBSD/g or s/bash/sh/g.

In my opinion, this is not the right solution: like this, developers are not aware of the code they are producing. I know that having to report bugs directly to a project is time consuming. But in the long run this is a good thing and it increases the visibility of FreeBSD.

My two cents


Active Member

Reaction score: 181
Messages: 212

--host `uname -m`
It's not a bug when you don't use software the way you're supposed to. Sure, you want to compile for amd64, but is that for FreeBSD, Linux, Windows, or even a bare-metal ELF target?

Unfortunately, the docs for Autoconf and Automake don't seem to have any information on supported CPU architectures, operating systems, etc., and I'm not aware of any such reference either. The closest thing seems to be the docs for the llvm::Triple class in LLVM, and that is only semi-useful since people can create their own OS with a custom triple.