lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUB problem


From: Masamichi Hosoda
Subject: Re: GUB problem
Date: Mon, 29 Aug 2016 22:17:46 +0900 (JST)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]