On 07/09/2018 14:06, Udo Grabowski (IMK) wrote:
On 07/09/2018 14:01, Udo Grabowski (IMK) wrote:
On 07/09/2018 13:45, Udo Grabowski (IMK) wrote:
Says the most important driver for plplot, xwin, is not compiled
into plplot. I'm convinced it is, otherwise delivering plplot would
be futile, so it seems that something else is broken here:

ro sunth7 ~ # ldd /usr/bin/gdl|grep plplot
        libplplot.so.15 =>       /usr/lib/64/libplplot.so.15
        libplplotcxx.so.13 =>    /usr/lib/64/libplplotcxx.so.13

ro sunth7 ~ # gdl

  GDL - GNU Data Language, Version 0.9.7

- For basic information type HELP,/INFO
- Default library routine search path used (GDL_PATH/IDL_PATH env. var. not
set):
  +/usr/share/gnudatalanguage/lib
- No startup file read (GDL_STARTUP/IDL_STARTUP env. var. not set).
- Please report bugs, feature or help requests and patches at:
  http://sourceforge.net/projects/gnudatalanguage/

GDL> plot,findgen(100)

*** PLPLOT WARNING ***
Unable to open cmap0 file cmap0_default.pal

*** PLPLOT WARNING ***
Unable to open cmap0 file cmap0_default.pal

*** PLPLOT WARNING ***
Unable to open cmap1 .pal file cmap1_default.pal

*** PLPLOT ERROR, ABORTING OPERATION ***
plInitDispatchTable: Could not open drivers directory, aborting operation
% PLplot installation lacks the requested driver: xwin
% Execution halted at: $MAIN$
GDL>

ro sunth7 ~ # ll  /usr/share/plplot5.13.0/
total 581
-r--r--r--   1 root     bin        55.9K Aug 17 12:04 cglobe.map
-r--r--r--   1 root     bin          131 Aug 17 12:04 cmap0_alternate.pal
-r--r--r--   1 root     bin          195 Aug 17 12:04 cmap0_black_on_white.pal
-r--r--r--   1 root     bin          131 Aug 17 12:04 cmap0_default.pal
-r--r--r--   1 root     bin          195 Aug 17 12:04 cmap0_white_bg.pal
-r--r--r--   1 root     bin           51 Aug 17 12:04 cmap1_blue_red.pal
-r--r--r--   1 root     bin          220 Aug 17 12:04 cmap1_blue_yellow.pal
-r--r--r--   1 root     bin           80 Aug 17 12:04 cmap1_default.pal
-r--r--r--   1 root     bin           69 Aug 17 12:04 cmap1_gray.pal
-r--r--r--   1 root     bin           51 Aug 17 12:04 cmap1_highfreq.pal
-r--r--r--   1 root     bin          105 Aug 17 12:04 cmap1_lowfreq.pal
-r--r--r--   1 root     bin          426 Aug 17 12:04 cmap1_radar.pal
drwxr-xr-x   9 root     sys           23 Aug 17 12:04 examples/
-r--r--r--   1 root     bin        32.8K Aug 17 12:04 globe.map
-r--r--r--   1 root     bin        2.30K Aug 17 12:04 pkgIndex.tcl
-r--r--r--   1 root     bin        6.26K Aug 17 12:04 plstnd5.fnt
-r--r--r--   1 root     bin        57.4K Aug 17 12:04 plxtnd5.fnt
drwxr-xr-x   2 root     sys            4 Aug 17 12:04 tcl/
-r--r--r--   1 root     bin        43.5K Aug 17 12:04 usa.map
-r--r--r--   1 root     bin        74.9K Aug 17 12:04 usaglobe.map

ro sunth7 ~ # pkg list -a|fgrep -i plplot
image/plplot    5.13.0-2018.0.0.0          i--


ro sunth7 ~ # pkg list -a | fgrep -i gdl
library/libgdl  3.28.0-2018.0.0.0          i--
scientific/gdl  0.9.7-2018.0.0.2           i--


Part1 of the problem has an explanation: The code searches for the files not
in "/usr/share/plplot...", but in "share/plplot..." (and /usr/local as
last resort) ! This insane:

3869:   open("cmap0_default.pal", O_RDONLY)             Err#2 ENOENT
3869:   open("share/plplot5.13.0/cmap0_default.pal", O_RDONLY) Err#2 ENOENT
3869:   open("/usr/local/plplot/lib/cmap0_default.pal", O_RDONLY) Err#2 ENOENT

*** PLPLOT WARNING ***
3869:   write(2, "\n * * *   P L P L O T  ".., 24)      = 24
Unable to open cmap0 file cmap0_default.pal
3869:   write(2, " U n a b l e   t o   o p".., 44)      = 44

3869:   write(2, "\n", 1)                               = 1
3869:   open("cmap0_default.pal", O_RDONLY)             Err#2 ENOENT
3869:   open("share/plplot5.13.0/cmap0_default.pal", O_RDONLY) Err#2 ENOENT
3869:   open("/usr/local/plplot/lib/cmap0_default.pal", O_RDONLY) Err#2 ENOENT

*** PLPLOT WARNING ***
3869:   write(2, "\n * * *   P L P L O T  ".., 24)      = 24
Unable to open cmap0 file cmap0_default.pal
3869:   write(2, " U n a b l e   t o   o p".., 44)      = 44

3869:   write(2, "\n", 1)                               = 1
3869:   open("cmap1_default.pal", O_RDONLY)             Err#2 ENOENT
3869:   open("share/plplot5.13.0/cmap1_default.pal", O_RDONLY) Err#2 ENOENT
3869:   open("/usr/local/plplot/lib/cmap1_default.pal", O_RDONLY) Err#2 ENOENT

*** PLPLOT WARNING ***
3869:   write(2, "\n * * *   P L P L O T  ".., 24)      = 24
Unable to open cmap1 .pal file cmap1_default.pal
3869:   write(2, " U n a b l e   t o   o p".., 49)      = 49


linking /usr/share into the working directory lets it find the files,
but still the plplot xwin driver is not found:

GDL> plot,findgen(100)

*** PLPLOT ERROR, ABORTING OPERATION ***
plInitDispatchTable: Could not open drivers directory, aborting operation
% PLplot installation lacks the requested driver: xwin
% Execution halted at: $MAIN$
GDL>


And so the second part has the same embarassing explanation:

3874:   open("lib/amd64/plplot5.13.0/drivers", O_RDONLY|O_NDELAY|O_LARGEFILE)
Err#2 ENOENT


Also linking /usr/lib/ into the current working finally lets it find its driver
library, too....

Please can somebody recompile plplot with proper fixes to stop this madness ?




It seems that, at compile time, some variables were not set correctly
(aka, empty):

<http://plplot.sourceforge.net/docbook-manual/plplot-html-5.13.0/deploying.html>

" In the first case the program will contain all the code it needs to work, but to run successfully, it needs to find the font files, plstnd5.fnt and plxtnd5.fnt. The mechanism used in PLplot to find these files is fairly simple:

It looks at a number of built-in places, determined at the time the PLplot library itself was installed and built. For deployment these places are irrelevant in general.

    It looks at the environment variables PLPLOT_LIB and PLPLOT_HOME.
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
(Actually, this happens only, if the corresponding compiler macros PLPLOT_LIB_ENV and PLPLOT_HOME_ENV were defined at compile time.) "
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The compile time variables were set, because plplot reacts to PLPLOT_LIB.
But the default directories were not set.

Actually, setting the runtime variables to the default directories helps
as a first workaround:

setenv PLPLOT_LIB /usr/share/plplot5.13.0
setenv PLPLOT_DRV_DIR /usr/lib/amd64/plplot5.13.0/drivers

and GDL (and probably other programs linked to plplot) can finally plot !

--
Dr.Udo Grabowski   Inst.f.Meteorology & Climate Research IMK-ASF-SAT
http://www.imk-asf.kit.edu/english/sat.php
KIT - Karlsruhe Institute of Technology           http://www.kit.edu
Postfach 3640,76021 Karlsruhe,Germany T:(+49)721 608-26026 F:-926026

_______________________________________________
openindiana-discuss mailing list
openindiana-discuss@openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss

Reply via email to