28293, "Yewzir", "[Documentation]: A scenario where Chapel is not compilable on Alpine Linux distributions despite following the installation instructions", "2026-01-11T15:07:44Z"
Summary of Problem
Description:
The package requirements for successful installation on Alpine Linux distributions are listed on this documentation page and repeated below:
Unfortunately, the configure script fails when called with the --prefix=<path> flag, due to the lack of a command named pathchk.
=> ERROR [builder 5/5] RUN ./configure --prefix=/usr
------
> [builder 5/5] RUN ./configure --prefix=/usr:
0.339 ./configure: line 97: pathchk: command not found
0.339 error: invalid directory name for --prefix: /usr
------
This command is available after installing the coreutils package, which ultimately contains everything needed for a successful compilation.
=> ERROR [builder 4/4] RUN ./configure --prefix=/usr && false # manual interrupt to demo
------
> [builder 4/4] RUN ./configure --prefix=/usr && false:
0.744 Compiling Python scripts in util/
0.886
0.886 Currently selected Chapel configuration:
0.886
1.000 CHPL_TARGET_PLATFORM: linux64
1.000 CHPL_TARGET_COMPILER: gnu
1.000 CHPL_TARGET_ARCH: x86_64
1.000 CHPL_TARGET_CPU: native
1.000 CHPL_LOCALE_MODEL: flat
1.000 CHPL_COMM: none
1.000 CHPL_TASKS: qthreads
1.000 CHPL_LAUNCHER: none
1.000 CHPL_TIMERS: generic
1.000 CHPL_UNWIND: system
1.000 CHPL_TARGET_MEM: jemalloc
1.000 CHPL_ATOMICS: cstdlib
1.000 CHPL_GMP: none
1.000 CHPL_HWLOC: bundled
1.000 CHPL_RE2: none
1.000 CHPL_LLVM: unset
1.000 CHPL_AUX_FILESYS: none
1.012
1.012 Selected installation options:
1.012
1.012 PREFIX: /usr
1.012
1.012 To change the selected Chapel configuration, set environment variables.
1.012 See doc/rst/usingchapel/chplenv.rst
1.012 To change installation options, see ./configure --help
1.012
1.012 If the configuration above is appropriate, build Chapel with:
1.012
1.012 make
1.012
1.012 and possibly install it with
1.012
1.012 make install
1.012
1.012 Once Chapel is in your PATH, you can verify basic functionality with:
1.012
1.013 make check
1.013
------
The flaw was discovered in version 3.23 of the distribution and subsequently tested on versions 3.20, 3.21, and 3.22, both on tag 2.7.0 and on the main branch. Unfortunately, it didn't work anywhere.
Steps to Reproduce
Source Code:
For convenience, I won't have you compile the LLVM project first, only to discover that something is missing.
FROM alpine:3.20
# FROM alpine:3.21
# FROM alpine:3.22
# FROM alpine:3.23
ADD https://github.com/chapel-lang/chapel.git /
RUN apk add --no-cache gcc g++ m4 perl python3 python3-dev bash make gawk git cmake libunwind-dev llvm-dev clang-dev clang-static llvm-static
RUN ./configure --prefix=/usr