On 2008-10-10 11:49-0700 Alan W. Irwin wrote:

> Later today I hope to report visibility fixes for Tcl, psttc, and the cairo
> device driver, bit meanwhile, many thanks, Werner, for straightening out the
> general namespace issues with the previous visibility treatment.

With my latest changes I think I have complete (at least as far as ctest
is concerned) success for Linux visibility testing done with

export CC='gcc -fvisibility=hidden'
export CXX='g++ -fvisibility=hidden'
export FC='gfortran -fvisibility=hidden'

As of revision 8879 here is what I get now:

   1/ 17 Testing examples_c                       Passed
   2/ 17 Testing examples_cxx                     Passed
   3/ 17 Testing examples_f77                     Passed
   4/ 17 Testing examples_f95                     Passed
   5/ 17 Testing examples_java                    Passed
   6/ 17 Testing examples_octave                  Passed
   7/ 17 Testing examples_python                  Passed
   8/ 17 Testing examples_tcl                     Passed
   9/ 17 Testing examples_perl                 ***Failed
  10/ 17 Testing examples_ada                     Passed
  11/ 17 Testing examples_ocaml                   Passed
  12/ 17 Testing examples_psttfc                  Passed
  13/ 17 Testing examples_png                     Passed
  14/ 17 Testing examples_svg                     Passed
  15/ 17 Testing examples_pscairo                 Passed
  16/ 17 Testing examples_pngcairo                Passed
  17/ 17 Testing examples_compare              ***Failed

Here are details of the comparison test:

c++
   Missing examples   :
   Differing examples : 
f77
   Missing examples   :
   Differing examples : 
f95
   Missing examples   :
   Differing examples : 
java
   Missing examples   :  19
   Differing examples : 
octave
   Missing examples   :  19
   Differing examples : 
python
   Missing examples   :  19
   Differing examples : 
tcl
   Missing examples   :  19
   Differing examples :  11 13 15 16 20
perl
   Missing examples   :  21 22 23 24 25 26 27 28 29 30
   Differing examples :  02 08 20
ada
   Missing examples   :
   Differing examples : 
ocaml
   Missing examples   :
   Differing examples :

The above result is as good as it gets for ctest these days.

The perl problem is caused by the external PDL/plplot project that is
distributed with Debian testing (version 1:2.4.3-6+b1) being far behind what
libplplot provides as an API these days.  I don't know if Doug Hunt has
addressed this issue yet for later releases of PDL (if any).  However, it
does seem that until the API issues were encountered for example 20,
everything was working reasonably well for perl/pdl in terms of visibility.

I am keen on minimalism so for my next PLplot step (later today) I hope to
remove all the redundant (I think) macro use in the various device driver
source code files since that is dealt with by drivers.h.

Also, I may get a chance today to test the case when dynamic devices are
disabled.  But that case has already been tested on Windows so I may be
close to being done with my contribution to visibility testing/debugging on
Linux.

Now to bring up a different, but related topic.  Werner, do you know the
Windows library call (or calls) to dynamically load plug-ins?  If so, I
think basically all you have to do to implement dynamic drivers on Windows
is replace the libltdl calls (lt_dlinit, lt_dlopenext, lt_dlsym, and
lt_dlexit) in src/plcore.c and drivers/get-drv-info.c by the equivalent
Windows library functions for the #if defined(WIN32) case.  So long as you
know how to dynamically load on Windows, I don't think this will be a
particularly time-consuming project, and it really is time for the Windows
version of PLplot to get access to this nice feature that all the Unix
developers and users enjoy.

If you do decide to attempt to make dynamic devices available on Windows,
then I believe from my tests today that you are unlikely to encounter any
Windows import/export/visibility issues for those devices.

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

Reply via email to