tech-pkg archive

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

Re: rust 1.33.0 bootstrap fails on NetBSD/aarch64



>> > I wonder if we could avoid stripping the $ORIGIN out of the bootstrap 
>> > binaries. Even on older NetBSD versions where it does not work it should
>> > not hurt.
>>
>> Then someone needs to fix and approve a change to cwrapper; quite
>> a bit earlier Ryo told me:
>>
>> > It is hardcoded in pkgsrc/pkgtools/cwrapper.
>> >...
>> > See:
>> > pkgsrc/pkgtools/cwrappers/files/bin/generic-transform-cc.c
>> >    314  generic_transform_cc(struct arglist *args)
>> > (snip)
>> >    438                  if (*path != '/')
>> >    439                          continue;
>> > (snip)
>
> No, this needs to stay, we cannot have pkgsrc-built binaries having
> $ORIGIN in them.
>
> What you can do is similar to the stage0-bootstrap target for SmartOS
> and just elfedit (I presume NetBSD has a similar utility) the
> resulting binaries to add them afterwards specifically for the
> bootstrap tarball and nothing else.

This is where I met a dead end.  NetBSD does have elfedit, but
unless I mis-read the documentation, what it can do is severely
limited, basically only convert between different ELF variants
which is useless here.  In particular, there's no operation for
tweaking RPATH.

The pkgsrc tool chrpath can tweak RPATH (it cannot extend the
length, but the current compiler wrappers put a placeholder entry
into RPATH for the exeutables so there is room).  However,
chrpath only works natively on the target architecture, which is
incompatible with cross-compilation.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index