On 27.6.2018. 13:40, Thanos Baloukas wrote:
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.
It seems to detect if /usr/lib64 exists first (and LFS does create this
as a symlink) before installing there. I do not have /usr/lib64 either,
not as a symlink or a dierctory, and meson never tried to install
anything there.
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page