Package Details: libc++abi 3.9.1-1

Git Clone URL: https://aur-dev.archlinux.org/libc++abi.git (read-only)
Package Base: libc++abi
Description: A new implementation of low level support for a standard C++ library
Upstream URL: http://libcxxabi.llvm.org/
Licenses: MIT, custom:University of Illinois/NCSA Open Source License
Submitter: WoefulDerelict
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 1
Popularity: 0.998487
First Submitted: 2017-02-04 16:08
Last Updated: 2017-02-04 20:41

Dependencies (6)

Required by (2)

Sources (2)

Pinned Comments

WoefulDerelict commented on 2017-02-04 17:17

As is common with many compilers and language tools this library requires bootstrapping. You will need to retrieve the previous versions of libc++ and libc++abi from the Arch Linux Archive if you do not already have them on your system. Users can find libc++ here: https://archive.archlinux.org/packages/l/libc%2B%2B/ and libc++abi here: https://archive.archlinux.org/packages/l/libc%2B%2Babi/

IMPORTANT: Many AUR helpers probably won't be able to help you with this package as they can't cope with the bootstrap dependency structure. It is recommended you stick with the basics when building this, id est use makepkg without arguments and install with pacman -U.

Post Scriptum: No, it doesn't hurt to re-bootstrap on the /current/ version once you've updated. This is ofttimes considered best practice.

Latest Comments

WoefulDerelict commented on 2017-02-04 20:04

cryzed: All thanks to the AUR system and Google pinging me with damn near instant notifications on my Android devices.

Everything should be accurate and updated now. I've left the pkgrel at one as there is no change to the output and no need to trigger a rebuild/update for users who have managed to build and install it.

cryzed commented on 2017-02-04 19:59

@WoefulDerelict: Thank you for the quick response!

WoefulDerelict commented on 2017-02-04 19:58

cryzed: Yes, llvm is out in extra and not in base or base-devel so it probably should be a build depend. Quick and dirty update based on the source from Community, I'll get it mended shortly.

I think there may have been the expectation that clang would pull in llvm instead of just llvm-libs.

cryzed commented on 2017-02-04 19:51

Shouldn't llvm be a dependency for this package? Without it llvm-config isn't available and you run into the following error during compilation:

==> Starting build()...
-- Configuring incomplete, errors occurred!
See also "/mnt/sdb1/home-data/cryzed/libc++abi/src/libcxxabi-3.9.1.src/build/CMakeFiles/CMakeOutput.log".
CMake Error at CMakeLists.txt:53 (message):
llvm-config not found and LLVM_MAIN_SRC_DIR not defined. Reconfigure with
-DLLVM_CONFIG=path/to/llvm-config or -DLLVM_PATH=path/to/llvm-source-root.


==> ERROR: A failure occurred in build().
Aborting...

At least that was the case for me.

WoefulDerelict commented on 2017-02-04 19:25

FichteFoll: No problem. I'm sure not everyone builds tools like this frequently enough to encounter this process. You can see it in action here in the gcc package: https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/gcc gcc is bootstrapped in a similar fashion via the gcc-ada makedepend. There are also some interesting notes on the bootstrap order needed to generate common tooling for Arch Linux in that PKGBUILD. One can of course consult references for an in depth definition of this and how it relates to computing and self-hosting compilers.

As this is probably a bit much for most I've pinned a quick notice to libc++ and libc++abi that will hopefully warn naieve users before they step into uncharted territory. Some helpfull links to a trusted binary base to bootstrap from should hopefully prevent unnessary explosions.

Added bonus: You can have yourself a giggle while watching Westworld and Anthony Hopkins drops mention of 'bootstrapping consciousness'.

FichteFoll commented on 2017-02-04 19:01

Makes sense. Thanks for the explanation.

WoefulDerelict commented on 2017-02-04 17:26

sl1pkn07: Yes, the build throws a few warnings because the LLVM deployment on Arch Linux doesn't conform to the upstream standard.

WoefulDerelict commented on 2017-02-04 17:20

FichteFoll: I suspect MANY AUR helpers will not be able to deal with this package, especially on new installs as it requires bootstrapping. The interdependency you describe is one of the ways this bootstrapping is expressed in PKGBUILDs. I strongly advise all users to tackle these two packages manually with makepkg and pacman -U

WoefulDerelict commented on 2017-02-04 17:17

As is common with many compilers and language tools this library requires bootstrapping. You will need to retrieve the previous versions of libc++ and libc++abi from the Arch Linux Archive if you do not already have them on your system. Users can find libc++ here: https://archive.archlinux.org/packages/l/libc%2B%2B/ and libc++abi here: https://archive.archlinux.org/packages/l/libc%2B%2Babi/

IMPORTANT: Many AUR helpers probably won't be able to help you with this package as they can't cope with the bootstrap dependency structure. It is recommended you stick with the basics when building this, id est use makepkg without arguments and install with pacman -U.

Post Scriptum: No, it doesn't hurt to re-bootstrap on the /current/ version once you've updated. This is ofttimes considered best practice.

FichteFoll commented on 2017-02-04 17:06

This and libc++ depend on each other, libc++ in general and libc++abi for make. This confuses AUR helpers (at least pacaur and aursync) because they detect this cycle.

Is there a specific reason why this cycle is necessary?

All comments