amd64 vs. x86:64 architecture mismatch in FreeBSD-base repo
Ben Woods
woodsb02 at gmail.com
Wed Jul 27 22:42:51 UTC 2016
On Wednesday, 27 July 2016, Matthew Seaman <matthew at freebsd.org> wrote:
> Hmmm... where essentially the command you propose is:
>
> # env ABI=freebsd:12:x86:64 pkg upgrade -r FreeBSD-base
>
> Unfortunately this doesn't work:
>
> codling:/home/matthew:# env ABI=freebsd:12:x86:64 pkg upgrade -r
> FreeBSD-base
> pkg: Warning: Major OS version upgrade detected. Running "pkg-static
> install -f pkg" recommended
> Updating FreeBSD-base repository catalogue...
> Repository FreeBSD-base has a wrong packagesite, need to re-create database
> pkg: file:///usr/obj/usr/src/repo/freebsd:12:x86:64/latest/meta.txz: No
> such file or directory
> repository FreeBSD-base has no meta file, using default settings
> pkg:
> file:///usr/obj/usr/src/repo/freebsd:12:x86:64/latest/packagesite.txz:
> No such file or directory
> Unable to update repository FreeBSD-base
> All repositories are up-to-date.
> pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required
> Checking for upgrades (0 candidates): 100%
> Processing candidates (0 candidates): 100%
> Checking integrity... done (0 conflicting)
> Your packages are up to date.
>
> 'freebsd:12:x86:64' is the old-style ABI format that went out in about
> pkg-1.5.x or pkg-1.6.x or so and is now known inside pkg(8) as ALTABI.
>
> codling:/home/matthew:# pkg -vv | grep ABI
> ABI = "FreeBSD:11:amd64";
> ALTABI = "freebsd:11:x86:64";
>
> The base repo directory is named using the new style ABI:
>
> codling:/home/matthew:# ls -la /usr/obj/usr/src/repo/
> total 12
> drwxr-xr-x 3 matthew wheel 512 Jul 27 07:14 ./
> drwxr-xr-x 23 matthew wheel 512 Jul 26 17:43 ../
> drwxr-xr-x 3 root wheel 512 Jul 27 07:32 FreeBSD:12:amd64/
>
> Even so:
>
> codling:/home/matthew:# env ABI=FreeBSD:12:amd64 pkg upgrade -r
> FreeBSD-base
> pkg: Warning: Major OS version upgrade detected. Running "pkg-static
> install -f pkg" recommended
> Updating FreeBSD-base repository catalogue...
> Fetching meta.txz: 100% 264 B 0.3kB/s 00:01
> Fetching packagesite.txz: 100% 48 KiB 49.0kB/s 00:01
> Processing entries: 0%
> pkg: wrong architecture: freebsd:12:x86:64 instead of FreeBSD:12:amd64
> pkg: repository FreeBSD-base contains packages with wrong ABI:
> freebsd:12:x86:64
> Processing entries: 100%
> Unable to update repository FreeBSD-base
> All repositories are up-to-date.
> pkg: Repository FreeBSD-base cannot be opened. 'pkg update' required
> Checking for upgrades (0 candidates): 100%
> Processing candidates (0 candidates): 100%
> Checking integrity... done (0 conflicting)
> Your packages are up to date.
>
Ok, it seems the PkgBase repo is located in a directory that uses the
ABI style FreeBSD:12:amd64 in the directory name, but the packages
contained within that repo are built for ABI freebsd:12:x86:64.
The following should be a suitable work-around:
1. Change the contents of /usr/local/etc/pkg/repo/FreeBSD-base.conf,
updating the url line to remove the ${ABI} variable and instead be:
url: "file:///usr/obj/usr/src/repo/FreeBSD:12:amd64/latest",
2. Perform the upgrade by running the command:
-
# env ABI=freebsd:12:x86:64 pkg upgrade -r FreeBSD-base
This likely needs to be fixed so that the work around is not necessary, but
hopefully that gets you going in the mean time.
Regards,
Ben
--
--
From: Benjamin Woods
woodsb02 at gmail.com
More information about the freebsd-pkgbase
mailing list