From: Orion P. <or...@nw...> - 2020-05-22 03:21:41
|
On 5/21/20 2:01 PM, Alan W. Irwin wrote: > 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. Indeed, sorry for the confusion. >> [ 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 I've filed this with camlidl: https://github.com/xavierleroy/camlidl/issues/18 hopefully they can help. -- Orion Poplawski Manager of NWRA Technical Systems 720-772-5637 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane or...@nw... Boulder, CO 80301 https://www.nwra.com/ |