[Clfs-support] gmp-4.3.1. fails to compile in Ch. 5, "Constructing Cross Compile Tools"

Dan McGhee beesnees at grm.net
Wed Sep 2 17:36:18 PDT 2009


Dan McGhee wrote:
> Using SVN-20090831-Native-Multilib
>
> Compile fails with "C++ compiler not available, see config.log for 
> details."
>
I don't know how, or if I can, respond to something in the archives. Jim 
Gifford replied to this with:
> This error message implies that g++ is not available from the host, what 
> does config.log show.
>   
First, the "config.log" just repeated the error with reference to lines 
in "configure." The info I included with my first post were the lines to 
which the "config.log" referred me. They test for the presence of g++, 
which I know is present and other parts of "configure" found, and for 
some reason the test failed.

I did some research today and learned (?) a couple of things from the 
"GMP Manual" at the GMP website. GMP apparently isn't really good at 
"guessing" the processor type. The search for a compiler is based on the 
results of that "guess." You can take the guesswork out by passing 
--build=$(processor) and/or --host=$(system). I hesitate to use the 
terms "host" and "target" because there was a discussion in the manual 
about using those terms incorrectly. However.........

After I unsuccessfully tried a few iterations with --build= and --host=, 
I stumbled on to GMP's ability to search for and *determine *the 
location of the compiler by passing `--enable-cxx=detect.` My paraphrase 
of what the manual says is that when you pass `--enable-cxx` 
`./configure` must know exactly who and where the compiler is. 
Therefore, if the original guess on the processor is wrong, GMP will not 
compile. I've seen discussions that ABI=32 may solve the compile 
problems. (I think ABI is right.) The manual indicates that GPM is 
really good at choosing 32 or 64 bit libraries depending on which is the 
most efficient. This, however, is apparently predicated on the success 
of processor identification and compiler location.

So I used just the instructions in the book except that I passed 
`--enable-cxx=determine` and I got past the "find the compiler" point 
successfully. The compile, however, failed because there is no m4 
installed in my Ubuntu--boy do I love LFS. I'm going to take care of 
that and see what happens.

The other side of this logic is that maybe there is something else going 
on that I, in my inexperience, can't see. I think what I'm doing now 
means that m4 is a dependency of GMP, but neither CLFS stable nor 
development install m4 before GMP. I also don't know if m4 is standard 
on distributions. Guess I'm gonna learn something else.

Dan




More information about the Clfs-support mailing list