Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#36148 - libc++ PKGBUILD is incorrect

Attached to Project: Community Packages
Opened by Matthew (mthinkcpp) - Sunday, 14 July 2013, 15:14 GMT
Last edited by Daniel Micay (thestinger) - Sunday, 14 July 2013, 17:25 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Daniel Micay (thestinger)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Recently the libc++ package was moved from the AUR to [community], however in the process the PKGBUILD was altered. At line 20 'CC=clang CXX=clang++ ' was removed from before the cmake command. The build requires that it is done with clang (warnings about unrecognised #pragmas when building will be shown if it is built with gcc instead). The variable settings were done to ensure that it was built with clang (cmake tests show that /usr/bin/c++ is selected, which is a hard link to the gcc filesystem node, when the CC and CXX variables are not set).

The libc++ webpage (http://libcxx.llvm.org/) in the section on building using libsupc++ and cmake also states to use 'CC=clang CXX=clang++ ' before the cmake command.

This would make line 20:
CC=clang CXX=clang++ cmake -G "Unix Makefiles" -DLIBCXX_CXX_ABI=libsupc++ \
Instead of:
cmake -G "Unix Makefiles" -DLIBCXX_CXX_ABI=libsupc++ \

And would also provide upstream compatibility.
This task depends upon

Closed by  Daniel Micay (thestinger)
Sunday, 14 July 2013, 17:25 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See comment.
Comment by Daniel Micay (thestinger) - Sunday, 14 July 2013, 17:25 GMT
The warnings thrown during the build are harmless, they're just libc++ disabling spurious clang warnings by pushing/popping diagnostics. This is supported by gcc too, but they're intentionally limiting it to the compiler actually throwing the noisy warnings.

http://ix.io/6Es

A build of the library with either clang or gcc is equally compatible with anything, the compilers implement the same ABI. I don't see a reason to override the configured CXX in makepkg.conf when either compiler will be totally fine.

Loading...