Package Base Details: libc++

Git Clone URL: https://aur.archlinux.org/libc++.git (read-only, click to copy)
Submitter: WoefulDerelict
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 243
Popularity: 2.53
First Submitted: 2017-02-04 16:09
Last Updated: 2020-01-18 01:18

Pinned Comments

eschwartz commented on 2019-01-21 03:57

PSA: Due to repeated abuse, this package is now a ZERO-TOLERANCE ZONE for rules violations.

Hi people, sorry for the interruption if you're the majority of users just innocently doing your thing, if so, feel free to just move on. For the rest of you, this is your final reminder regarding the following points, which shall now be grounds for having your account suspended:

  • Thou shalt not complain about makepkg's validpgpkeys feature.

  • Thou shalt not complain about makepkg's check() feature.

  • Thou shalt not under any circumstances ever insult the maintainer for implementing said features.

This package is doing the correct thing, and there has been a great deal of pointless moaning and whining about it despite the pinned comments explaining why these complaints are not only null and void, but also ridiculous because they can already be disabled. This nagging stops now.

The banhammer is ready and waiting in case you still want to ignore all this on top of the Trusted User warning(s).

Alad commented on 2018-08-22 12:58

Holy shit guys. What's unclear about "AUR helpers are not supported"? Stop this incessant spam and learn how to use makepkg.

https://wiki.archlinux.org/index.php/Makepkg https://wiki.archlinux.org/index.php/Arch_User_Repository

Any comments on AUR helper issues will be deleted from now on. Repeat offenders will have their accounts suspended.

WoefulDerelict commented on 2018-07-21 11:45

If you experience issues when using an AUR helper please try again using makepkg. AUR helpers are not supported here. The AUR article in the ArchWiki documents the prerequisites and supported process. https://wiki.archlinux.org/index.php/Arch_User_Repository

The test suite contains tests for multiple locales including: en_US.UTF-8, fr_FR.UTF-8, ru_RU.UTF-8, zh_CN.UTF-8, fr_CA.ISO8859-1 and cs_CZ.ISO8859-2. If a locale isn't present on the system the related tests will be marked as unsupported and skipped.

If you encounter issues when building with makepkg please attempt to build this in a clean chroot using using the appropriate devtools script. The Arch Linux DeveloperWiki has an article focused around building packages in a clean chroot which contains information on the devtools scripts and explains the process of building in a clean chroot: https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot

There is an active community of users on IRC along with a vibrant Discord server and Forums should you require assistance.

Picking a fight with one of the Trusted Users is a terrible idea.

WoefulDerelict commented on 2017-02-05 03:42

This PKGBUILD verifies the authenticity of the source via PGP signatures which are not part of the Arch Linux keyring. In order to complete the process it is necessary to import the key(s) from the ‘validpgpkeys’ array into the user’s keyring before calling makepkg. There is a helpful article explaining this process by one of Arch Linux's developers located here: http://allanmcrae.com/2015/01/two-pgp-keyrings-for-package-management-in-arch-linux/

Instructions on importing keys from a keyserver and how to automate the retrieval process can be found in the Arch Linux wiki here: https://wiki.archlinux.org/index.php/GnuPG#Use_a_keyserver This article also contains helpful information describing the installation of GnuPG, its configuration and usage.

Execute the following to import keys using gpg:

gpg --recv-keys <KEYID - See 'validpgpkeys' array in PKGBUILD>

The PGP signature check can be skipped by passing --skippgpcheck to makepkg.

The libc++ test suite can be skipped by passing --nocheck to makepkg.

Consult the makepkg manual page for a full list of options. [https://www.archlinux.org/pacman/makepkg.8.html]

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:10

sl1pkn07: Those warnings do occur during test builds, yes. They are non-critical and result from the way LLVM is deployed on Arch Linux.

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?

sl1pkn07 commented on 2017-02-04 17:05

this is ok?

https://sl1pkn07.wtf/paste/view/204f8429