- From: david.nickerson at nus.edu.sg (David Nickerson)
- Subject: [cellml-discussion] Errors building the C++ API
- Date: Mon, 20 Aug 2007 09:46:03 +0800
Andrew Miller wrote:
>
David Nickerson wrote:
>
> Andrew Miller wrote:
>
>
>
>> David Nickerson wrote:
>
>>
>
>>> Hi all,
>
>>>
>
>>> I know Andrew and I have discussed this in the past but just thought I'd
>
>>> raise the issue here and see if anyone has any ideas.
>
>>>
>
>>> I have just begun trying to build the C++ API implementation using the
>
>>> latest svn trunk code. I'm using a freshly installed Fedora 7 Linux box
>
>>> (gcc (GCC) 4.1.2 20070502 (Red Hat 4.1.2-12)). This used to work fine on
>
>>> my previous Fedora Core 5 install, but since FC6 the Fedora project
>
>>>
>
>>>
>
>> The problem is that Red Hat maintains the compiler and they always seem
>
>> to sneak in a few 'bleeding edge' changes into their version, which
>
>> often break obscure features of gcc (last time I looked into it, I
>
>> believe they had an earlier, broken patch of the visibility patch, and
>
>> we simply check that visibility is present and use it if it is. FC's
>
>> patches mean the test passes, but visibility doesn't actually work quite
>
>> right). I am not sure why the problem has persisted into newer versions
>
>> - I would have thought they would have moved to a newer gcc with
>
>> visibility support instead of using their patch.
>
>>
>
> yep - thats what I would have thought, and looking around no one is
>
> really reporting the issue anywhere. which leads me to start thinking
>
> that maybe Bob got it right? the API implementation isn't doing anything
>
> particularly specially is it?
>
>
>
>
I don't think many people actually use the visibility features of gcc
>
with C++ classes like we do, or if they do, perhaps they have better
>
configure tests for whether visibility works? We could improve this, or
>
just try to detect Fedora and turn it off (visibility isn't essential,
>
but it makes Linux builds fail in some cases where they wouldn't
>
normally but Win32 builds would, and it decreases the size of the
>
libraries, and forces people not to call internal functions they are not
>
supposed to).
so the API implementation is doing something special? sounds like what
you're trying to achieve would be pretty common, so how do others do it?
I know in the past I tried simply "turning visibility off" in the
configure, but it just made things worse - not that I had any real idea
what I was doing :-)
are there any plans to look into this in Auckland?
Thanks,
Andre.
Archive powered by MHonArc 2.6.18.