Package Details: libc++abi 9.0.1-1

Git Clone URL: https://aur.archlinux.org/libc++.git (read-only, click to copy)
Package Base: libc++
Description: Low level support for the LLVM C++ standard library.
Upstream URL: https://libcxx.llvm.org/
Licenses: custom:Apache 2.0 with LLVM Exception
Submitter: WoefulDerelict
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 243
Popularity: 4.27
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]

Latest Comments

1 2 3 4 5 6 ... Next › Last »

mbloms commented on 2020-01-20 15:03

What's up with Tom Stellard's key being expired? That doesn't feel too good.

WoefulDerelict commented on 2020-01-18 01:18

I've adopted a proposed patch for the issue causing the check function to fail. [https://github.com/llvm/llvm-project/issues/62] [https://reviews.llvm.org/D72501]

nickb937: While llvm and the libc++ projects should successfully build on ARM machines I have not added them to the arch array as I am not building or testing the software on ARM hardware nor am I prepared to support ARM users. ARM users are free to download and modify the PKGBUILD to suit their needs and test it on their platform.

nickb937 commented on 2020-01-15 15:11

Could you add aarch64 to the list of supported architectures? The package compiles and works fine on ARM64.

-arch=('i686' 'x86_64')
+arch=('i686' 'x86_64' 'aarch64')

WoefulDerelict commented on 2020-01-03 21:34

I've temporarily disabled the check function in the PKGBUILD as the test suite uses a deprecated function that was removed in Python 3.8 causing it to fail. [https://github.com/llvm/llvm-project/issues/62]

I'll adopt whatever fix upstream decides on and enable it again when I can verify the issue has been sorted.

sausix: Thanks for making sure this was reported upstream and linking the issue here.

erikp121: Your solution is not unreasonable; however, it is possible to skip the misbehaving test suite simply by passing --nocheck to makepkg. Until upstream decides how they want to remedy the issue with their test suite I've commented out the entire check section to disable it.

sausix commented on 2019-12-15 21:14

An issues has been opened at LLVM about deprecated and now removed "linux_distribution" in Python 3.8's platform module.

https://github.com/llvm/llvm-project/issues/62

erikp121 commented on 2019-11-21 17:40

I circumvented the Python-problem by commenting out the ninja-line in check(). Probably not a good idea, but I needed the library for a new game.

check() { cd build

ninja check-cxx check-cxxabi

}

The problem is as noted the "platform" module which has deprecated "linux_distribution".

"linux_distribution" now exists in module "distro". I'm not familiar with the library, but my guess is this is an upstream problem? At least the comment in the file "src/llvm/projects/libcxx/utils/libcxx/test/target_info.py" (where the problem occurs) suggests it is part of the LLVM Project.

Scrumplex commented on 2019-11-15 10:50

As of 15.11.2019 the tests fail. It is an error from a Python module: module 'platform' has no attribute 'linux_distribution'. I suspect the recent update of most python packages in Arch Linux. Afaik platform.linux_distribution has been deprecated a while ago.

Log: https://paste.rs/TD0

jerome2016 commented on 2019-11-14 16:07

Installation failed with this error.Please, can you help me and if you feel i'm stupid, don't hurt me to strong... thank you.

llvm-lit: /tmp/pamac-build/libc++/src/llvm/utils/lit/lit/TestingConfig.py:100: fatal: unable to parse config file '/tmp/pamac-build/libc++/src/llvm/projects/libcxx/test/lit.cfg', traceback: Traceback (most recent call last): File "/tmp/pamac-build/libc++/src/llvm/utils/lit/lit/TestingConfig.py", line 89, in load_from_path exec(compile(data, path, 'exec'), cfg_globals, None) File "/tmp/pamac-build/libc++/src/llvm/projects/libcxx/test/lit.cfg", line 52, in <module> configuration.configure() File "/tmp/pamac-build/libc++/src/llvm/projects/libcxx/utils/libcxx/test/config.py", line 155, in configure self.configure_features() File "/tmp/pamac-build/libc++/src/llvm/projects/libcxx/utils/libcxx/test/config.py", line 389, in configure_features self.target_info.add_locale_features(self.config.available_features) File "/tmp/pamac-build/libc++/src/llvm/projects/libcxx/utils/libcxx/test/target_info.py", line 211, in add_locale_features name = self.platform_name() File "/tmp/pamac-build/libc++/src/llvm/projects/libcxx/utils/libcxx/test/target_info.py", line 195, in platform_name name, _, _ = platform.linux_distribution()

AttributeError: module 'platform' has no attribute 'linux_distribution'

FAILED: projects/libcxx/test/CMakeFiles/check-cxx cd /tmp/pamac-build/libc++/src/build/projects/libcxx/test && /usr/bin/python /tmp/pamac-build/libc++/src/build/./bin/llvm-lit -sv /tmp/pamac-build/libc++/src/build/projects/libcxx/test ninja: build stopped: subcommand failed.

actionless commented on 2019-10-11 18:21

there is a SRCINFO/PKGBUILD mismatch:

https://aur.archlinux.org/cgit/aur.git/commit/?h=libc%2b%2b&id=bdc69e89ffa6

particularly see llvm package in makedepends

WoefulDerelict commented on 2019-07-16 15:50

Teemperor: Thanks for spotting an issue and doing a little legwork. I am able to reproduce the behaviour and it was the result of a mistake in packaging. It crept in during the 6.0.0 update when the PKGBUILD migrated from make to ninja. This has been masked as the majority of consumers using libc++ at the time were only interested in compatibility with the binaries distributed for the Electron based Discord chat client.

The fix was far simpler than any of your suggestions and came from observing how upstream told ninja to behave when the experimental components were explicitly disabled. Even when the experimental features are explicitly disabled ninja includes their headers when executing install-libcxx. The module.modulemap file is identical to the one installed when the experimental features are enabled. Including the experimental headers in the libc++ package should respect the behaviour upstream intends while still allowing the experimental features to be packaged separately.