Bug 1332306
Summary: | Review Request: libcxxabi - Low level support for a standard C++ library | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tom "spot" Callaway <tcallawa> |
Component: | Package Review | Assignee: | Neal Gompa <ngompa13> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | farrellj, jwakely, law, mnewsome, ngompa13, package-review, samuel-rhbugs, schlaffi, tiwoc, tstellar, vcojot, zdenek.zikan |
Target Milestone: | --- | Flags: | ngompa13:
fedora-review+
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-03-15 17:52:00 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1332307 | ||
Bug Blocks: |
Description
Tom "spot" Callaway
2016-05-02 20:44:42 UTC
New Spec: https://spot.fedorapeople.org/libcxxabi.spec New SRPM: https://spot.fedorapeople.org/libcxxabi-3.8.0-1.fc24.src.rpm Just some positive feedback. Thanks for bringing libcxx and libcxxabi to fedora. For my use, I sometimes prefer/need to build with clang++ and libcxx. So it is not only the exotic "C++11 in R" case. I ended here, because I was wondering why there is a libcxx but no libcxxabi. I think in (almost?) all cases libc++.so requires libc++abi.so. I see you added the dependency to libcxx. Looking forward to pull also libcxxabi from fedora updates :) %{_libdir}/libc++abi.a is in the -devel package. Shouldn't this go in a separate -static package? Good catch: New Spec: https://spot.fedorapeople.org/libcxxabi.spec New SRPM: https://spot.fedorapeople.org/libcxxabi-3.8.0-2.fc24.src.rpm There's a problem with the armv7hl architecture (x86_64 and i686 are OK so far), see the scratch build for f24: http://koji.fedoraproject.org/koji/taskinfo?taskID=15063172 From build.log: /builddir/build/BUILD/libcxxabi-3.8.0.src/src/cxa_exception.cpp:258:21: error: unknown type name '_Unwind_Control_Block' static_cast<_Unwind_Control_Block*>(unwind_exception)->barrier_cache.bitpattern[0]); ^ /builddir/build/BUILD/libcxxabi-3.8.0.src/src/cxa_exception.cpp:258:62: error: member reference base type 'void' is not a structure or union static_cast<_Unwind_Control_Block*>(unwind_exception)->barrier_cache.bitpattern[0]); ~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~ /builddir/build/BUILD/libcxxabi-3.8.0.src/src/cxa_exception.cpp:409:71: error: no member named 'barrier_cache' in '_Unwind_Exception' return reinterpret_cast<void*>(exception_header->unwindHeader.barrier_cache.bitpattern[0]); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ 3 errors generated. Hi Tom, I'm using a rebuild of your rpm to install X-Plane 11 on my F24 box. Seems to work fine so far.. :) Before that, I was getting this error an error about missing libc++abi.so.1. Perhaps this should be included into Fedora as I am sure others will want to run X-Plane on Fedora. My 2c, Vincent Taking this review... (In reply to Tom "spot" Callaway from comment #0) > Note: Upstream has no versioning system that I can see, does no 'releases'. > I need this package to support C++11 in R in EPEL. Could that be solved by using a libsupc++ from a newer GCC, which would be compatible with the rest of the OS? What's the specific feature that is needed? We might be able to backport it to the RHEL libsupc++. Has libcxxabi even been built on all the architectures Fedora and EPEL support? I seriously doubt it's been tested by upstream on all of them. Thanks for the SRPM, spot. After a quick rpmbuild I was able to get the X-Plane 11 demo installer running. New SRPM: https://spot.fedorapeople.org/libcxxabi-3.9.0-1.fc26.src.rpm New SPEC: https://spot.fedorapeople.org/libcxxabi.spec Review notes: + Package is named appropriately + Files are installed according to Fedora FHS + License is correctly marked and license file is included in library package + Subpackages are named in compliance with guidelines, and files are split appropriately. PACKAGE APPROVED. Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/libcxxabi libcxxabi-3.8.1-2.fc25 libcxx-3.8.1-2.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-10562907fe libcxxabi-3.8.0-3.fc24 libcxx-3.8.0-5.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-409bad2fb2 libcxx-3.8.1-2.fc25, libcxxabi-3.8.1-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-10562907fe libcxx-3.8.0-5.fc24, libcxxabi-3.8.0-3.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-409bad2fb2 I expected a symlink to libc++abi.so. Otherwise, e.g. $ clang++ -stdlib=c++ -lc++abi foo.cc does not work for me. I get a symlink for libc++abi.so on Fedora 25 (x86_64): lrwxrwxrwx. 1 root root 14 1. Mär 19:19 /usr/lib64/libc++abi.so -> libc++abi.so.1 lrwxrwxrwx. 1 root root 16 1. Mär 19:19 /usr/lib64/libc++abi.so.1 -> libc++abi.so.1.0 -rwxr-xr-x. 1 root root 270K 1. Mär 19:19 /usr/lib64/libc++abi.so.1.0 However, when using the Fedora-provided clang-3.8.1-1 and installing libcxx-3.8.1-2 and libcxxabi-3.8.1-2 from updates-testing, I need to manually add -lc++abi to my build command (just like schlaffi did). When using a binary build of clang from llvm.org, this is not necessary [0]. In the libcxx docs [1], it is explained that "some libc++ installations require the user manually link libc++abi themselves". Could this requirement be removed from the Fedora builds? [0] At least as long as the libcxx and libcxxabi Fedora packages are not installed. Somehow clang uses the system-provided libs instead of its own. [1] http://libcxx.llvm.org/docs/UsingLibcxx.html#using-libc-on-linux This seems to boil down to setting LIBCXX_ENABLE_ABI_LINKER_SCRIPT to ON (which is the default, see [0]) so that libc++.so is not a symlink but a text file with the contents "INPUT(libc++.so.1 -lc++abi)". [0] http://libcxx.llvm.org/docs/BuildingLibcxx.html#cmdoption-arg-libcxx-enable-abi-linker-script Ah sorry, right, libc++abi.so is of course in libcxxabi-devel. libcxx-3.8.0-6.fc24 libcxxabi-3.8.0-3.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-409bad2fb2 libcxx-3.8.1-3.fc25 libcxxabi-3.8.1-2.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-10562907fe (In reply to Daniel Seither from comment #19) > This seems to boil down to setting LIBCXX_ENABLE_ABI_LINKER_SCRIPT to ON > (which is the default, see [0]) so that libc++.so is not a symlink but a > text file with the contents "INPUT(libc++.so.1 -lc++abi)". > > [0] > http://libcxx.llvm.org/docs/BuildingLibcxx.html#cmdoption-arg-libcxx-enable- > abi-linker-script Thanks Daniel. I've enabled the linker script in the latest Fedora builds (it is not enabled by default), and adjusted the updates accordingly. libcxx-3.8.1-3.fc25, libcxxabi-3.8.1-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-10562907fe libcxx-3.8.0-6.fc24, libcxxabi-3.8.0-3.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-409bad2fb2 libcxx 3.8.1-3 works as expected. Thanks a lot! I can now finally retire my manual clang/libc++ installation :) libcxx-3.8.1-3 and libcxxabi-3.8.1-2 + devel work perfect here, too, also for compiling with clang. Also safes me a lot of manual work. Thanks! libcxx-3.8.0-6.fc24, libcxxabi-3.8.0-3.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. libcxx-3.8.1-3.fc25, libcxxabi-3.8.1-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report. |