Re: archivers/arj fails to build on jail
Date: Tue, 30 Aug 2022 16:45:49 UTC
On 30.08.2022 18.03, Renato Botelho wrote: > On 30/08/22 12:39, Renato Botelho wrote: >> On 30/08/22 11:35, Jesper Schmitz Mouridsen wrote: >>> >>> On 30.08.2022 13.17, Renato Botelho wrote: >>>> On 29/08/22 20:32, Jesper Schmitz Mouridsen wrote: >>>>> >>>>> >>>>> On 29.08.2022 17.29, Renato Botelho wrote: >>>>>> There is a PR [1] opened for years reporting arj fails to build >>>>>> on a jail. Recently I reproduced it on a system running CURRENT. >>>>>> >>>>>> I just launched a jail and tried to build it, and got the error >>>>>> as described: >>>>> Did you use ezjail? >>>>> >>>>> I tried to replicate and I think the error is triggered by >>>>> the nullfs usage of ezjail. I copied the settings of ezjail without >>>>> nullfs usage (using the basejail as path adding etc from the >>>>> failing jail to it and removing the fstab from jail.conf) and arj >>>>> did get a working msgbind. >>>> >>>> Yes, I also use ezjail. I'm cc'ing ezjail's maintainer to see if >>>> we can get some advice. >>>> >>>> Thanks! >>>> >>> Hi again. >>> >>> >>> I narrowed this down to symlinks ,wiithin the jail, to the nullfs >>> mountpoint. >>> >>> Replacing symlinks to the basejail mount point with dirs and setting >>> this in the fstab of the jail >>> >>> and msgbind is a valid executable >>> >>> /usr/jails/basejail/bin /usr/jails/test1/bin nullfs ro 0 0 >>> /usr/jails/basejail/boot /usr/jails/test1/boot nullfs ro 0 0 >>> /usr/jails/basejail/lib /usr/jails/test1/lib nullfs ro 0 0 >>> /usr/jails/basejail/libexec /usr/jails/test1/libexec nullfs ro 0 0 >>> /usr/jails/basejail/rescue /usr/jails/test1/rescue nullfs ro 0 0 >>> /usr/jails/basejail/sbin /usr/jails/test1/sbin nullfs ro 0 0 >>> /usr/jails/basejail/usr/bin /usr/jails/test1/usr/bin nullfs ro 0 0 >>> /usr/jails/basejail/usr/lib /usr/jails/test1/usr/lib nullfs ro 0 0 >>> /usr/jails/basejail/usr/include /usr/jails/test1/usr/include nullfs >>> ro 0 0 >>> /usr/jails/basejail/usr/lib32 /usr/jails/test1/usr/lib32 nullfs ro 0 0 >>> /usr/jails/basejail/usr/ports /usr/jails/test1/usr/ports nullfs ro 0 0 >>> /usr/jails/basejail/usr/libdata /usr/jails/test1/usr/libdata nullfs >>> ro 0 0 >>> /usr/jails/basejail/usr/sbin /usr/jails/test1/usr/sbin nullfs ro 0 0 >>> /usr/jails/basejail/usr/share /usr/jails/test1/usr/share nullfs ro 0 0 >>> /usr/jails/basejail/usr/libexec /usr/jails/test1/usr/libexec nullfs >>> ro 0 0 >>> /usr/jails/basejail/usr/src /usr/jails/test1/usr/src nullfs ro 0 0 >>> >>> It should be further narrowed down but nullfs alone is not the issue. >> >> Interesting. And just to add a note here, I copied msgbind from jail >> to host and tried to execute it to confirm binary was really bad and >> I got the same Abort trap message. >> > > And one more interesting information is it builds fine with gcc. I > just added USE_GCC=yes to the port and it worked. > if you inspect the output of realpath /usr/bin/cc i think we are close to a cause.. it includes /basejail in my setup.. if you copy cc out of basejail e.g /usr/local/bin and make CC=/usr/local/bin it also works.. perhaps some linking of msgbind fails because of "wrong" realpath...