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
