[lfs-dev] gcc pass 1/2 instructions re mpfr/gmp/mpc.

Bruce Dubbs bruce.dubbs at gmail.com
Sat Mar 1 16:17:42 PST 2014


akhiezer wrote:
>> Date: Sat, 01 Mar 2014 17:04:38 -0600
>> From: Bruce Dubbs <bruce.dubbs at gmail.com>
>> To: LFS Developers Mailinglist <lfs-dev at linuxfromscratch.org>
>> Subject: Re: [lfs-dev] gcc pass 1/2 instructions re mpfr/gmp/mpc.
>>
>> Pierre Labastie wrote:
>>> Le 01/03/2014 23:31, Bruce Dubbs a écrit :
>>>> Pierre Labastie wrote:
>>>>> Le 01/03/2014 21:14, Bruce Dubbs a écrit :
>>>>>> Pierre Labastie wrote:
>>>>>>
>>>>>>>> It sounds like we need to add a check for libgmp on the host.  Perhaps
>>>>>>>> libmpfr and libmpc also.
>>>>>>
>>>>>>> It is the .la files, which fire the issue. I could reproduce the error with
>>>>>>> lfs-7.5-rc1 as the host, by removing libgmp.la.
>>>>>>>
>>>>>>> Actually, neither Debian nor Arch provide those .la files. I have not checked
>>>>>>> Fedora yet.
>>>>>>>
>>>>>>> I am not sure what should be done. If users accept to install libgmp-dev,
>>>>>>> libmpfr-dev, libmpc-dev on their host, the easiest would be to completely
>>>>>>> remove the build of those packages for gcc-pass1. I'll try that. This would
>>>>>>> imply that the host requirement be augmented with both libraries _and_ headers
>>>>>>> checks.
>>>>>>>
>>>>>>> Otherwise, maybe just a note telling to remove the .la files (completely
>>>>>>> removing them gives the cleanest build), at least for the course of the build?
>>>>>>
>>>>>> Yes, on my system I have /usr/lib/libmpfr.la which contains
>>>>>> dependency_libs=' /usr/lib/libgmp.la'.
>>>>>>
>>>>>> If we add the following to the host system requirements, would that be
>>>>>> enough?
>>>>>>
>>>>>> [ -e /usr/lib/libmpfr.la ] && [ ! -e /usr/lib/libgmp.la ] &&
>>>>>>        echo "libgmp is missing"
>>>>>>
>>>>>> I'm going to hold off releasing 7.5 until we get this settled.
>>>>>>
>>>>>>       -- Bruce
>>>>>>
>>>>> I think it is the idea of the fix, except that the libs may be in /usr/lib64
>>>>> (as in Slackware64). The message should be changed though, since libgmp.so
>>>>> might be installed without libgmp.la. Do not know exactly what to say: "please
>>>>> install a package with libgmp.la, or remove libmpfr.la" (too long...)
>>>>
>>>> Hmm.  How about:
>>>>
>>>> if [ $(ls /usr/lib*/lib{mpfr,gmp,mpc}.so|wc -l) != 3 ]; then
>>>>      echo one of lib{mpfr,gmp,mpc}.so is missing
>>>> fi
>>>>
>
>
> This would give a false-negatve on e.g. host-os multilib slackware - there's
> a '/usr/lib/libmpc.so' as well as the three 'usual suspects'
> (i.e. /usr/lib64/lib{mpfr,gmp,mpc}.so) in /usr/lib64  .
>
>
> The test - if using that approach - would really need to do (loop across)
> each of mpfr/mpc/gmp separately, and check that iindivid value is e.g. '>=1'
> && '<=2'  .


Gawd.

How about  $(ls /usr/lib*/lib{mpfr,gmp,mpc}.so|sort|uniq|wc -l) != 3

   -- Bruce




More information about the lfs-dev mailing list