On Dec 19, 2013, at 6:10 AM, Andrew Ross <andrewr...@users.sourceforge.net> wrote:
> > I plan to try the comprehensive test script for my Debian based > configurations > later. In the meantime I've been trying to build plplot on a CentOS 5.10 > machine at work. This is old software now and I expected problems. I also > have no root access so have to work with what's there. > > I build only cmake from scratch then tried to build plplot. > > Many drivers / bindings were disabled anyway since components were missing > from the system. Bugs I encountered were > > [ 18%] Building Ada object bindings/ada/CMakeFiles/plplotadad.dir/plplot.o > plplot.ads:24:05: "Ada.Numerics.Long_Real_Arrays" is not a predefined library > unit > plplot.ads:24:05: "Plplot (body)" depends on "Plplot (spec)" > plplot.ads:24:05: "Plplot (spec)" depends on "Plplot_Thin (spec)" > plplot.ads:24:05: "Plplot_Thin (spec)" depends on "Plplot_Auxiliary (spec)" > plplot.ads:24:05: "Plplot_Auxiliary (spec)" depends on > "Ada.Numerics.Long_Real_Arrays (spec)" > make[2]: *** [bindings/ada/CMakeFiles/plplotadad.dir/plplot.o] Error 1 > make[1]: *** [bindings/ada/CMakeFiles/plplotadad.dir/all] Error 2 > > Old version of gnat (4.1.2) probably the cause. I disabled Ada and continued This is my bad. In Ada 2005 (which I have in the distant past incorrectly called Ada 2007), there was a new numerics annex added which includes type declarations for vectors and matrices along with operations on them, in Ada.Numerics.Long_Real_Arrays. For the PLplot bindings, I did not want to force users to use Ada 2005 but to get by with Ada 95. However, I wanted to make using the new feature available as an option. Since Ada has no switches, the only way to do this that I could figure out was to do some minor commenting in PLplot_Auxiliary.ads. For my personal use, I always edit this file to use the new numerics annex, so obviously I forgot to revert this file before some recent commit. It was bound to happen sometime. So I've corrected the file and now the Ada bindings should compile once again on older Ada compilers. Sorry for the problem. Jerry > > 25%] Building C object utils/CMakeFiles/pltek.dir/pltek.c.o > Linking C executable pltek > ../src/libplplotd.so.12.0.0: undefined reference to `cairo_ps_surface_set_eps' > ../src/libplplotd.so.12.0.0: undefined reference to > `pango_layout_get_baseline' > collect2: ld returned 1 exit status > make[2]: *** [utils/pltek] Error 1 > make[1]: *** [utils/CMakeFiles/pltek.dir/all] Error 2 > > This was built without dynamic drivers (relevant lib missing) and so > cairo driver was compiled into plplot. This looks to me like a linking > issue in plplot, possible due to old version of linker since Alan hasn't > reported it for his test? > > Anyway, I disabled the cairo drivers and proceeded. > > [ 32%] Generating plplot/examples/x00.class > ---------- > 1. ERROR in > /nfs/see-fs-02_users/lecanr/colpex_archive/lecanr/software/plplot/plplot/examples/java/x00.java > (at line 29) > import static plplot.core.plplotjavacConstants.*; > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Syntax error, static imports are only available if source level is 5.0 > ---------- > 2. ERROR in > /nfs/see-fs-02_users/lecanr/colpex_archive/lecanr/software/plplot/plplot/examples/java/x00.java > (at line 56) > pls.parseopts( args, PL_PARSE_FULL | PL_PARSE_NOPROGRAM ); > ^^^^^^^^^^^^^ > PL_PARSE_FULL cannot be resolved > ---------- > 3. ERROR in > /nfs/see-fs-02_users/lecanr/colpex_archive/lecanr/software/plplot/plplot/examples/java/x00.java > (at line 56) > pls.parseopts( args, PL_PARSE_FULL | PL_PARSE_NOPROGRAM ); > ^^^^^^^^^^^^^^^^^^ > PL_PARSE_NOPROGRAM cannot be resolved > ---------- > 3 problems (3 errors)make[3]: *** [examples/java/plplot/examples/x00.class] > Error 255 > make[2]: *** [examples/java/CMakeFiles/plplot_examples.dir/all] Error 2 > make[1]: *** [examples/CMakeFiles/test_noninteractive.dir/rule] Error 2 > > This looks like a problem with an old version of javac. I might be able > to fix this by setting the source level, but I just disabled java and > continued. > > After all this I ended up with just C / C++ / F95 bindings and with a > minimal set of drivers (mem, null, psc, svg, xfig, xwin). It did however > pass make test_interactive and make test_noninteractive. > > On the plus side I spotted a bug with plcolorbar in the C++ bindings. > Not sure why this hadn't been triggered with newer versions of gcc. > > I have also tried epa_build_lite. I got as far as building libharu and > the build failed with > > Building C object src/CMakeFiles/hpdf_static.dir/hpdf_string.o > cd /tmp/build_plplot/build_dir-linux/epa_build/Build/build_libharu/src && > /usr/bin > /cc -O3 -fvisibility=hidden -Wuninitialized > -I/tmp/build_plplot/build_dir-linux > /epa_build/Source/build_libharu/include > -I/tmp/build_plplot/build_dir-linux/epa_bu > ild/Build/build_libharu/include -o > CMakeFiles/hpdf_static.dir/hpdf_string.o - > c > /tmp/build_plplot/build_dir-linux/epa_build/Source/build_libharu/src/hpdf_string > .c > /usr/local/lib/libz.so: could not read symbols: File in wrong format > collect2: ld returned 1 exit status > gmake[6]: *** [src/libhpdf.so.0.0.0] Error 1 > > Note this is a static build, but trying to link in the shared version of > libz. I think this is because there is no libz.a installed, however > cmake didn't spot this corner case. Manually massaging the linker > options allowed me to continue, however for some reason the header file > hpdf_pdfa.h is not installed (this is only required in the static case) > and so any code using hpdf.h will fail. Copying the header into the > install tree got me a bit further. > > I then had to muck about to disable ada and java to get the build to complete > and to install (p.s. Alan: How do I pass cmake options to the plplot build > when > using epa? I went in and reran cmake by hand - not ideal). > > I then tried the cmake based tests in the install tree. > > make test_noninteractive failed becauase the epa built itcl / itk > libraries were not found. There is no rpath information for these, > even though the other libraries are fine. Setting LD_LIBRARY_PATH > allowed me to continue and then the examples ran fine. > > Tried to run build_plplot which fails straight away with > > 1%] Performing download step (verify and extract) for 'build_qt4_lite' > cd /tmp/build_plplot/build_dir-linux/epa_build/Source && > /nfs/see-archive-15_a58/l > ecanr/software/plplot/build_script/install-linux_buildtools/bin/cmake -P > /tmp/buil > d_plplot/build_dir-linux/epa_build/Stamp/build_qt4_lite/verify-build_qt4_lite.cmak > e > -- verifying file... > file='/home/software/build_qt4/qt-everywhere-opensource-src-4.8.5.tar.gz' > CMake Error at > /tmp/build_plplot/build_dir-linux/epa_build/Stamp/build_qt4_lite/ve > rify-build_qt4_lite.cmake:5 (file): > file MD5 failed to read file > "/home/software/build_qt4/qt-everywhere-opensource-src-4.8.5.tar.gz": No > such file or directory > > Looks like this points to a file on Alan's hard disk rather than trying > to download. You probably want to comment out the temporary debugging line > before the release. I'll commit that change myself now. Having done that the > build is now chugging away. More later... > > So, in conclusion, I can build at least a basic version of plplot on > this old CentOS system. With the lite version of epa_build I can > include tcl / tk as well as adding some extra drivers (ntk, tk, tkwin, > pdf). I'm still testing build_plplot and will report back on that later. > > I must say, if we can iron out the bugs, this will be a useful easy way of > building plplot on this system where I don't have root access to install > new system packages. Thanks Alan! > > Andrew > ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Plplot-devel mailing list Plplot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/plplot-devel