Re: archivers/arj fails to build on jail

From: Renato Botelho <garga_at_FreeBSD.org>
Date: Tue, 30 Aug 2022 16:03:48 UTC
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.

-- 
Renato Botelho