HaxeFoundation / HaxeFoundation/docker-library-haxe
5.0.0 images failing to build on Debian Trixie on arm32v7
- Dominant language
- Dockerfile
- Stars
- 30
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
😢 😭 we can't win; a new build failure. :heart: Now that we fixed Alpine amd64 builds (https://github.com/HaxeFoundation/docker-library-haxe/issues/14) with an ocaml update to `5.5.1`, it exposed a new build failure on `arm32v7` on Debian Trixie.
Log snippet [full log](https://doi-janky.infosiftr.net/job/meta/view/builds/job/arm32v7/job/build/113001/consoleFull):
```console
pcre2_stubs.c: In function 'pcre2_callout_handler':
pcre2_stubs.c:139:29: error: initialization of 'caml_int_ptr' {aka 'long int *'} from incompatible pointer type 'volatile value *' {aka 'volatile int *'} [-Wincompatible-pointer-types]
139 | caml_int_ptr ovec_dst = &Field(Field(v_substrings, 1), 0) + subgroups2_1;
| ^
```
I think it is caused by the swap from `long`/`int`/`int64_t` to `intptr_t` in https://github.com/ocaml/ocaml/pull/13656 (included in the `5.3.0` -> `5.5.1` ocaml bump) plus the default to error on incompatible pointer types.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked full arm32v7 build log and inspect the Debian Trixie image build configuration. Compare the OCaml 5.3.0 to 5.5.1 change and the linked OCaml pointer-type update to identify the incompatible code path. Done means the 5.0.0 Debian Trixie arm32v7 image builds successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- debian, docker, ocaml
- Domain
- build-system, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100