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

Add gapi-ocaml 0.4.5 and google-drive-ocamlfuse 0.7.31 #24745

Merged
merged 4 commits into from
Nov 21, 2023

Conversation

astrada
Copy link
Contributor

@astrada astrada commented Nov 4, 2023

No description provided.

@astrada astrada marked this pull request as draft November 4, 2023 13:46
@astrada astrada force-pushed the gapi-gdfuse branch 3 times, most recently from f096fb5 to 0c0e119 Compare November 4, 2023 15:22
@astrada astrada marked this pull request as ready for review November 4, 2023 20:34
@mseri
Copy link
Member

mseri commented Nov 6, 2023

Looks like google-drive-ocamlfuse fails to link when compiled with ocaml 5.1. It works fine with ocaml 4.14

@astrada
Copy link
Contributor Author

astrada commented Nov 6, 2023

Yes, the problem is caused by camlidl 1.11. It should be fixed in version 1.12 that is still not on opam.

@mseri
Copy link
Member

mseri commented Nov 6, 2023

Should we mark camlidl 1.11 as not available on ocaml 5 in the meantime?

@astrada
Copy link
Contributor Author

astrada commented Nov 7, 2023

Yes, I think it's a good idea. It needs pull request xavierleroy/camlidl#25 to work with OCaml 5.

@mseri mseri mentioned this pull request Nov 7, 2023
@mseri
Copy link
Member

mseri commented Nov 7, 2023

Looks like the release was there already, but never sent here. I opened a PR

@astrada
Copy link
Contributor Author

astrada commented Nov 7, 2023

Great! Thanks!

@astrada astrada marked this pull request as draft November 7, 2023 19:58
@astrada
Copy link
Contributor Author

astrada commented Nov 7, 2023

OK, I'm converting this to draft, because I have to cut another release because I had a test that tried to modify a string.

@astrada
Copy link
Contributor Author

astrada commented Nov 7, 2023

Now I have failures only on lower-bounds checks with OCaml 5.0 and 5.1. Is there a way to express different lower bounds for dependencies based on OCaml version?

@astrada astrada marked this pull request as ready for review November 8, 2023 20:21
@astrada
Copy link
Contributor Author

astrada commented Nov 8, 2023

If it isn't possible, I think it's good to merge. Thanks!

@avsm
Copy link
Member

avsm commented Nov 9, 2023

@astrada what's the lower bound you're trying to describe? We can try to describe it with a &| formula

@astrada
Copy link
Contributor Author

astrada commented Nov 9, 2023

I'd like to set camlidl >= 1.12 if OCaml version >= 5.0 and similarly a version of ocurl that compiles with OCaml >= 5.0. Thanks!

@mseri
Copy link
Member

mseri commented Nov 9, 2023

I need to add lower bounds to previous camlidl versions, then I’ll check ocurl

@astrada
Copy link
Contributor Author

astrada commented Nov 10, 2023

Thanks a lot!

@mseri
Copy link
Member

mseri commented Nov 14, 2023

The remaining failures are CI or ocurl issues. The only one still relevant for this package are the multiple failures on macos (all compiler versions). Are these expected?

#=== ERROR while compiling gapi-ocaml.0.4.5 ===================================#
# context              2.2.0~alpha2 | macos/x86_64 | ocaml-base-compiler.4.14.1 | pinned(https://github.com/astrada/gapi-ocaml/archive/v0.4.5-opam.tar.gz)
# path                 ~/.opam/4.14.1/.opam-switch/build/gapi-ocaml.0.4.5
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p gapi-ocaml -j 11
# exit-code            1
# env-file             ~/.opam/log/gapi-ocaml-60690-214820.env
# output-file          ~/.opam/log/gapi-ocaml-60690-214820.out
### output ###
# File "src/netsys/dune", line 6, characters 92-110:
# 6 |  (foreign_stubs (language c) (names netsys_c netsys_c_clock netsys_c_event netsys_c_fadvise netsys_c_fallocate netsys_c_gprof netsys_c_htab netsys_c_ioprio netsys_c_ip6 netsys_c_locale netsys_c_mem netsys_c_multicast netsys_c_poll netsys_c_queue netsys_c_sem netsys_c_shm netsys_c_spawn netsys_c_subprocess netsys_c_syslog netsys_c_win32 netsys_c_xdr))
#                                                                                                 ^^^^^^^^^^^^^^^^^^
# (cd _build/default/src/netsys && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -pthread -D_FILE_OFFSET_BITS=64 -O2 -fno-strict-aliasing -fwrapv -pthread -g -I /Users/mac1000/.opam/4.14.1/lib/ocaml -o netsys_c_fallocate.o -c netsys_c_fallocate.c)
# netsys_c_fallocate.c:38:9: error: call to undeclared function 'posix_fallocate'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
#     r = posix_fallocate(Int_val(fd), start_off, len_off);
#         ^
# netsys_c_fallocate.c:38:9: note: did you mean 'netsys_fallocate'?
# netsys_c_fallocate.c:20:16: note: 'netsys_fallocate' declared here
# CAMLprim value netsys_fallocate(value fd, value start, value len) {
#                ^
# 1 error generated.
# File "src/netsys/dune", line 6, characters 45-59:
# 6 |  (foreign_stubs (language c) (names netsys_c netsys_c_clock netsys_c_event netsys_c_fadvise netsys_c_fallocate netsys_c_gprof netsys_c_htab netsys_c_ioprio netsys_c_ip6 netsys_c_locale netsys_c_mem netsys_c_multicast netsys_c_poll netsys_c_queue netsys_c_sem netsys_c_shm netsys_c_spawn netsys_c_subprocess netsys_c_syslog netsys_c_win32 netsys_c_xdr))
#                                                  ^^^^^^^^^^^^^^
# (cd _build/default/src/netsys && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -pthread -D_FILE_OFFSET_BITS=64 -O2 -fno-strict-aliasing -fwrapv -pthread -g -I /Users/mac1000/.opam/4.14.1/lib/ocaml -o netsys_c_clock.o -c netsys_c_clock.c)
# netsys_c_clock.c:14:10: fatal error: 'sys/timerfd.h' file not found
# #include <sys/timerfd.h>
#          ^~~~~~~~~~~~~~~
# 1 error generated.
# File "src/netsys/dune", line 6, characters 60-74:
# 6 |  (foreign_stubs (language c) (names netsys_c netsys_c_clock netsys_c_event netsys_c_fadvise netsys_c_fallocate netsys_c_gprof netsys_c_htab netsys_c_ioprio netsys_c_ip6 netsys_c_locale netsys_c_mem netsys_c_multicast netsys_c_poll netsys_c_queue netsys_c_sem netsys_c_shm netsys_c_spawn netsys_c_subprocess netsys_c_syslog netsys_c_win32 netsys_c_xdr))
#                                                                 ^^^^^^^^^^^^^^
# (cd _build/default/src/netsys && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -pthread -D_FILE_OFFSET_BITS=64 -O2 -fno-strict-aliasing -fwrapv -pthread -g -I /Users/mac1000/.opam/4.14.1/lib/ocaml -o netsys_c_event.o -c netsys_c_event.c)
# netsys_c_event.c:9:10: fatal error: 'sys/eventfd.h' file not found
# #include <sys/eventfd.h>
#          ^~~~~~~~~~~~~~~
# 1 error generated.
# File "src/netsys/dune", line 6, characters 75-91:
# 6 |  (foreign_stubs (language c) (names netsys_c netsys_c_clock netsys_c_event netsys_c_fadvise netsys_c_fallocate netsys_c_gprof netsys_c_htab netsys_c_ioprio netsys_c_ip6 netsys_c_locale netsys_c_mem netsys_c_multicast netsys_c_poll netsys_c_queue netsys_c_sem netsys_c_shm netsys_c_spawn netsys_c_subprocess netsys_c_syslog netsys_c_win32 netsys_c_xdr))
#                                                                                ^^^^^^^^^^^^^^^^
# (cd _build/default/src/netsys && /usr/bin/cc -O2 -fno-strict-aliasing -fwrapv -pthread -D_FILE_OFFSET_BITS=64 -O2 -fno-strict-aliasing -fwrapv -pthread -g -I /Users/mac1000/.opam/4.14.1/lib/ocaml -o netsys_c_fadvise.o -c netsys_c_fadvise.c)
# netsys_c_fadvise.c:32:31: error: use of undeclared identifier 'POSIX_FADV_NORMAL'
#     case 0: case 6: adv_int = POSIX_FADV_NORMAL; break;
#                               ^
# netsys_c_fadvise.c:33:31: error: use of undeclared identifier 'POSIX_FADV_SEQUENTIAL'
#     case 1: case 7: adv_int = POSIX_FADV_SEQUENTIAL; break;
#                               ^
# netsys_c_fadvise.c:34:31: error: use of undeclared identifier 'POSIX_FADV_RANDOM'
#     case 2: case 8: adv_int = POSIX_FADV_RANDOM; break;
#                               ^
# netsys_c_fadvise.c:35:31: error: use of undeclared identifier 'POSIX_FADV_NOREUSE'
#     case 3: case 9: adv_int = POSIX_FADV_NOREUSE; break;
#                               ^
# netsys_c_fadvise.c:36:32: error: use of undeclared identifier 'POSIX_FADV_WILLNEED'
#     case 4: case 10: adv_int = POSIX_FADV_WILLNEED; break;
#                                ^
# netsys_c_fadvise.c:37:32: error: use of undeclared identifier 'POSIX_FADV_DONTNEED'
#     case 5: case 11: adv_int = POSIX_FADV_DONTNEED; break;
#                                ^
# netsys_c_fadvise.c:52:9: error: call to undeclared function 'posix_fadvise'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
#     r = posix_fadvise(Int_val(fd), start_off, len_off, adv_int);
#         ^
# 7 errors generated.

@astrada
Copy link
Contributor Author

astrada commented Nov 14, 2023

Thanks!

Are these expected?

Yes, I imported what I used from ocamlnet to get rid of the dependency that was blocking the upgrade to OCaml 5. I tried to import the minimum code I needed but there is a lot of C that needs autoconf (that I removed to simplify the build) to be cross platform. And I don't have access to a macos box to test the package. So, it's probably smarter to remove macos from the opam file of gapi-ocaml.

@mseri
Copy link
Member

mseri commented Nov 15, 2023

The remaining failures show that we need some bounds on ocurl. I'll do that separately. Thanks

We need to postpone merges for some time but once we can merge again later, I'll marge this

@astrada
Copy link
Contributor Author

astrada commented Nov 15, 2023

Great! Thanks for your support!

@mseri mseri merged commit 7e48cbf into ocaml:master Nov 21, 2023
1 of 2 checks passed
@mseri
Copy link
Member

mseri commented Nov 21, 2023

Thanks, sorry for the wait

@astrada
Copy link
Contributor Author

astrada commented Nov 21, 2023

No problem!

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

Successfully merging this pull request may close these issues.

3 participants