On Tue, Sep 09, 2008 at 11:55:56AM -0700, Alan Irwin wrote: > Hi Andrew: > > Thanks very much for all your Linux GCC visibility fixups this morning. > As of revision 8761, I get a completely clean build of a fully configured > plplot. To be specific my cmake options for this full configuration were > my usual ones, i.e., > > -DCMAKE_INSTALL_PREFIX=$prefix and > -DBUILD_TEST=ON -DPLD_wxwidgets=ON -DHAVE_PTHREAD=ON -DENABLE_pdl=ON > -DHAVE_ADA_2007=ON > > So basically I add wxwidgets and perl/pdl to the usual default mix of > large numbers of device drivers and bindings. > > Here are the complete ctest results for the > > export CC='gcc -fvisibility=hidden' > > case. > > 1/ 16 Testing examples_c Passed > 2/ 16 Testing examples_cxx Passed > 3/ 16 Testing examples_f77 Passed > 4/ 16 Testing examples_f95 Passed > 5/ 16 Testing examples_octave Passed > 6/ 16 Testing examples_python Passed > 7/ 16 Testing examples_tcl Passed > 8/ 16 Testing examples_perl ***Failed > 9/ 16 Testing examples_ada Passed > 10/ 16 Testing examples_ocaml Passed > 11/ 16 Testing examples_psttfc ***Failed > 12/ 16 Testing examples_png Passed > 13/ 16 Testing examples_svg Passed > 14/ 16 Testing examples_pscairo ***Failed > 15/ 16 Testing examples_pngcairo ***Failed > 16/ 16 Testing examples_compare ***Failed > > I checked and perl/pdl has no visibility issues for examples 1 through 19. > That error continues to caused by pdl not covering our full API for example > 20. The errors for psttfc, pscairo, and pngcairo were all segfaults in > example 1 (and presumably the other examples as well if ctest had gotten > to them). Those segfaults disappear and in fact psttfc, pscairo, and pngcairo > change from "Failed" to "Passed" (i.e., all examples ran without problems) > if I clear CC using > > CC= > > before a clean build. > > So it appears there are still some visibility issues left for the psttf and > cairo device drivers. Nevertheless, the above is an amazing improvement > over what I had last night, and many thanks for figuring out what to do to > make this possible.
Alan, This is interesting. I also see the cairo issue. Initial debugging suggests that this is strange - it is in the call to lt_dlopenext() in plLoadDriver. I can see nothing different in the cairo driver to the other driver so I am at something of a loss at the moment. I've not closely looked at psttf, but I will. My default setup still suffers from an old version of LASi so I assumed the problem was that, but it looks like it is actually the same issue as the cairo one. I also have problems with octave which I have yet to look at. >From a more general point of view, I suspect this won't have a large time or size impact on plplot. Firstly, because we have separate libraries for the different bindings we have to make a lot of internal plP_* functions visible. Secondly a google search suggests other projects (e.g. kde) have not seen a major impact. Exposing the internal functions also partly defeats the justification of keeping the API clean. That aside, this is probably the "right" thing to do, and once we have it sorted it should be little overhead. Andrew ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel