Date: Wed, 13 Jul 2022 11:33:10 -0700 From: John Baldwin <jhb@FreeBSD.org> To: Andriy Gapon <avg@FreeBSD.org>, Michael Gmelin <grembo@freebsd.org> Cc: current@freebsd.org Subject: Re: pkg: Newer FreeBSD version for package... but why? Message-ID: <402cf119-b07e-76fd-48b6-50eeb9b4508f@FreeBSD.org> In-Reply-To: <d08ca84e-5e48-f983-9540-44316089357e@FreeBSD.org> References: <81814ba9-5040-c102-dad4-0a69f3c46121@FreeBSD.org> <20220713120900.63cd5639.grembo@freebsd.org> <d08ca84e-5e48-f983-9540-44316089357e@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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). -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?402cf119-b07e-76fd-48b6-50eeb9b4508f>