Skip to content

Fix #48622 - Setup broken on MacOs - #12324

Merged
c-knof merged 5 commits into
ILIAS-eLearning:trunkfrom
kroepelin-projekte:fix/trunk/ck/48622-setup-macos
Oct 29, 2026
Merged

c-knof merged 5 commits into
ILIAS-eLearning:trunkfrom
kroepelin-projekte:fix/trunk/ck/48622-setup-macos

Conversation

@c-knof

@c-knof c-knof commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

https://mantis.ilias.de/view.php?id=48622

setup build aborted on macOS and BSD because it looked for the glibc locale C.utf8, and the C library there ignores LOCPATH anyway.

  • On macOS and BSD, NativeGettext activates the system locale en_US.UTF-8 and the build ships no locale. Linux (glibc) is unchanged.
  • Each locale kind keeps its own pointer (current.json for glibc, current-system.json for macOS/BSD) and cleans up only its own builds. So composer install on a Mac host no longer replaces the build of a Linux container. The language administration hints at a newer build of the other kind.
  • The tests no longer assume glibc, the temp path or uid 33.
  • docs/configuration/install.md mentions macOS/BSD and that the build runs on the system that serves ILIAS.

No public signature changes. Checked on macOS arm64 (Homebrew PHP 8.5) and FreeBSD 14.2 with GitHub Actions: composer install with setup build, the Language tests and translations over several web requests in one process.

`setup build` aborted on macOS and BSD because it looked for the glibc locale `C.utf8`, whose C library there
ignores `LOCPATH`. `NativeGettext` now activates a system locale (`SYSTEM_LOCALES`) on these platforms and
`ShippedTranslationsBuild` ships no locale there. The manifest records locale kind and platform, so a glibc web
server reports a build made on macOS/BSD (`ShippedTranslationsBuild::platformProblem()`). The tests no longer
assume glibc, the temp path or uid 33. Checked on macOS arm64 (Homebrew PHP 8.5) and FreeBSD 14.2.
On macOS with ILIAS in Docker, `composer install` on the host builds with a system locale and replaced the build
of the Linux container. glibc keeps `current.json`, macOS/BSD use `current-system.json`, and each kind cleans up
only its own builds. If the build of the other kind is newer, the language administration shows a hint.
@c-knof c-knof added bugfix php Pull requests that update Php code labels Oct 29, 2026
@c-knof
c-knof merged commit 56a4993 into ILIAS-eLearning:trunk Oct 29, 2026
5 checks passed
@c-knof
c-knof deleted the fix/trunk/ck/48622-setup-macos branch October 29, 2026 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant