tech-pkg archive

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

Re: Rust broken again!



On Sun, Oct 13, 2019 at 09:43:50AM +0100, Jonathan Perkin wrote:
> * On 2019-10-13 at 08:54 BST, Martin Husemann wrote:
> 
> > once again rust is not buildable for me. This is due to the fact that pkgsrc
> > does not allow $ORIGIN shared lirbary refs.
> 
> ..in software built by pkgsrc, that doesn't stop you from using it in
> the bootstrap package - see how the SmartOS rust bootstraps are built.
> It's likely in this case that the NetBSD bootstraps simply weren't
> built correctly or have all the libraries that they require bundled
> with them.
> 
> Rest of the trolling ignored.

I think the trolling should not be ignored: the "no $ORIGIN at any
point in the build" rule also breaks packages built using meson.

In the libtool world, a build tool made in objdir would be replaced with
a script which added objdir to LD_LIBRARY_PATH and called the "real"
build tool which was stashed in .libs.

meson does the equivalent using rpath, adding objdir to the rpath
*temporarily*. meson found that they could not perform reproducible
builds as different lengths of objdir string led to to different
binaries even though the contents of the final rpaths were the same,
so rather than temporarily embedding a full objdir, they use $ORIGIN
as part of objdir, so the rpath (and especially its length) are
the same for all builds.

I can understand that pkgsrc will not want to install a binary
containing $ORIGIN - I think checkfiles already checks for that.
I disagree that $ORIGIN should never be used at any point in the build.


Patrick


Home | Main Index | Thread Index | Old Index