From: Orion P. <or...@nw...> - 2020-05-21 03:44:06
Attachments:
smime.p7s
|
With the update from ocaml 1.05 to 1.08 plplot now fails to build: [ 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. -- 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/ |
From: Alan W. I. <Ala...@gm...> - 2020-05-21 20:01:49
|
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 __________________________ |
From: Orion P. <or...@nw...> - 2020-05-22 03:21:41
Attachments:
smime.p7s
|
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/ |
From: Alan W. I. <Ala...@gm...> - 2020-05-21 20:25:11
|
On 2020-05-21 10:01+0100 Richard W.M. Jones wrote: > On Wed, May 20, 2020 at 09:28:10PM -0600, Orion Poplawski wrote: >> With the update from ocaml 1.05 to 1.08 plplot now fails to build: > > 4.05 -> 4.08 ? Hi Richard: Your messages are being rejected by the list for obvious reasons (no subscription), but I do have access to them as list coordinator so I will answer (with a copy to the list). No, the above problem in version numbers was because Orion misidentified the package which is camlidl and not ocaml. [...] > Nothing has changed significantly under bindings/ocaml/ for a long > time, so I don't know why specifically it works from git and not from > the Fedora build. Maybe one of the huge number of cmake flags? The issue was with the camlidl command. But according to Debian packaging information that application depends on the ocaml-nox package that "contains everything needed to develop OCaml applications". Also, I have the following result: irwin@merlin> file /usr/bin/camlidl /usr/bin/camlidl: a /usr/bin/ocamlrun script executable (binary data) And ocamlrun is the OCaml byte-code interpreter. So from your further result that everything works fine for the latest git version of ocaml (where I assume you are still using the same pre-release version of camlidl), it appears the issue is caused (indirectly) by some Fedora inconsistency between their packaged pre-released versions of camlidl and ocaml. Anyhow, it appears the issue does not have a lot to do with PLplot (except as a platform that exposes the issue). So good luck solving it, and let me know how you progress. 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 __________________________ |
From: Orion P. <or...@nw...> - 2020-05-22 03:15:00
Attachments:
smime.p7s
|
On 5/21/20 3:01 AM, Richard W.M. Jones wrote: > On Wed, May 20, 2020 at 09:28:10PM -0600, Orion Poplawski wrote: >> With the update from ocaml 1.05 to 1.08 plplot now fails to build: > > 4.05 -> 4.08 ? Sorry, ocaml-camlidl 1.05 -> 1.08 . No ocaml change directly. > >> [ 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. > > I compiled plplot from git fine using OCaml 4.11 prerelease, so > probably the easiest thing is to move to the latest git version. > > mkdir build > cd build > CFLAGS="%{optflags}" cmake .. -DENABLE_ocaml:BOOL=ON > make > > Nothing has changed significantly under bindings/ocaml/ for a long > time, so I don't know why specifically it works from git and not from > the Fedora build. Maybe one of the huge number of cmake flags? > > Rich. > I suspect without ocaml-camlidl-devel installed it won't build the above code. -- 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/ |
From: Alan W. I. <Ala...@gm...> - 2020-05-22 17:09:46
|
On 2020-05-22 16:31+0100 Richard W.M. Jones wrote: > > Xavier changed cpp -traditional back to cpp > (https://github.com/xavierleroy/camlidl/issues/18), and I have added > the new camlidl 1.09 to Rawhide. > > I will rebuild plplot against this shortly. Thanks, Orion, for initiating camlidl bug 18 and Richard (and Xavier) for following up on it. From the discussion there, it sounds like all is now well with unit testing of the problem, and I therefore assume the above test with a full PLplot build will confirm that. And if so, kudos to everybody for figuring out this issue so swiftly. 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 __________________________ |
From: Orion P. <or...@nw...> - 2020-05-23 03:32:44
Attachments:
smime.p7s
|
On 5/22/20 11:32 AM, Richard W.M. Jones wrote: > On Fri, May 22, 2020 at 10:09:31AM -0700, Alan W. Irwin wrote: >> On 2020-05-22 16:31+0100 Richard W.M. Jones wrote: >> >>> >>> Xavier changed cpp -traditional back to cpp >>> (https://github.com/xavierleroy/camlidl/issues/18), and I have added >>> the new camlidl 1.09 to Rawhide. >>> >>> I will rebuild plplot against this shortly. >> >> Thanks, Orion, for initiating camlidl bug 18 and Richard (and Xavier) >> for following up on it. From the discussion there, it sounds like all >> is now well with unit testing of the problem, and I therefore assume >> the above test with a full PLplot build will confirm that. And if so, >> kudos to everybody for figuring out this issue so swiftly. > > Build here: > > https://koji.fedoraproject.org/koji/taskinfo?taskID=44826613 > > Seems to be going OK so far. > > Rich. > Awesome, thanks Rich and everyone. -- 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/ |