pkgng has several fallbacks:
- There is a statically-linked version available as
pkg-static
. - You can run the install tool again by explicitly telling it to
/usr/sbin/pkg bootstrap -f
.
What you need to do is tell pkg
to use the FreeBSD 10.1 repository. Because your configuration file says latest
it is using the FreeBSD 10.3 repository, whose softwares contain various undefined references to library functions that are not found in 10.1 or earlier, including openat
and utimensat
. The 10.1 ABI is not forward compatible with 10.3.
You do this by altering the appropriate .conf
file in /usr/local/etc/pkg/repos/
to say a specific release instead of latest
, and then re-bootstrapping pkg
.
Or you can compile your own in the ports tree. But you'll still be pulling other 10.3 software from latest
if you do.
Further reading
pkg
. FreeBSD Miscellaneous Information Manual. 2013-12-12.- Baptiste Daroussin et al. (2015-10-31).
pkg
. FreeBSD System Manager's Manual. - Baptiste Daroussin et al. (2015-10-31).
pkg-static
. FreeBSD System Manager's Manual. - Baptiste Daroussin et al. (2017-02-02).
pkg.conf
. FreeBSD File Formats Manual. /usr/local/lib/libpkg.so.3
: Undefined symbol "openat" after upgrade to 1.9.4_1 (FreeBSD 10.1). FreeBSDpkg
bug #1526. 2017-01-05. GitHub.- Undefined symbol "utimensat". indexinfo bug #8. 2017-01-14. GitHub.
- Shared object "libarchive.so.7" not found, required by "pkg"
- Role of the /usr/local directory in FreeBSD
- Install a package manager in FreeBSD 10