[build2] Uninstall fails for old version 0.8.0 on macOS. How to proceed?
Nikolaus Demmel
nikolaus at nikolaus-demmel.de
Tue Apr 28 21:58:22 UTC 2020
Hi,
a while ago I installed build2 to try it. This was on macOS 10.13. More than a year later, and after having upgraded to the latest macSO 10.15, I recently had some linker issues with libraries in /usr/local/lib, like libsqlite3, which conflict with system libraries, e.g.:
dyld: Library not loaded: /usr/lib/libsqlite3.dylib
Referenced from: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
Reason: Incompatible library version: CFNetwork requires version 9.0.0 or later, but libsqlite3.dylib provides version 0.0.0
22:51:50: The program has unexpectedly finished.
I assume libsqlite3 comes from the build2 install. Here is what `brew doctor` has to say about libraries (and also includes and pc files):
Unexpected dylibs:
/usr/local/lib/libbpkg-0.8.dylib
/usr/local/lib/libbutl-0.8.dylib
/usr/local/lib/libodb-2.5.0-b.9.dylib
/usr/local/lib/libodb-sqlite-2.5.0-b.9.dylib
/usr/local/lib/libpkgconf-3.dylib
/usr/local/lib/libsqlite3-1.dylib
It seems to be quite a lot of files (libraries, headers, pc, …) and I wanted to cleanly uninstall build2 from /usr/local/, so I tried with the script from the original build folder:
$ ls -la
total 6976
drwxr-xr-x 5 demmeln staff 160 Jan 23 2019 .
drwxr-xr-x 3 demmeln staff 96 Jan 23 2019 ..
-rwxr-xr-x 1 demmeln staff 14695 Jan 23 2019 build2-install-0.8.0.sh
drwxr-xr-x 23 demmeln staff 736 Jan 23 2019 build2-toolchain-0.8
-rw-r--r-- 1 demmeln staff 3552840 Jan 23 2019 build2-toolchain-0.8.0.tar.xz
$ ./build2-install-0.8.0.sh --uninstall
But unfortunately (probably due to the OS upgrade), the uninstall fails after longer compilation.
[…]
c++ build2-toolchain-0.8/bpkg-0.8.0/bpkg/cxx{pkg-unpack}
ar build2-toolchain-0.8/build2-0.8.0/build2/libue{b}
ld build2-toolchain-0.8/build2-0.8.0/build2/exe{b}
Undefined symbols for architecture x86_64:
"std::__1::__match_any_but_newline<build2::test::script::regex::line_char>::__exec(std::__1::__state<build2::test::script::regex::line_char>&) const", referenced from:
vtable for std::__1::__match_any_but_newline<build2::test::script::regex::line_char> in libb.u.a(runner.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld build2-toolchain-0.8/bpkg-0.8.0/bpkg/exe{bpkg}
info: failed to update (for uninstall) build2-toolchain-0.8/dir{build2-0.8.0/}
What is the best way to uninstall all the files associated with build2? I tried downloading the latest version, but when I try to install, it warns that there is already an older version installed, and when I try to upgrade, it says its not possible from that old release. Trying to upgrade with the 0.9.0 installer results in a "unable to satisfy constraint (build2 >= 0.12.0) for package build2” error.
Any suggestions how to proceed. I could delete all files that `brew doctor` complains about, but I suspect that there are more associated with the install, and I’d like to remove all files from the build2 install if possible.
Kind regards,
Nikolaus
More information about the users
mailing list