Package Base Details: libc++

Git Clone URL: (read-only, click to copy)
Submitter: WoefulDerelict
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 248
Popularity: 0.93
First Submitted: 2017-02-04 16:09
Last Updated: 2020-11-20 22:58

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.

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.

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:

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:

Instructions on importing keys from a keyserver and how to automate the retrieval process can be found in the Arch Linux wiki here: 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. []

Latest Comments

« First ‹ Previous ... 2 3 4 5 6 7 8 9 10 11 12 ... Next › Last »

DescartesHorse commented on 2018-07-12 00:53

So I noticed in the latest commit that Tom's PGP signing key has changed to the redhat address - however, the previous signing key hasn't signed the redhat address (nor have any other keys for that matter). Have we any way to prove this is legitimate? Can we get Tom to sign the new Redhat key with the old key?

WoefulDerelict commented on 2018-07-12 00:05

flightcookie: As it isn't uncommon for maintainers to provide a URL where one can verify the checksums when a secure resource is available (see bluez/lib32-bluez) it seems reasonable enough to include a URL directly pointing to the LLVM Project's download page for the same purpose.

The .asc files the links on the download page point to (hans-gpg-key.asc and tstellar-gpg-key.asc) are the respective individual's key in an encrypted format. It provides a secure way for users to download and import the key into their keychain if they are unable to reach or do not wish to use a keyserver to download the key.

pepper_chico: The test suite isn't broken. It is resource intensive and time consuming on limited hardware; however, it will complete if built using the supported methods i.e makepkg or devtools.

While the .0 and .1 releases are signed by different people with different keys this is the first time one of those keys has changed in years.

pacaur does not support passing arguments to makepkg and the developer has no interest in adding the feature as it "isn't worth it." []

makepkg and devtools are the only supported way to build packages for Arch Linux. The AUR helpers are, at best, supported by their respective developer(s)/community. Build issues caused by AUR helpers that can't be reproduced via makepkg will be ignored.

xuiqzy commented on 2018-07-11 22:35

@CommodoreCrunch thanks!

@WoefulDerelict the link to check the signature would be really helpful in the pkgbuild next to the key; so when checking the pkgbuild before installing, you can directly verify the key! :)

do you know how I can verify it with the .asc file on the linked site apart from just checking the last few digits in the link text?

CommodoreCrunch commented on 2018-07-11 21:17

@fightcookie Check the download page:

"Signed with PGP key 86419D8A."

xuiqzy commented on 2018-07-11 10:53

Where can I find the fingerprint of the (new) pgp key on the internet to verify it against this pkgbuild? I can't seem to find it anywhere on the upstream url.

Morganamilo commented on 2018-06-15 01:48

Read the pinned comment.

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

wookietreiber commented on 2018-06-14 08:16

There is a problem with the tests I ran into. During one of the compilations during testing, the linker failed. The reason for this failure was, that I have enabled link time optimization (LTO) in /etc/makepkg.conf. I was able to resolve this by completely removing LTO from the build in PKGBUILD. Here is the diff:

diff --git a/PKGBUILD b/PKGBUILD
index d3b70cb..a9e33ca 100644
@@ -28,6 +28,10 @@ validpgpkeys=(# Tom Stellard <> (.1 releases)

+export CFLAGS="${CFLAGS/-flto/}"
+export CXXFLAGS="${CXXFLAGS/-flto/}"
+export LDFLAGS="${LDFLAGS/-flto/}"
 prepare() {
   [[ -d llvm ]] || mkdir llvm
   bsdtar --strip-components 1 --uid 0 --gid 0 -zxf \

nolche commented on 2018-06-13 11:31

Could not compile cuz tests fail:

Failing Tests (23):
    libc++ :: std/experimental/filesystem/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    libc++ :: std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
    libc++ :: std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.exists/exists.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.remove/remove.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.status/status.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    libc++ :: std/experimental/filesystem/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp

Expected Passes    : 5723
Expected Failures  : 8
Unsupported Tests  : 120
Unexpected Failures: 23

4 warning(s) in tests.
FAILED: projects/libcxx/test/CMakeFiles/check-cxx
cd /mnt/data/sources/libc++/src/build/projects/libcxx/test && /usr/bin/python2.7 /mnt/data/sources/libc++/src/build/./bin/llvm-lit -sv /mnt/data/sources/lib$
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in check().

Build it with --nocheck option for makepkg:

makepkg -sri --nocheck

buzo commented on 2018-06-12 08:20

Just stating «not working» does not help at all. I'm getting this error message:

ERROR: One or more PGP signatures could not be verified!

reber commented on 2018-06-12 08:20

With french locale setup I got an error :

FAILED: projects/libcxx/test/CMakeFiles/check-cxx cd /tmp/yaourt-tmp/aur-libc++/src/build/projects/libcxx/test && /usr/bin/python2.7 /tmp/yaourt-tmp/aur-libc++/src/build/./bin/llvm-lit -sv /tmp/yaourt-tmp/aur-libc++/src/build/projects/libcxx/test ninja: build stopped: subcommand failed. ==> ERREUR : Une erreur s’est produite dans check().

I just changed /etc/locale.gen to en_US.UTF-8 UTF-8 then compile and all went fine.