[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make/base and native exceptions with clang
From: |
Riccardo Mottola |
Subject: |
make/base and native exceptions with clang |
Date: |
Tue, 17 Sep 2013 10:32:47 +0200 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0 SeaMonkey/2.20 |
Hi,
I'm installing (clan install) core on FreeBSD 9.1, with the
port-supplied clang 3.3 and libobjc2.
I configured make with:
./configure --with-layout=gnustep --prefix=/ CC=clang33 CXX=clang++33
And then base without any options to configure.
when compiling base, I get:
Compiling file GSObjCRuntime.m ...
In file included from GSObjCRuntime.m:39:
../../Headers/Foundation/NSException.h:44:2: error: "There are two
separate exception handling
mechanisms available ... one based on the standard setjmp()
function (which does not require
special compiler support), and one 'native' version where the
compiler manages the exception
handling. If you try to use both in the same executable,
exception handlers will not work...
which can be pretty disastrous. This error is telling you that
the gnustep-base library was
built using one form of exception handling, but that the
gnustep-make package you are using is
building code to use the other form of exception handling ...
with the consequence that
exception handling would be broken in the program you are
building. So, somehow your
gnustep-base and gnustep-make package are incompatible, and you
need to replace one of them with
a version configured to match the other."
#error "There are two separate exception handling mechanisms available
... one based on the st...
^
../../Headers/Foundation/NSException.h:48:2: error: "gnustep-base is
configured to use 'traditional'
exceptions, but you are building for 'native' exceptions."
#error "gnustep-base is configured to use 'traditional' exceptions, but
you are building for ...
^
2 errors generated.
Why that? I guess base and make should be coherent about how to
configure exceptions. I did not supply an explicit configure parameter
about enabling/disabling native exceptions.
If I configure make with explicit native exceptions it works.
I have seen this in make config if I supply no option
checking whether the compiler supports native ObjC exceptions... no
Which turns to yes if I supply the option to enable them explicitely.
The failure in the test is due to:
configure:6576: clang33 -c -g -O2 -x objective-c -I. -fgnu-runtime
-DGNU_RUNTIME -fexceptions -fobjc
-exceptions conftest.c >&5
conftest.c:2:10: fatal error: 'objc/objc.h' file not found
#include <objc/objc.h>
^
1 error generated.
configure:6582: $? = 1
which looks pretty fatal. I wonder if this is a port problem of the
freebsd ports or our configure system.
Riccardo
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- make/base and native exceptions with clang,
Riccardo Mottola <=