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.
_______________________________________________
cellml-discussion mailing list
[email protected]
http://www.cellml.org/mailman/listinfo/cellml-discussion

Reply via email to