CellML Discussion List

Text archives Help


[cellml-discussion] Errors building the C++ API


Chronological Thread 
  • 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.

Top of page