Hi Andrew: In my reading about visibility for C and C++ for gcc on Linux, I can find no reference to _import_ visibility in the gcc info pages, the Ulich Drepper reference, or in http://developer.apple.com/documentation/DeveloperTools/Conceptual/CppRuntimeEnv/Articles/SymbolVisibility.html
Thus, I now believe #define FXIMPORT __attribute__ ((visibility("default"))) in one of the examples in http://gcc.gnu.org/wiki/Visibility was just a bit of sloppiness and GCC on Linux should not bother to specify visibility attributes for _imported_ symbols (which I assume or just ignored). Previously, I followed that example by using, e.g., #define PLDLLIMPORT __attribute__ ((visibility("default"))) in include/pldll.h and also used a similar #define for imported symbols in csadll.h and nndll.h. I locally changed those import #defines to nothing, e.g., #define PLDLLIMPORT After a bug fix to bindings/tcl/CMakeLists.txt, I continued to get the same perfect build results as before and the same almost perfect (outside of psttf and cairo) ctest results as before for the case of export CC='gcc -fvisibility=hidden' export CXX='g++ -fvisibility=hidden' export FC='gfortran -fvisibility=hidden' Therefore I committed these changes (revision 8773). I am pretty sure of my ground here, but I also realize we are subject to uncertain documentation of these relatively new Linux GCC visibility features so such commits as I have just done are in the nature of an experiment. Thus, if you don't get as good results as before for revison 8773 or if your independent google research seems to indicate we should do something about _imported_ symbol visibility for GCC on Linux, then we will need to revert this change or try something different. Arjen and Werner, libplplottcltkd is another library where I think you should be more careful about the import/export distinction. The logic currently just makes the exported symbols required by the Tcl/Tk applications visible. This works fine for GCC on Linux because import visibility appears not to be an issue for that platform, but ignoring import visibility is probably a bad idea for Windows. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ ------------------------------------------------------------------------- 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