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
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel