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

oOiOo

Member

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:

Code:
gmake
cd svoxpico; ./autogen.sh && ./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)

Code:
$ 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

Code:
# diff config.sub config.sub-ori
688c688
<     i*86 | x86_64 | amd64 )
---
>     i*86 | x86_64)
697c697
<     | 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?
 

covacat

Well-Known Member

Reaction score: 170
Messages: 365

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

oOiOo

Member

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
 

memreflect

Active Member

Reaction score: 177
Messages: 209

--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.
 
Top