Hi Orion:

Thanks for your report.

On 2020-05-20 21:28-0600 Orion Poplawski wrote:

With the update from ocaml 1.05 to 1.08 plplot now fails to build:

The ocaml versions on Debian Buster are 4.0.5* while the camlidl
version there is 1.0.5*, and it is camlidl that failed below.
Therefore, I assume you meant camlidl rather than ocaml above.

[ 4%] Generating plplot_core.idl, plplot_core.mli, plplot_core.ml, plplot_core_stubs.c, plplot_core.h cd /builddir/build/BUILD/plplot-5.15.0/fedora/bindings/ocaml && /usr/bin/cmake -E copy /builddir/build/BUILD/plplot-5.15.0/bindings/ocaml/plplot_core.idl /builddir/build/BUILD/plplot-5.15.0/fedora/bindings/ocaml/plplot_core.idl cd /builddir/build/BUILD/plplot-5.15.0/fedora/bindings/ocaml && /usr/bin/camlidl -I /builddir/build/BUILD/plplot-5.15.0/bindings/ocaml -header plplot_core.idl
File plplot_core.idl, line 369, column 13: Illegal character #

This line is:

RAW_ML(external plgriddata : float array -> float array -> float array -> float array -> float array -> plplot_grid_method_type -> float -> float array array = "ml_plgriddata_bytecode" "ml_plgriddata")

The macros involved are:

#define QUOTEME(x) #x
#define RAW_ML(x) quote(mlmli, QUOTEME(x));

Now, I know nothing about ocaml so I'm hoping Richard can clue us in on what has changed.

For your information, here is the effect of the RAW_ML macro (as generated by
camlidl Version: 1.05-15.1 on Debian Buster = Stable).

software@merlin> grep -i plgriddata plplot_core* |grep -iv binary
plplot_core.idl:// Hand-translated PL_GRID_* flags for use with plgriddata
plplot_core.idl:RAW_ML(external plgriddata : float array -> float array -> float array -> float array -> 
float array -> plplot_grid_method_type -> float -> float array array = "ml_plgriddata_bytecode" 
"ml_plgriddata")
plplot_core.ml:external plgriddata : float array -> float array -> float array -> float array -> float array 
-> plplot_grid_method_type -> float -> float array array = "ml_plgriddata_bytecode" 
"ml_plgriddata"
plplot_core.mli:external plgriddata : float array -> float array -> float array -> float array -> float 
array -> plplot_grid_method_type -> float -> float array array = "ml_plgriddata_bytecode" 
"ml_plgriddata"

So RAW_ML appears to do what its name implies (generate an exact copy in the 
relevant output files
generated by camlidl).  But my OCaml (and camlidl) knowledge is pretty limited 
as well so
I don't understand (at all) how that simple result is implemented with
the macros

#define QUOTEME(x) #x
#define RAW_ML(x) quote(mlmli, QUOTEME(x));

So I also hope you can get help from Richard on how this result is
generated, but since the result is so simple, my best guess is this
issue is due to a bug in the particular pre-release 1.0.8 version that
Fedora has decided to package.

I am tied up with a large number of different projects for the next
month or so.  But when I get a free moment (and if this Fedora issue
has not been resolved by then), I will attempt to obtain the latest
camlidl from <https://github.com/xavierleroy/camlidl> to see if I can
replicate the issue you have found.

N.B. from the latest commit message there, 1.0.8 hasn't actually been
released yet.  Therefore, if the issue is because of a bug in the
particular pre-release version of camlidl that Fedora has packaged,
then it is alway possible that Xavier Leroy has already fixed this bug
in a later pre-release version.  But if changing the Fedora package to
the latest pre-release version does not fix the current issue, then I
would recommend you contact Xavier Leroy about this issue to see if he
can fix it before he releases 1.0.8.

Good luck, and let me know how it goes.

Alan
__________________________
Alan W. Irwin

Research affiliation with the Department of Physics and Astronomy,
University of Victoria, Victoria, BC, Canada.

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to