Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
problem with base and non-fragile ABI
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  9 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Riccardo Mottola  
View profile  
 More options Sep 24 2012, 3:21 am
Newsgroups: gnu.gnustep.discuss
From: Riccardo Mottola <riccardo.mott...@libero.it>
Date: Mon, 24 Sep 2012 09:22:35 +0200
Local: Mon, Sep 24 2012 3:22 am
Subject: problem with base and non-fragile ABI
Hi,

while building base, freshly reconfigured. I have clang 3.2

Making all for library libgnustep-base...
  Compiling file GSLocale.m ...
In file included from GSLocale.m:25:
In file included from ././common.h:62:
In file included from ../Headers/Foundation/NSZone.h:31:
../Headers/GNUstepBase/GSVersionMacros.h:219:10: error: "You are building
       gnustep-base using the objc-nonfragile-abi but your gnustep-base
was not
       configured to use it."
#        error "You are building gnustep-base using the...
          ^
1 error generated.

Perhaps the compiler changed its default and configure is not guessing it?

Riccardo


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Niels Grewe  
View profile  
 More options Sep 24 2012, 3:34 am
Newsgroups: gnu.gnustep.discuss
From: Niels Grewe <niels.gr...@halbordnung.de>
Date: Mon, 24 Sep 2012 09:33:41 +0200
Local: Mon, Sep 24 2012 3:33 am
Subject: Re: problem with base and non-fragile ABI
Hello Ricardo,

Am 24.09.2012 09:22, schrieb Riccardo Mottola:

> Hi,

> while building base, freshly reconfigured. I have clang 3.2

> Making all for library libgnustep-base...
>  Compiling file GSLocale.m ...
> In file included from GSLocale.m:25:
> In file included from ././common.h:62:
> In file included from ../Headers/Foundation/NSZone.h:31:
> ../Headers/GNUstepBase/GSVersionMacros.h:219:10: error: "You are building
>       gnustep-base using the objc-nonfragile-abi but your gnustep-base
> was not
>       configured to use it."
> #        error "You are building gnustep-base using the...
>          ^

I just re-enabled this line yesterday because it seemed to be commented
out accidentally and does the sane thing (as in checking that the
compiler will actually emit code for the ABI that gnustep-base is
expecting). Maybe you could post the relevant output from config.log
(`checking for non-fragile-abi support'...), since this test is used to
set GS_NONFRAGILE to the correct value?

Cheers,

Niels


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Riccardo Mottola  
View profile  
 More options Sep 24 2012, 4:00 am
Newsgroups: gnu.gnustep.discuss
From: Riccardo Mottola <riccardo.mott...@libero.it>
Date: Mon, 24 Sep 2012 10:00:52 +0200
Local: Mon, Sep 24 2012 4:00 am
Subject: Re: problem with base and non-fragile ABI
Hi,

Niels Grewe wrote:
> Hello Ricardo,
> I just re-enabled this line yesterday because it seemed to be commented
> out accidentally and does the sane thing (as in checking that the
> compiler will actually emit code for the ABI that gnustep-base is
> expecting). Maybe you could post the relevant output from config.log
> (`checking for non-fragile-abi support'...), since this test is used to
> set GS_NONFRAGILE to the correct value?

it is strange: I don't see something relevant in config.log!

I execute:
./configure CC=/usr/local/bin/clang

 > grep fragile config.log
(empty result)

Riccardo


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Niels Grewe  
View profile  
 More options Sep 24 2012, 4:32 am
Newsgroups: gnu.gnustep.discuss
From: Niels Grewe <niels.gr...@halbordnung.de>
Date: Mon, 24 Sep 2012 10:32:21 +0200
Local: Mon, Sep 24 2012 4:32 am
Subject: Re: problem with base and non-fragile ABI
Am 24.09.2012 10:00, schrieb Riccardo Mottola:

Okay, on closer inspection -base only executes this test if you
configured gnustep-make with `--enable-objc-nonfragile-abi'. So maybe we
should have a check there for whether non-fragile is the default. (This
is not by any chance on a *BSD platform? I think David made clang
default to the non-fragile ABI for some of them…)

Cheers,

Niels


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Chisnall  
View profile  
 More options Sep 24 2012, 4:54 am
Newsgroups: gnu.gnustep.discuss
From: David Chisnall <thera...@sucs.org>
Date: Mon, 24 Sep 2012 09:54:25 +0100
Local: Mon, Sep 24 2012 4:54 am
Subject: Re: problem with base and non-fragile ABI
On 24 Sep 2012, at 09:32, Niels Grewe wrote:

> This
> is not by any chance on a *BSD platform? I think David made clang
> default to the non-fragile ABI for some of them…)

I believe the current release defaults to the non-fragile ABI on *BSD (including Darwin, but a different non-fragile ABI there) but assumes Linux == GNU == GCC and so defaults to the legacy ABI there.  

In trunk, --fobjc-nonfragile-abi is regarded as a legacy-compatibility option.  The correct way of selecting it is -fobjc-runtime=gnustep, ideally with a version specified (currently it defaults to 1.7, and each clang release will default to the latest runtime release that it supports).

David

-- Sent from my Difference Engine


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Riccardo Mottola  
View profile  
 More options Sep 24 2012, 5:16 am
Newsgroups: gnu.gnustep.discuss
From: Riccardo Mottola <riccardo.mott...@libero.it>
Date: Mon, 24 Sep 2012 11:16:56 +0200
Local: Mon, Sep 24 2012 5:16 am
Subject: Re: problem with base and non-fragile ABI
Hi,

David Chisnall wrote:
> On 24 Sep 2012, at 09:32, Niels Grewe wrote:

>> This
>> is not by any chance on a *BSD platform? I think David made clang
>> default to the non-fragile ABI for some of them…)
> I believe the current release defaults to the non-fragile ABI on *BSD (including Darwin, but a different non-fragile ABI there) but assumes Linux == GNU == GCC and so defaults to the legacy ABI there.

> In trunk, --fobjc-nonfragile-abi is regarded as a legacy-compatibility option.  The correct way of selecting it is -fobjc-runtime=gnustep, ideally with a version specified (currently it defaults to 1.7, and each clang release will default to the latest runtime release that it supports).

configure:5635: checking whether we should use the nonfragile ABI
configure:5676: result: not requested by user

this is my make.log. I did not specifically enable it (= I did not use
any extra flag). I suppose that clang enables it anyway? Base is
conflicting with what make declares.

It is also fun that GCC is being checked while I use clang :)
configure:5719: checking for the GCC version
configure:5746: result: version: 4.2
configure:5767: checking whether the compiler supports native ObjC
exceptions
configure:5795: /usr/local/bin/clang -c -g -O2 -x objective-c -I.
-I/usr/local/include -I/Local/Library/Headers   -L/usr/local/lib
-L/Local/Library/Libraries -fgnu-runtime -DGNU_RUNTIME -fexceptions
-fobjc-exceptions  conftest.c >&5
clang: warning: argument unused during compilation: '-L/usr/local/lib'
clang: warning: argument unused during compilation:
'-L/Local/Library/Libraries'

Riccardo


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Niels Grewe  
View profile  
 More options Sep 24 2012, 5:18 am
Newsgroups: gnu.gnustep.discuss
From: Niels Grewe <niels.gr...@halbordnung.de>
Date: Mon, 24 Sep 2012 11:18:11 +0200
Local: Mon, Sep 24 2012 5:18 am
Subject: Re: problem with base and non-fragile ABI
Am 24.09.2012 10:54, schrieb David Chisnall:

> On 24 Sep 2012, at 09:32, Niels Grewe wrote:

>> This
>> is not by any chance on a *BSD platform? I think David made clang
>> default to the non-fragile ABI for some of them…)

> I believe the current release defaults to the non-fragile ABI on *BSD (including Darwin, but a different non-fragile ABI there) but assumes Linux == GNU == GCC and so defaults to the legacy ABI there.  

> In trunk, --fobjc-nonfragile-abi is regarded as a legacy-compatibility option.  The correct way of selecting it is -fobjc-runtime=gnustep, ideally with a version specified (currently it defaults to 1.7, and each clang release will default to the latest runtime release that it supports).

Okay, so we have to keep that in mind for the future. Do the arguments
to the __has_feature() macro change accordingly? For now, I modified
gnustep-make to also check for the compiler default. This should get rid
of any unexpected mismatch, though we still might want an option to
disable it explicitly.

Cheers,

Niels


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
David Chisnall  
View profile  
 More options Sep 24 2012, 5:24 am
Newsgroups: gnu.gnustep.discuss
From: David Chisnall <thera...@sucs.org>
Date: Mon, 24 Sep 2012 10:23:46 +0100
Local: Mon, Sep 24 2012 5:23 am
Subject: Re: problem with base and non-fragile ABI
On 24 Sep 2012, at 10:16, Riccardo Mottola wrote:

> I did not specifically enable it (= I did not use any extra flag). I suppose that clang enables it anyway? Base is conflicting with what make declares.

I think that's probably correct, yes.  The configure test should be fixed to check whether the non-fragile ABI is actually being used.  This is easy to do with the test in the header.  This command should probably be the one used by the configure script:

echo '__has_feature(objc_nonfragile_abi)' | $CC -E -x objective-c - -o - | tail -1

This will print 1 if the non-fragile ABI is being used or something else (0 or __has_feature(objc_nonfragile_abi), depending on whether the compiler supports __has_feature) if it isn't.

On an unrelated note, has anyone tried using CMake to compile GNUstep applications?  I have been very impressed with the combination of CMake and Ninja as a build system for LLVM.

David

-- Sent from my Cray X1


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ivan Vučica  
View profile  
 More options Sep 24 2012, 10:11 am
Newsgroups: gnu.gnustep.discuss
From: Ivan Vučica <ivuc...@gmail.com>
Date: Mon, 24 Sep 2012 16:11:15 +0200
Local: Mon, Sep 24 2012 10:11 am
Subject: Re: problem with base and non-fragile ABI

On 24. 9. 2012., at 11:23, David Chisnall <thera...@sucs.org> wrote:

> On an unrelated note, has anyone tried using CMake to compile GNUstep applications?  I have been very impressed with the combination of CMake and Ninja as a build system for LLVM.

I'm not sure why, but I have a dislike for CMake. Whenever I run into it, I run into a problem as well.

For example, over the weekend I was supposed to compile a library for iOS. After figuring out that all configuration tests were failing (so that, for example, the header defining uint32_t and friends could not be found), I spent an afternoon trying to find out which command line is being used to compile the test program so I could see why the compiler is failing.

All online instructions help with getting verbose output from the generated makefile -- but I'm having troubles with generating the makefile.

All in all, I'm not too impressed with CMake. On surface, it indeed looks like a lot easier and readable way to write build systems. But I get the feeling that it comes with its own set of problems.

Maybe it's just me.
--
Ivan Vučica
i...@vucica.net - http://ivan.vucica.net/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »