[build2] Uninstall fails for old version 0.8.0 on macOS. How to proceed?
Karen Arutyunov
karen at codesynthesis.com
Wed Apr 29 08:51:22 UTC 2020
On 4/29/20 12:58 AM, Nikolaus Demmel wrote:
> 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/}
>
This likely to happen due to libc++ upgrade which disables one of its
bug workarounds in the build2 code.
You can try to fix this prior to running `./build2-install-0.8.0.sh
--uninstall` by editing the
build2-toolchain-0.8/build2-0.8.0/build2/test/script/regex.hxx header
and changing the libc++ version check in the line
#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION <= 6000
to, for example,
#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION <= 9000
More information about the users
mailing list