[OpenIndiana-discuss] OI Hipster: GDL not working because of broken plplot
Alexander Pyhalov
alp at sfedu.ru
Fri Sep 7 14:04:58 UTC 2018
Hi.
The issue is that we set relative paths in cmake.mk. I see that userland-gate cmake.mk uses full paths there. We coud either patch plplot to respect CMAKE_PREFIX in include files or fix cmake.mk. But if we touch cmake.mk,
affected components should be checked.
Aurelen, what do you think?
Best regards,
Alexander Pyhalov,
system administrator of Southern Federal University IT department
________________________________________
От: Udo Grabowski (IMK) <udo.grabowski at kit.edu>
Отправлено: 7 сентября 2018 г. 15:36:51
Кому: openindiana-discuss at openindiana.org
Тема: Re: [OpenIndiana-discuss] OI Hipster: GDL not working because of broken plplot
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 at openindiana.org
https://openindiana.org/mailman/listinfo/openindiana-discuss
More information about the openindiana-discuss
mailing list