Re: set : illegal option -o pipefail error while trying to upgrade pkg.

From: Mario Marietto <marietto2008_at_gmail.com>
Date: Sun, 28 Jan 2024 13:04:20 UTC
Hello Warner,

Thanks for your help. But unfortunately your solution didn't work. After
having followed your instructions carefully :

Save a copy of /bin/sh. Check out stable/13 (or 12 if the following fails).
> Cd to src/bin/sh. Type make all. You may need -m /path/to/src/share/mk if
> it makes complaints. Create a test area, I'll call it /destdir. Also mkdir
> /destdir/bin too. Then make install  DESTDIR=/destdir. You may need to do
> this as root. Ignore the failures for the man pages and maybe tests. You
> should have a /destdir/bin/sh. See if it runs. If so, copy it to /bin and
> try the upgrade again.


It asked me to copy some new libraries from FreeBSD 14.0 to the /usr/lib32
and /lib directories of the FreeBSD 10.4 system. I copied all the libraries
requested and at the end,it gave the following error :

/lib/libc.so.7: version FBSD_1.6 required by /bin/sh not found

so,I have changed the flag that does not allow me to rename it with the
command :

# chflags noschg libc.so.7

and I've copied the libc.so.7 file that's on the directory /lib of the
FreeBSD 14 to the same directory of the FreeBSD 10.4 system and I've
rebooted. Unfortunately it hasn't been accepted. The error is the following
one :

/lib/libc.so.7 : unsupported relocation type 37 in non-PLT relocations

What has been my mistake ? Maybe using FreeBSD 14 is wrong ?

On Sun, Jan 28, 2024 at 9:47 AM Mario Marietto <marietto2008@gmail.com>
wrote:

> # set -o pipefail
> set : variable name must begin with a letter.
>
> On Sun, Jan 28, 2024 at 5:43 AM Warner Losh <imp@bsdimp.com> wrote:
>
>>
>>
>> On Sat, Jan 27, 2024, 5:54 PM Warner Losh <imp@bsdimp.com> wrote:
>>
>>>
>>>
>>> On Sat, Jan 27, 2024, 5:12 PM Mario Marietto <marietto2008@gmail.com>
>>> wrote:
>>>
>>>> Hello.
>>>>
>>>> I'm trying to upgrade as much as I can FreeBSD 10.4 because it is the
>>>> only one version that can compile some of the old arm 32 bit code I need to
>>>> use for one of my projects. As you already know,packages don't work at
>>>> all,but ports almost work. I was trying to install xfce4 from ports,but the
>>>> compilation stopped when it didn't accept this file :
>>>>
>>>>
>>>> http://distcache.FreeBSD.org/ports-distfiles/trousers-0.3.14.tar.gz
>>>>
>>>>
>>>> at this point,I decided to upgrade the system with :
>>>>
>>>>
>>>> # freebsd-update fetch
>>>> # freebsd-update install
>>>>
>>>>
>>>> and the ports tree with :
>>>>
>>>>
>>>> # portsnap fetch extract
>>>> # portsnap fetch update
>>>>
>>>>
>>>> At this point it asked me to update pkg,so I did :
>>>>
>>>>
>>>> # cd /usr/ports/ports-mgmt/pkg
>>>> # make
>>>>
>>>>
>>>> but unfortunately I got this error that I'm not able to fix :
>>>>
>>>>
>>>> set : illegal option -o pipefail
>>>>
>>>>
>>>> and I can't do anything anymore. I'm stuck here. Can someone help me to
>>>> fix it ? thanks.
>>>>
>>>
>>> Save a copy of /bin/sh. Check out stable/13 (or 12 if the following
>>> fails). Cd to src/bin/sh. Type make all. You may need -m
>>> /path/to/src/share/mk if make complains. Create a test area, I'll call it
>>> /destdir. Also mkdir /destdir/bin too. Then make install  DESTDIR=/destdir.
>>> You may need to do this as root. Ignore the failures for the man pages and
>>> maybe tests. You should have a /destdir/bin/sh. See if it runs. If so copy
>>> it to /bin and try the upgrade again.
>>>
>>> I think 12 has pipefail. I dont think 11 does. 13 definitely has it. The
>>> error message is from the shell.
>>>
>>
>>
>> The command "set -o pipefail" is how you'll know if it will work.... or
>> stands a good chance of working.
>>
>>
>> Warner
>>>
>>>
>
> --
> Mario.
>


-- 
Mario.