stan-dev / stanc3

The Stan transpiler (from Stan to C++ and beyond).
BSD 3-Clause "New" or "Revised" License
138 stars 44 forks source link

Release support for building against ocaml 5 #1380

Closed chenrui333 closed 7 months ago

chenrui333 commented 7 months ago

👋 OCaml 5 has been released for more than a year, it would be good to cut a release for supporting it.

relates to:

WardBrian commented 7 months ago

I don’t believe there are any source changes needed to build the current state of the master branch under OCaml 5. If you’re aware of any please let me know.

The Stan project follows a roughly 4 month release cycle, so the next release will be sometime in January.

For our own build/release process we will likely stick on 4.14 as long as it is supported while the windows picture for 5.x settles down, but on Unixes it should be possible

chenrui333 commented 7 months ago

yeah, I just released the ocaml5, and gonna trying to build from source now (it would be 2.23.2)

chenrui333 commented 7 months ago

this is my local stanc3 build log with 2.33.1 against ocaml 5.1.0 https://gist.github.com/chenrui333/505b05c18329b7993564f5f608483bbb

# cc -c -O2 -fno-strict-aliasing -fwrapv -Wall -Wdeclaration-after-statement -fno-common -g  -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE   -DCAMLDLLIMPORT= -DNATIVE_CODE -DTARGET_arm64 -DMODEL_default -DSYS_macosx   -o clambda_checks.n.o clambda_checks.c
# cc -c -O2 -fno-strict-aliasing -fwrapv -Wall -Wdeclaration-after-statement -fno-common -g  -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE   -DCAMLDLLIMPORT= -DNATIVE_CODE -DTARGET_arm64 -DMODEL_default -DSYS_macosx   -o afl.n.o afl.c
# cc -c -O2 -fno-strict-aliasing -fwrapv -Wall -Wdeclaration-after-statement -fno-common -g  -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE   -DCAMLDLLIMPORT= -DNATIVE_CODE -DTARGET_arm64 -DMODEL_default -DSYS_macosx   -o bigarray.n.o bigarray.c
# fiber.c:233:53: error: use of undeclared identifier 'Wosize_gc_regs'
#     value* bucket = caml_stat_alloc(sizeof(value) * Wosize_gc_regs);
#                                                     ^
# 1 error generated.
WardBrian commented 7 months ago

The output shows your system trying to downgrade to 4.12 as part of that build

WardBrian commented 7 months ago

The following works on my system (from the master branch):

$ opam switch create 5.1.0
$ eval $(opam env)
$ ./scripts/install_build_deps.sh
$ make
chenrui333 commented 7 months ago

The following works on my system (from the master branch):

yeah, but it is only master branch, right? that is why I filed an this issue to see if we can cut off a new release to include the changes in https://github.com/stan-dev/stanc3/pull/1366

WardBrian commented 7 months ago

We do not generally cut (non-bugfix) releases except for as part of the Stan release cycle

chenrui333 commented 7 months ago

when would be the next release then?

WardBrian commented 7 months ago

The Stan project follows a roughly 4 month release cycle, so the next release will be sometime in January, version 2.34