HaxeFoundation / HaxeFoundation/docker-library-haxe

5.0.0 images failing to build on Debian Trixie on arm32v7

Open
#15 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.