Summary: | gnustep-base/libobjc2-1.8.1 : /.../cxxabi_init_exception.h:63:7: error: | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | Gentoo Gnustep project <gnustep> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alex |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.portage.tbz2 gnustep-base:libobjc2-1.8.1:20180322-081915.log logs.tbz2 temp.tbz2 libobjc2-1.8.1-r1.ebuild.patch clang_cxa_allocate_exception.patch |
Description
Toralf Förster
2018-03-22 15:45:39 UTC
Created attachment 524828 [details]
emerge-info.txt
Created attachment 524830 [details]
emerge-history.txt
Created attachment 524832 [details]
environment
Created attachment 524834 [details]
etc.portage.tbz2
Created attachment 524836 [details]
gnustep-base:libobjc2-1.8.1:20180322-081915.log
Created attachment 524838 [details]
logs.tbz2
Created attachment 524840 [details]
temp.tbz2
Both 1.8 and 1.8.1 fail to build for the same reason. 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)
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.
This should be fixed upstream. 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) |