> Date: Sat, 01 Mar 2014 18:17:42 -0600
> From: Bruce Dubbs <[email protected]>
> To: LFS Developers Mailinglist <[email protected]>
> Subject: Re: [lfs-dev] gcc pass 1/2 instructions re mpfr/gmp/mpc.
>
> akhiezer wrote:
> >> Date: Sat, 01 Mar 2014 17:04:38 -0600
> >> From: Bruce Dubbs <[email protected]>
> >> To: LFS Developers Mailinglist <[email protected]>
> >> 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
>
Had written (it seems to've not appeared on list):
====
No; you'd need to strip out the paths - or sed out the '64' &c - to get
uniqueness. Can see by inspection: and verified on nearby machine, that
still get =4 .
Could may be do:
$(ls /usr/lib*/lib{mpfr,gmp,mpc}.so|rev|cut -d'/' -f1|rev|sort|uniq|wc -l) != 3
, if it's ok to assume 'rev' present on host-os; probly ok as is usually in
util-linux.
Or could use find().
====
But, that'd still be not right: for, you could be inadvertently
mixing'n'matching 32-bit & 64-bit: e.g. (just an example) 32-bit gmp under
/usr/lib , and 64-bit mpfr & mpc under /usr/lib64 . You'd really want to
keep them separate:
$(\ls /usr/lib/lib{mpfr,gmp,mpc}.so|rev|cut -d'/' -f1|rev|sort|uniq|wc -l) !=
3
$(\ls /usr/lib64/lib{mpfr,gmp,mpc}.so|rev|cut -d'/' -f1|rev|sort|uniq|wc -l)
!= 3
, with a conditional test beforehand to ensure the dir (/usr/lib ,
/usr/lib64) exists.
That'd still allow a reasonably concise and accurate test.
rgds,
akh
--
--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page