On 27/06/2018 12:43 μμ, Christopher Gregory wrote:


Sent: Wednesday, June 27, 2018 at 9:24 PM
From: "Christopher Gregory" <[email protected]>
To: [email protected]
Subject: [blfs-support] Using meson to build packages with libraries

Hello,

I am surprised that no one has bothered to report this.  I have noticed that 
when meson and ninja are used to build a package, if that package has libraries 
to be installed, they get installed to /usr/lib64 unless you specifically add 
--libdir=/usr/lib to the meson configure line.

This does affect packages already in the book.  All you need to do to confirm 
this is to do a dest-dir install and you will see the evidence for yourself.  I 
do not know if there is a global option somewhere in the main meson 
configuration that can be changed, but as a number of editors have fought to 
keep things out of /usr/lib64 then this spoils the work.  I only found this out 
by accident, when investigation why a package was not able to find the 
libraries of an installed package.  As soon as I added the --libdir=/usr/lib to 
the offending packages's meson configure line and recompiled and installed the 
error went away.

Regards,

Christopher.
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Hello,

Well it seems that this can be overridden in mesonlib.py.  There are a few 
/usr/lib64 directives there.  This is in the extracted meson tar ball 
directory.  I have *not* tried this yet, but it seems that by removing 
/usr/lib64 from that file, then this should prevent the need for having to add 
it to individual packages in the book.  One change is better than many.  I am 
not a programmer, but I am sure that if Bruce or Pierre or Ken were to look at 
that file, they could confirm if my deductions are correct.  The help file for 
meson also states that the default install directory for libraries is indeed 
/usr/lib64.  It would be nice to see this correction made in the lfs systemd 
book.


I can't confirm this. I install everything in destdir initially, create
binary packages and then I install them on /.
/usr/lib64 does not exist on my system. Example packages that are built
with meson without --libdir=/usr/lib and install their libraries in
/usr/lib are libinput libdrm and pango.

--
Thanos
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to