Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package zarr v0.1.0 #26462

Merged
merged 3 commits into from
Sep 7, 2024
Merged

Package zarr v0.1.0 #26462

merged 3 commits into from
Sep 7, 2024

Conversation

zoj613
Copy link
Contributor

@zoj613 zoj613 commented Aug 30, 2024

This pull-request concerns:

  • zarr.0.1.0: An Ocaml implementation of the Zarr V3 storage format specification
  • zarr-eio.0.1.0: Eio-aware API for Zarr
  • zarr-lwt.0.1.0: Lwt-aware API for Zarr
  • zarr-sync.0.1.0: Synchronous API for Zarr


🐫 Pull-request generated by opam-publish v2.4.0

@zoj613
Copy link
Contributor Author

zoj613 commented Aug 30, 2024

@mseri Not sure what else I need to pass the tests. Any suggestions? Note that I have no interest in supporting Windows so the failed CI on that platform is irrelevant as far as i'm concerned.

@zoj613 zoj613 changed the title 4 packages from zoj613/zarr-ml at 0.1.0 Package zarr v0.1.0 Sep 2, 2024
@zoj613 zoj613 changed the title Package zarr v0.1.0 Package Zarr v0.1.0 Sep 2, 2024
@zoj613 zoj613 changed the title Package Zarr v0.1.0 Package zarr v0.1.0 Sep 2, 2024
@shonfeder
Copy link
Collaborator

Hi. Thanks for publishing the package!

The Window failure is from the owl dep, and not this package, so no reason to exclude windows in the available field:

  #=== ERROR while compiling owl.1.1 ============================================#
  # context     2.2.1 | win32/x86_64 | ocaml.5.1.1 | file://D:/a/opam-repository/opam-repository
  # path        D:\opamroot\default\.opam-switch\build\owl.1.1
  # command     D:\opamroot\default\bin\dune.exe build -p owl -j 3
  # exit-code   1
  # env-file    D:\opamroot\log\owl-784-c133e7.env
  # output-file D:\opamroot\log\owl-784-c133e7.out
  ### output ###
  # [...]
  # run: x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields   -I D:/opamroot/default/lib/ocaml -o C:\Users\RUNNER~1\AppData\Local\Temp\build_4e48bd_dune\ocaml-configurator93028f\c-test-0\test.exe C:\Users\RUNNER~1\AppData\Local\Temp\build_4e48bd_dune\ocaml-configurator93028f\c-test-0\test.c -lws2_32 -lversion -l:libpthread.a -lgcc_eh -lopenblas
  # -> process exited with code 1
  # -> stdout:
  # -> stderr:
  #  | /usr/lib/gcc/x86_64-w64-mingw32/12/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lopenblas: No such file or directory
  #  | collect2: error: ld returned 1 exit status
  # Fatal error: exception Failure("Unable to link against openblas.")
  # Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
  # Called from Dune__exe__Configure.(fun) in file "src/owl/config/configure.ml", line 223, characters 8-51
  # Called from Configurator__V1.main in file "otherlibs/configurator/src/v1.ml", line 784, characters 4-7
  # Re-raised at Configurator__V1.main in file "otherlibs/configurator/src/v1.ml", line 793, characters 12-43
  # Called from Dune__exe__Configure in file "src/owl/config/configure.ml", line 186, characters 2-1023
  
  
  
  <><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
  +- The following actions failed
  | - build owl 1.1

However the failures on linux should probably be fixed. E.g.,

#=== ERROR while compiling zarr-lwt.0.1.0 =====================================#
# context              2.3.0~alpha~dev | linux/x86_64 | ocaml-base-compiler.4.14.2 | pinned(https://github.com/zoj613/zarr-ml/archive/refs/tags/v0.1.0.tar.gz)
# path                 ~/.opam/4.14/.opam-switch/build/zarr-lwt.0.1.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p zarr-lwt -j 39 @install @runtest
# exit-code            1
# env-file             ~/.opam/log/zarr-lwt-7-6ed4f1.env
# output-file          ~/.opam/log/zarr-lwt-7-6ed4f1.out
### output ###
# File "zarr-sync/test/dune", line 4, characters 3-12:
# 4 |    zarr-sync
#        ^^^^^^^^^
# Error: Library "zarr-sync" not found.
# -> required by _build/default/zarr-sync/test/test_sync.exe
# -> required by alias zarr-sync/test/runtest in zarr-sync/test/dune:2
# File "zarr-eio/test/dune", line 4, characters 3-11:
# 4 |    zarr-eio
#        ^^^^^^^^
# Error: Library "zarr-eio" not found.
# -> required by _build/default/zarr-eio/test/test_eio.exe
# -> required by alias zarr-eio/test/runtest in zarr-eio/test/dune:2
# (cd _build/default/zarr/test && ./test_all.exe)
# .............
# Ran: 13 tests in: 0.13 seconds.
# OK
# (cd _build/default/zarr-lwt/test && ./test_lwt.exe)
# .
# Ran: 1 tests in: 0.27 seconds.
# OK



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build zarr-lwt 0.1.0

@mseri
Copy link
Member

mseri commented Sep 4, 2024

The PR zoj613/zarr-ml#68 should fix the issue with the tests

@zoj613
Copy link
Contributor Author

zoj613 commented Sep 5, 2024

Hi. Thanks for publishing the package!

The Window failure is from the owl dep, and not this package, so no reason to exclude windows in the available field:

  #=== ERROR while compiling owl.1.1 ============================================#
  # context     2.2.1 | win32/x86_64 | ocaml.5.1.1 | file://D:/a/opam-repository/opam-repository
  # path        D:\opamroot\default\.opam-switch\build\owl.1.1
  # command     D:\opamroot\default\bin\dune.exe build -p owl -j 3
  # exit-code   1
  # env-file    D:\opamroot\log\owl-784-c133e7.env
  # output-file D:\opamroot\log\owl-784-c133e7.out
  ### output ###
  # [...]
  # run: x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields   -I D:/opamroot/default/lib/ocaml -o C:\Users\RUNNER~1\AppData\Local\Temp\build_4e48bd_dune\ocaml-configurator93028f\c-test-0\test.exe C:\Users\RUNNER~1\AppData\Local\Temp\build_4e48bd_dune\ocaml-configurator93028f\c-test-0\test.c -lws2_32 -lversion -l:libpthread.a -lgcc_eh -lopenblas
  # -> process exited with code 1
  # -> stdout:
  # -> stderr:
  #  | /usr/lib/gcc/x86_64-w64-mingw32/12/../../../../x86_64-w64-mingw32/bin/ld: cannot find -lopenblas: No such file or directory
  #  | collect2: error: ld returned 1 exit status
  # Fatal error: exception Failure("Unable to link against openblas.")
  # Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
  # Called from Dune__exe__Configure.(fun) in file "src/owl/config/configure.ml", line 223, characters 8-51
  # Called from Configurator__V1.main in file "otherlibs/configurator/src/v1.ml", line 784, characters 4-7
  # Re-raised at Configurator__V1.main in file "otherlibs/configurator/src/v1.ml", line 793, characters 12-43
  # Called from Dune__exe__Configure in file "src/owl/config/configure.ml", line 186, characters 2-1023
  
  
  
  <><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
  +- The following actions failed
  | - build owl 1.1

However the failures on linux should probably be fixed. E.g.,

#=== ERROR while compiling zarr-lwt.0.1.0 =====================================#
# context              2.3.0~alpha~dev | linux/x86_64 | ocaml-base-compiler.4.14.2 | pinned(https://github.com/zoj613/zarr-ml/archive/refs/tags/v0.1.0.tar.gz)
# path                 ~/.opam/4.14/.opam-switch/build/zarr-lwt.0.1.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p zarr-lwt -j 39 @install @runtest
# exit-code            1
# env-file             ~/.opam/log/zarr-lwt-7-6ed4f1.env
# output-file          ~/.opam/log/zarr-lwt-7-6ed4f1.out
### output ###
# File "zarr-sync/test/dune", line 4, characters 3-12:
# 4 |    zarr-sync
#        ^^^^^^^^^
# Error: Library "zarr-sync" not found.
# -> required by _build/default/zarr-sync/test/test_sync.exe
# -> required by alias zarr-sync/test/runtest in zarr-sync/test/dune:2
# File "zarr-eio/test/dune", line 4, characters 3-11:
# 4 |    zarr-eio
#        ^^^^^^^^
# Error: Library "zarr-eio" not found.
# -> required by _build/default/zarr-eio/test/test_eio.exe
# -> required by alias zarr-eio/test/runtest in zarr-eio/test/dune:2
# (cd _build/default/zarr/test && ./test_all.exe)
# .............
# Ran: 13 tests in: 0.13 seconds.
# OK
# (cd _build/default/zarr-lwt/test && ./test_lwt.exe)
# .
# Ran: 1 tests in: 0.27 seconds.
# OK



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build zarr-lwt 0.1.0

I am working on a PR to get rid of the Owl dependency since the only functionality I use from it is very basic operations that could be implemented in a self-contained module. That should get rid of the Windows build failure. In the meantime I updated the package archive checksums to include the commit fixing the linux failures (hopefully).

@shonfeder
Copy link
Collaborator

Nice! All ocaml-ci is either passing or skipped now, with the exception of the name collision check, which is not flagging any relevant concerns. Let us know when you are ready for us to move forward.

@mseri
Copy link
Member

mseri commented Sep 5, 2024

@zoj613 if that's all right with you, we can merge

@zoj613
Copy link
Contributor Author

zoj613 commented Sep 6, 2024

@zoj613 if that's all right with you, we can merge

Please go ahead and merge.

@avsm avsm merged commit 6fe6a74 into ocaml:master Sep 7, 2024
1 of 2 checks passed
@avsm
Copy link
Member

avsm commented Sep 7, 2024

Thanks! You may want to announce this on https://discuss.ocaml.org, where we have a Community category and an announce tag for this purpose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants