-
-
Notifications
You must be signed in to change notification settings - Fork 1
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
GHC 9.10.1: Waiting for cabal-install
v3.12.[0|1].0 to be released
#8
Comments
Even if diff --git a/latest.Dockerfile b/latest.Dockerfile
index 0b90abe..39185f7 100644
--- a/latest.Dockerfile
+++ b/latest.Dockerfile
@@ -5,7 +5,7 @@ ARG STACK_VERSION
ARG GHC_VERSION_BUILD=${GHC_VERSION}
ARG CABAL_VERSION_BUILD=${CABAL_VERSION}
-FROM glcr.b-data.ch/ghc/ghc-musl:9.6.5 as bootstrap
+FROM glcr.b-data.ch/ghc/ghc-musl:9.8.2 as bootstrap
RUN apk upgrade --no-cache \
&& apk add --no-cache \
@@ -36,9 +36,9 @@ RUN cd /tmp \
&& curl -sSLO https://downloads.haskell.org/~ghc/"$GHC_VERSION"/ghc-"$GHC_VERSION"-src.tar.xz \
&& curl -sSLO https://downloads.haskell.org/~ghc/"$GHC_VERSION"/ghc-"$GHC_VERSION"-src.tar.xz.sig \
&& gpg --keyserver hkps://keyserver.ubuntu.com:443 \
- --receive-keys 88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 || \
+ --receive-keys FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD || \
gpg --keyserver hkp://keyserver.ubuntu.com:80 \
- --receive-keys 88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 \
+ --receive-keys FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD \
&& gpg --verify "ghc-$GHC_VERSION-src.tar.xz.sig" "ghc-$GHC_VERSION-src.tar.xz" \
&& tar -xJf "ghc-$GHC_VERSION-src.tar.xz" \
&& cd "ghc-$GHC_VERSION" \
@@ -51,6 +51,8 @@ RUN cd /tmp \
&& sed -i -e 's/unknown-linux-gnueabi/alpine-linux/g' llvm-targets \
&& sed -i -e 's/unknown-linux-gnu/alpine-linux/g' llvm-targets \
&& cabal update \
+ && cabal install alex \
+ && export PATH=/root/.local/bin:$PATH \
## See https://unix.stackexchange.com/questions/519092/what-is-the-logic-of-using-nproc-1-in-make-command
&& hadrian/build binary-dist -j"$(($(nproc)+1))" \
--flavour=perf+llvm+split_sections \
the build fails:
|
Providing diff --git a/latest.Dockerfile b/latest.Dockerfile
index 0b90abe..c97b669 100644
--- a/latest.Dockerfile
+++ b/latest.Dockerfile
@@ -5,7 +5,7 @@ ARG STACK_VERSION
ARG GHC_VERSION_BUILD=${GHC_VERSION}
ARG CABAL_VERSION_BUILD=${CABAL_VERSION}
-FROM glcr.b-data.ch/ghc/ghc-musl:9.6.5 as bootstrap
+FROM glcr.b-data.ch/ghc/ghc-musl:9.8.2 as bootstrap
RUN apk upgrade --no-cache \
&& apk add --no-cache \
@@ -13,6 +13,7 @@ RUN apk upgrade --no-cache \
automake \
binutils-gold \
build-base \
+ clang14 \
coreutils \
cpio \
curl \
@@ -36,14 +37,14 @@ RUN cd /tmp \
&& curl -sSLO https://downloads.haskell.org/~ghc/"$GHC_VERSION"/ghc-"$GHC_VERSION"-src.tar.xz \
&& curl -sSLO https://downloads.haskell.org/~ghc/"$GHC_VERSION"/ghc-"$GHC_VERSION"-src.tar.xz.sig \
&& gpg --keyserver hkps://keyserver.ubuntu.com:443 \
- --receive-keys 88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 || \
+ --receive-keys FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD || \
gpg --keyserver hkp://keyserver.ubuntu.com:80 \
- --receive-keys 88B57FCF7DB53B4DB3BFA4B1588764FBE22D19C4 \
+ --receive-keys FFEB7CE81E16A36B3E2DED6F2DE04D4E97DB64AD \
&& gpg --verify "ghc-$GHC_VERSION-src.tar.xz.sig" "ghc-$GHC_VERSION-src.tar.xz" \
&& tar -xJf "ghc-$GHC_VERSION-src.tar.xz" \
&& cd "ghc-$GHC_VERSION" \
&& ./boot.source \
- && ./configure --disable-ld-override LD=ld.gold \
+ && ./configure \
## Use the LLVM backend
## Switch llvm-targets from unknown-linux-gnueabihf->alpine-linux
## so we can match the llvm vendor string alpine uses
@@ -51,6 +52,8 @@ RUN cd /tmp \
&& sed -i -e 's/unknown-linux-gnueabi/alpine-linux/g' llvm-targets \
&& sed -i -e 's/unknown-linux-gnu/alpine-linux/g' llvm-targets \
&& cabal update \
+ && cabal install alex \
+ && export PATH=/root/.local/bin:$PATH \
## See https://unix.stackexchange.com/questions/519092/what-is-the-logic-of-using-nproc-1-in-make-command
&& hadrian/build binary-dist -j"$(($(nproc)+1))" \
--flavour=perf+llvm+split_sections \
@@ -88,6 +91,7 @@ RUN apk add --no-cache \
bzip2 \
bzip2-dev \
bzip2-static \
+ clang14 \
curl \
curl-static \
dpkg \
@@ -124,7 +128,7 @@ RUN cd /tmp \
## Install GHC
&& tar -xJf ghc-"$GHC_VERSION"-*-alpine-linux.tar.xz \
&& cd ghc-"$GHC_VERSION"-*-alpine-linux \
- && ./configure --disable-ld-override \
+ && ./configure \
&& make install \
## Install Stack
&& cd /tmp \
configures to
and builds successfully. |
Waiting for Cross-references: |
latest.Dockerfile
cabal-install
v3.12.0.0 to be released
cabal-install
v3.12.0.0 to be releasedcabal-install
v3.12.[0|1].0 to be released
@benz0li a Cabal dev here. We hate blocking people. Have you considered using the pre-release in the meantime? https://discourse.haskell.org/t/ann-cabal-3-12-0-0-released/9504#how-to-get-the-cabal-install-pre-release-3 |
No worries.
No. GHCup is deliberately avoided when creating these GHC musl1 docker images. The same applies to its Dev Containers – which include the full Haskell Toolchain. Footnotes |
I might install cabal-install-v3.12.0.0-prerelease from source, though. Seems like resolving haskell/cabal#9885 will take some more time. |
Ghcup in that post is completely accidental: it's just a fancy way to
It's an alpine build, so should work well in your environment. |
@ulysses4ever I build cabal-install-v3.12.0.0-prerelease from source with GHC v9.10.1 on Lines 148 to 161 in b0c19b9
ℹ️ Building with GHC v9.10.1 requires hashable v1.4.4.0 which was uploaded at |
Build pipeline: https://gitlab.b-data.ch/ghc/ghc-musl/-/pipelines/28693 |
I'm glad you found a solution! |
We haven't got around to updating to GHC 9.10, indeed but there's work in progress. The hashable version is an known issue, indeed. The |
It is not, because of
and others. ℹ️ |
ah, I see. We tend to be more precise (e.g. |
Modification:
Build:
docker build \ --build-arg GHC_VERSION=9.10.1 \ --build-arg CABAL_VERSION=3.10.3.0 \ --build-arg STACK_VERSION=2.15.7 \ -t ghc-musl \ -f latest.Dockerfile .
Error:
@bgamari Why is
alex
required now?The text was updated successfully, but these errors were encountered: