Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Aug 2022 19:00:02 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>, Michael Gmelin <grembo@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: pkg: Newer FreeBSD version for package... but why?
Message-ID:  <8ccb243e-55e5-e600-fe6a-9f40fc606ec3@FreeBSD.org>
In-Reply-To: <402cf119-b07e-76fd-48b6-50eeb9b4508f@FreeBSD.org>
References:  <81814ba9-5040-c102-dad4-0a69f3c46121@FreeBSD.org> <20220713120900.63cd5639.grembo@freebsd.org> <d08ca84e-5e48-f983-9540-44316089357e@FreeBSD.org> <402cf119-b07e-76fd-48b6-50eeb9b4508f@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2022-07-13 21:33, John Baldwin wrote:
> On 7/13/22 3:17 AM, Andriy Gapon wrote:
>> On 2022-07-13 13:09, Michael Gmelin wrote:
>>>
>>>
>>> On Wed, 13 Jul 2022 10:29:06 +0300
>>> Andriy Gapon <avg@FreeBSD.org> wrote:
>>>
>>>> # uname -U
>>>> 1400063
>>>>
>>>> # uname -K
>>>> 1400063
>>>>
>>>> # pkg upgrade
>>>> Updating FreeBSD repository catalogue...
>>>> Fetching packagesite.pkg: 100%    5 MiB   4.8MB/s    00:01
>>>> Processing entries:   0%
>>>> Newer FreeBSD version for package zyre:
>>>> To ignore this error set IGNORE_OSVERSION=yes
>>>> - package: 1400063
>>>> - running kernel: 1400051
>>>> Ignore the mismatch and continue? [y/N]:
>>>>
>>>> Does anyone know why this would happen?
>>>> Where does pkg get its notion of the running kernel version?
>>>>
>>>
>>> If I'm reading the sources correctly, it's determining the OS version
>>> by looking at the elf headers of various files in this order:
>>>
>>>       getenv("ABI_FILE")
>>>       /usr/bin/uname
>>>       /bin/sh
>>>
>>> So I would assume that `file /usr/bin/uname` shows 1400051 on your
>>> system.
>>
>> Thank you very much!  That's it:
>> # file /usr/bin/uname
>> /usr/bin/uname: ELF 32-bit LSB executable, ARM, EABI5 version 1
>> (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1,
>> FreeBSD-style, for FreeBSD 14.0 (1400051), stripped
>>
>>> You can point it to checking another file by setting ABI_FILE[0] in the
>>> environment or ignore the check by setting IGNORE_OSVERSION (like
>>> advised). The "running kernel:" label seems a bit misleading.
>>
>> Indeed.
>>
>> Now the next thing (for me) to research is why the binaries were built
>> "for FreeBSD 14.0 (1400051)" when the source tree has 1400063 and uname
>> -U also reports 1400063.
>> FWIW, this was a cross-build, maybe that played a role too.
> 
> If you do a NO_CLEAN=yes build, we don't relink binaries just because
> crt*.o changed (where the note is stored).
> 

I see.  It was a NO_CLEAN build indeed.
Thanks.

-- 
Andriy Gapon


https://standforukraine.com
https://razomforukraine.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8ccb243e-55e5-e600-fe6a-9f40fc606ec3>