Skip to content

Update DOCKER_PG_LLVM_DEPS for Alpine 3.21 #1296

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ImreSamu opened this issue Dec 3, 2024 · 4 comments · Fixed by #1299
Closed

Update DOCKER_PG_LLVM_DEPS for Alpine 3.21 #1296

ImreSamu opened this issue Dec 3, 2024 · 4 comments · Fixed by #1299

Comments

@ImreSamu
Copy link
Contributor

ImreSamu commented Dec 3, 2024

Currently,
the Alpine DOCKER_PG_LLVM_DEPS variable is locked to LLVM15 {{ def llvmver: "15" -}}

With the upcoming release of Alpine 3.21, it would be advisable to switch back to the repository's current LLVM version,
which is expected to be LLVM19.

As far as I know, several fixes have been introduced to address the original issue:

I am not sure what compatibility issues might arise from upgrading existing installations,
but it seems unlikely to cause significant problems in the next Alpine release.

important:

@ImreSamu
Copy link
Contributor Author

ImreSamu commented Dec 5, 2024

Alpine Linux 3.21.0 Released

@yosifkit
Copy link
Member

yosifkit commented Dec 5, 2024

So, to minimize possible incompatibilities, we only move to a newer llvm for Alpine 3.21. I am working on a PR and I think we still have to hard code to a specific value since installing llvm-dev brings in 17 (and I think we still need to set LLVM_CONFIG and CLANG variables). But is llvm19 the best choice when Alpine has chosen llvm16 for their postgresql 14 and 15 packages?

@ImreSamu
Copy link
Contributor Author

ImreSamu commented Dec 5, 2024

Ouch, this really isn’t as simple as I thought.

imho: Any progress is good, and it would really be great to avoid unnecessary risks because they are not good for the users either – plus, they require extra support from the maintainers.

For this reason, even the LLVM version chosen by the current Alpine seems fine to me.
In other words:

  • pg13...pg16: llvm16
  • pg17... : llvm18

Based on this - assuming that edge~=3.21:

$ docker run -it --rm alpine:edge sh -c "apk add postgresql15-jit" | grep llvm
(21/22) Installing llvm16-libs (16.0.6-r8)
$ docker run -it --rm alpine:edge sh -c "apk add postgresql16-jit" | grep llvm
(21/22) Installing llvm16-libs (16.0.6-r8)
$ docker run -it --rm alpine:edge sh -c "apk add postgresql17-jit" | grep llvm
(21/22) Installing llvm18-libs (18.1.8-r1)

@yosifkit
Copy link
Member

yosifkit commented Dec 5, 2024

PR incoming with the most progressive option: trying them all at llvm19 in Alpine 3.21. Once the Alpine 3.21 images are published to Docker Hub, we can restart the tests to see what works and which should be pulled back on llvm version.

yosifkit added a commit to infosiftr/postgres that referenced this issue Dec 5, 2024
yosifkit added a commit to infosiftr/postgres that referenced this issue Dec 5, 2024
@tianon tianon closed this as completed in 17818f2 Dec 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants