Thank you for your answers.
Is there
/home/gub/NewGub/gub/target/tools/build/gmp-6.0.0.a/config.log
?
Would you show me config.log in gmp-6.0.0.a ?
As far as I can see, that file does not exist on my system.
Would you show me result of the following commands?
$ cat /proc/cpuinfo
$ cd /home/gub/NewGub/gub/target/tools
$ find . -name "config.log"
address@hidden:~$ cd NewGub/gub/target/tools/
address@hidden:~/NewGub/gub/target/tools$ find . -name
"config.log"
./build/gmp-6.0.0.a/config.log
I have attached config.log and the output of cpuinfo.
Thank you for your files.
If I understand correctly,
my environment and your environment difference is found.
I'm making a patch for GUB.
In my 32 bit VM,
/proc/cpuinfo flags has `lm' (long mode).
So GUB sets build_hardware_bits=64.
https://github.com/gperciva/gub/blob/7e12e0ab779b11db32b471875ab31d93aabb7f7d/gub/settings.py#L230
And, GUB sets build_bits=32 because the OS is 32 bit.
https://github.com/gperciva/gub/blob/7e12e0ab779b11db32b471875ab31d93aabb7f7d/gub/settings.py#L65
Thus, build_bits != build_hardware_bits.
So GUB sets environment variable ABI=32.
https://github.com/gperciva/gub/blob/7e12e0ab779b11db32b471875ab31d93aabb7f7d/gub/settings.py#L243
GMP's configure script detects the 64 bit capable CPU but ABI=32 is set.
So the GMP building succeed.
On the other hands,
in your 32 bit VM,
/proc/cpuinfo flags does not have `lm' (long mode).
Ofcource, your CPU is 64 bit capable.
It originally would have the flag.
Perhaps virtualization software drops the flag.
So GUB sets build_hardware_bits=32.
Thus, build_bits == build_hardware_bits.
So GUB does not set environment variable ABI.
GMP's configure script detects the 64 bit capable CPU
because it uses CPUID instead of `/proc/cpuinfo'.
Then, it try to use 64 bit but it cannot use 64 bit because the OS is 32
bit.