Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 651158 - gnustep-base/libobjc2-1.8.1 : /.../cxxabi_init_exception.h:63:7: error:
Summary: gnustep-base/libobjc2-1.8.1 : /.../cxxabi_init_exception.h:63:7: error:
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Gnustep project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-22 15:45 UTC by Toralf Förster
Modified: 2020-09-03 09:18 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,16.48 KB, text/plain)
2018-03-22 15:45 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,254.39 KB, text/plain)
2018-03-22 15:45 UTC, Toralf Förster
Details
environment (environment,113.65 KB, text/plain)
2018-03-22 15:45 UTC, Toralf Förster
Details
etc.portage.tbz2 (etc.portage.tbz2,18.92 KB, application/x-bzip)
2018-03-22 15:45 UTC, Toralf Förster
Details
gnustep-base:libobjc2-1.8.1:20180322-081915.log (gnustep-base:libobjc2-1.8.1:20180322-081915.log,8.87 KB, text/plain)
2018-03-22 15:45 UTC, Toralf Förster
Details
logs.tbz2 (logs.tbz2,4.65 KB, application/x-bzip)
2018-03-22 15:45 UTC, Toralf Förster
Details
temp.tbz2 (temp.tbz2,28.66 KB, application/x-bzip)
2018-03-22 15:46 UTC, Toralf Förster
Details
libobjc2-1.8.1-r1.ebuild.patch (libobjc2-1.8.1-r1.patch,364 bytes, patch)
2018-04-03 19:28 UTC, Alex Barker
Details | Diff
clang_cxa_allocate_exception.patch (clang_cxa_allocate_exception.patch,1.40 KB, patch)
2018-04-03 20:59 UTC, Alex Barker
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2018-03-22 15:45:39 UTC
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/exception:142:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/bits/exception_ptr.h:38:
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/bits/cxxabi_init_exception.h:63:7: error: 
      exception specification in declaration does not match previous declaration
      __cxa_allocate_exception(size_t) _GLIBCXX_NOTHROW;
      ^

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.0-no-multilib-hardened_20180315-195301

  -------------------------------------------------------------------

gcc-config -l:
 [1] x86_64-pc-linux-gnu-7.3.0 *

Available Python interpreters, in order of preference:
  [1]   python3.5
  [2]   python2.7 (fallback)
Available Ruby profiles:
  [1]   ruby22 (with Rubygems)
  [2]   ruby23 (with Rubygems) *
java-config:
The following VMs are available for generation-2:


emerge -qpv gnustep-base/libobjc2
[ebuild  N    ] gnustep-base/libobjc2-1.8.1  USE="cxx -boehm-gc {-test}" 

!!! The following installed packages are masked:
- app-backup/holland-backup-mysqldump-1.0.10::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Pacho Ramos <pacho@gentoo.org> (18 Mar 2018)
# Forces the usage of obsolete dev-python/mysql-python (#643502). Dead since
# 2013. Removal in a month.

- dev-python/flask-whooshalchemy-0.8::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Pacho Ramos <pacho@gentoo.org> (18 Mar 2018)
# Requires old whoosh (#643690). Removal in a month.

- dev-python/async-0.6.2::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Pacho Ramos <pacho@gentoo.org> (18 Mar 2018)
# No reverse deps, not working properly with python3 (#646718). Removal in a
# month.

- app-backup/holland-backup-mysql-meta-1.0.10::gentoo (masked by: package.mask)
- mail-filter/p3scan-2.3.2-r2::gentoo (masked by: package.mask)
/usr/portage/profiles/package.mask:
# Pacho Ramos <pacho@gentoo.org> (18 Mar 2018)
# Security vulnerable (#631720), dead since 2008, uses doman with compressed
# man pages (#619952). Removal in a month.

- app-backup/holland-lib-mysql-1.0.10::gentoo (masked by: package.mask)
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Comment 1 Toralf Förster gentoo-dev 2018-03-22 15:45:42 UTC
Created attachment 524828 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2018-03-22 15:45:45 UTC
Created attachment 524830 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2018-03-22 15:45:48 UTC
Created attachment 524832 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2018-03-22 15:45:51 UTC
Created attachment 524834 [details]
etc.portage.tbz2
Comment 5 Toralf Förster gentoo-dev 2018-03-22 15:45:54 UTC
Created attachment 524836 [details]
gnustep-base:libobjc2-1.8.1:20180322-081915.log
Comment 6 Toralf Förster gentoo-dev 2018-03-22 15:45:57 UTC
Created attachment 524838 [details]
logs.tbz2
Comment 7 Toralf Förster gentoo-dev 2018-03-22 15:46:00 UTC
Created attachment 524840 [details]
temp.tbz2
Comment 8 Alex Barker 2018-03-24 01:14:34 UTC
Both 1.8 and 1.8.1 fail to build for the same reason.
Comment 9 Alex Barker 2018-04-03 19:28:54 UTC
Created attachment 526486 [details, diff]
libobjc2-1.8.1-r1.ebuild.patch

I have added a 1 line ebuild patch to fix the compile issues.  It looks like clang's default libc does not support __cxa_allocate_exception so it needs to be linked against gcc.  I doubt this is a good fix, but it appears to work around the issue with little effort.

A good portion of the warnings can be addressed by patching a couple of files, it looks like these were applied to the master branch but no release yet.

-./Makefile:CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500 -D__BSD_VISIBLE=1 -D_BSD_SOURCE=1
-./CMakeLists.txt:add_definitions( -D_XOPEN_SOURCE=700 -D__BSD_VISIBLE=1 -D_BSD_SOURCE=1)

+./Makefile:CPPFLAGS += -D__OBJC_RUNTIME_INTERNAL__=1 -D_XOPEN_SOURCE=500 -D_DEFAULT_SOURCE=1
+./CMakeLists.txt:add_definitions( -D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE=1)
Comment 10 Alex Barker 2018-04-03 20:59:27 UTC
Created attachment 526490 [details, diff]
clang_cxa_allocate_exception.patch

Patch suitable for /etc/portage/patches/gnustep-base/libobjc2 or epatch.  This also fixes a bunch of the warnings.  Last two seem to require a (cast) and are not addressed.
Comment 11 Alex Barker 2018-06-08 06:14:03 UTC
This should be fixed upstream.
Comment 12 Alex Barker 2018-06-08 06:14:25 UTC
https://github.com/gnustep/libobjc2/pull/68
Comment 13 Bernard Cafarelli gentoo-dev 2020-09-03 09:18:29 UTC
I see upstream report marked as merged some time ago, so we can mark this fixed with just released 2.1 (in tree in next sync)