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

Ocaml 5.3.0 #340

Merged
merged 6 commits into from
Feb 5, 2025
Merged

Ocaml 5.3.0 #340

merged 6 commits into from
Feb 5, 2025

Conversation

pirbo
Copy link
Collaborator

@pirbo pirbo commented Jan 14, 2025

Implements #339

@toots
Copy link
Member

toots commented Jan 14, 2025

That looks amazing.

I usually rebuild the CI images manually for this. Do you have a docker hub user? Happy to give you access.

No patches? That's amazing. Have you checked the output of Sys.os_type? Can you post the output of ocamlc -config?

@pirbo
Copy link
Collaborator Author

pirbo commented Jan 14, 2025

I usually rebuild the CI images manually for this. Do you have a docker hub user? Happy to give you access.

I'm pirbo there too :)

No patches? That's amazing. Have you checked the output of Sys.os_type? Can you post the output of ocamlc -config?

Well no patch in upcoming 5.4.0! In 5.3.0, we actually rely on the backports of the patches merged in the dev branch (hiding in "ocross-squashed.patch").

Good point but yes 🎉

$ ocamlfind -toolchain windows ocamlc -config
version: 5.3.0
standard_library_default: /home/pirbo/.opam/5.3.0/windows-sysroot/lib/ocaml
standard_library: /home/pirbo/.opam/5.3.0/windows-sysroot/lib/ocaml
ccomp_type: cc
c_compiler: /home/pirbo/sources/mxe/usr/bin/x86_64-w64-mingw32.static-gcc
bytecode_cflags: -O2 -fno-strict-aliasing -fwrapv -mms-bitfields   
ocamlc_cflags: -O2 -fno-strict-aliasing -fwrapv -mms-bitfields   
bytecode_cppflags:  
ocamlc_cppflags:  
native_cflags: -O2 -fno-strict-aliasing -fwrapv -mms-bitfields   
ocamlopt_cflags: -O2 -fno-strict-aliasing -fwrapv -mms-bitfields   
native_cppflags:  
ocamlopt_cppflags:  
bytecomp_c_compiler: /home/pirbo/sources/mxe/usr/bin/x86_64-w64-mingw32.static-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields     
native_c_compiler: /home/pirbo/sources/mxe/usr/bin/x86_64-w64-mingw32.static-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields     
bytecomp_c_libraries:   -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization   -l:libpthread.a 
native_c_libraries:  -lws2_32 -lole32 -luuid -lversion -lshlwapi -lsynchronization   -l:libpthread.a 
native_ldflags: 
native_pack_linker: /home/pirbo/sources/mxe/usr/bin/x86_64-w64-mingw32.static-ld -r -o 
native_compiler: true
architecture: amd64
model: default
int_size: 63
word_size: 64
system: mingw64
asm: /home/pirbo/sources/mxe/usr/bin/x86_64-w64-mingw32.static-gcc -c
asm_cfi_supported: false
with_frame_pointers: false
ext_exe: .exe
ext_obj: .o
ext_asm: .s
ext_lib: .lib
ext_dll: .dll
os_type: Win32
default_executable_name: camlprog.exe
systhread_supported: true
host: x86_64-pc-linux-gnu
target: x86_64-w64-mingw32.static
flambda: false
safe_string: true
default_safe_string: true
flat_float_array: true
function_sections: false
afl_instrument: false
tsan: false
windows_unicode: true
supports_shared_libraries: true
native_dynlink: true
naked_pointers: false
exec_magic_number: Caml1999X035
cmi_magic_number: Caml1999I035
cmo_magic_number: Caml1999O035
cma_magic_number: Caml1999A035
cmx_magic_number: Caml1999Y035
cmxa_magic_number: Caml1999Z035
ast_impl_magic_number: Caml1999M035
ast_intf_magic_number: Caml1999N035
cmxs_magic_number: Caml1999D035
cmt_magic_number: Caml1999T035
linear_magic_number: Caml1999L035

@toots
Copy link
Member

toots commented Jan 14, 2025

architecture: amd64
model: default
int_size: 63
word_size: 64
system: mingw64
asm: /home/pirbo/sources/mxe/usr/bin/x86_64-w64-mingw32.static-gcc -c
asm_cfi_supported: false
with_frame_pointers: false
ext_exe: .exe
ext_obj: .o
ext_asm: .s
ext_lib: .lib
ext_dll: .dll
os_type: Win32

Wow nice.

@toots
Copy link
Member

toots commented Jan 14, 2025

I'm pirbo there too :)

Invite sent!

@WardBrian
Copy link
Collaborator

Gentle ping to ask if there's anything I can do to help get this merged

.github/workflows/ci.yml Outdated Show resolved Hide resolved
packages/ocaml-windows64/ocaml-windows64.5.3.0/opam Outdated Show resolved Hide resolved
packages/ocaml-windows64/ocaml-windows64.5.3.0/opam Outdated Show resolved Hide resolved
@toots
Copy link
Member

toots commented Jan 29, 2025

Sorry didn't realize my review had not been submitted..

@WardBrian
Copy link
Collaborator

I'm not sure if this is relevant to this PR or something we'll need to patch elsewhere in the repository after it is merged, but I wanted to flag that something weird is happening with ocamlfind-windows in 5.3.0-windows switches as I'm testing this PR locally.

The ppx_deriving-windows package fails to find findlib.dynload, and this seems to be because $SWITCH/windows-sysroot/lib/findlib/META is missing. Copying the META file from a switch created with 5.1.1 makes it all work again. findlib.dynload has been a nightmare for me in the past, so I'm not surprised to see it popping up again, but luckily this seems relatively "simple"?

@WardBrian
Copy link
Collaborator

@pirbo would you like any assistance getting this over the finish line? Thanks!

@pirbo
Copy link
Collaborator Author

pirbo commented Feb 3, 2025

Sorry I was offline last week and I'll still won't be available to tackle that today and tomorrow but I promise it's the 1st item on my todo list for wednesday.
(I don't claim ownership, fell free to overtake me by merging your own PR in the next 2 days no problem at all but else I do it Wednesday)

@pirbo pirbo marked this pull request as ready for review February 5, 2025 10:10
@@ -70,7 +72,7 @@ jobs:
echo "Revdeps to build: ${REVDEPS_TO_BUILD}"
echo "revdeps=[${REVDEPS_TO_BUILD}]" >> "${GITHUB_OUTPUT}"
- name: Write matrix output
if: matrix.arch == 'x64' && matrix.ocaml_version == '5.1.1'
if: matrix.arch == 'x64' && matrix.ocaml_version == '5.3.0'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should remove arch x86 now. This can be done after this PR is merged.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. I can try that in an other PR

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, partly done here in the CI file (I didn't renamed the docker image)

toots
toots previously approved these changes Feb 5, 2025
Copy link
Member

@toots toots left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me now.

It's building fine?

We should rebuild the CI images before merging.

@pirbo
Copy link
Collaborator Author

pirbo commented Feb 5, 2025

I've pushed new base docker images.

@pirbo pirbo added this pull request to the merge queue Feb 5, 2025
Merged via the queue into ocaml-cross:main with commit 1ecfd74 Feb 5, 2025
6 checks passed
@pirbo pirbo deleted the ocaml.5.3.0 branch February 5, 2025 13:24
@WardBrian
Copy link
Collaborator

Thank you both!

@WardBrian WardBrian mentioned this pull request Feb 5, 2025
@toots
Copy link
Member

toots commented Feb 5, 2025

Awesome work!

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

Successfully merging this pull request may close these issues.

3 participants