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) <[email protected]> Отправлено: 7 сентября 2018 г. 15:36:51 Кому: [email protected] Тема: 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 [email protected] https://openindiana.org/mailman/listinfo/openindiana-discuss _______________________________________________ openindiana-discuss mailing list [email protected] https://openindiana.org/mailman/listinfo/openindiana-discuss
