[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