lilypond-devel
[Top][All Lists]
Advanced

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

Re: GUB problem


From: Phil Holmes
Subject: Re: GUB problem
Date: Mon, 29 Aug 2016 16:24:55 +0100

----- Original Message ----- From: "Masamichi Hosoda" <address@hidden>
To: <address@hidden>
Cc: <address@hidden>
Sent: Monday, August 29, 2016 3:58 PM
Subject: Re: GUB problem


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.

I've created pull request.
https://github.com/gperciva/gub/pull/28


I've accepted the request, merged it, and Gub is compiling. GMP appears to have compiled OK, so it looks like your patch fixed this problem.

Please accept my continued thanks for your help supporting LilyPond's build.

--
Phil Holmes



reply via email to

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