Skip to content
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

Fedora 32 package from petersen/stack2 missing gmp-devel dependency #5388

Closed
ianw opened this issue Sep 16, 2020 · 6 comments
Closed

Fedora 32 package from petersen/stack2 missing gmp-devel dependency #5388

ianw opened this issue Sep 16, 2020 · 6 comments

Comments

@ianw
Copy link

ianw commented Sep 16, 2020

Sorry but I'm not sure where to file this issue; so I'm taking a guess. The COPR repo at https://copr.fedorainfracloud.org/coprs/petersen/stack2/ is, I assume, somewhat offically related to this project because it's mentioned in the documentation at https://docs.haskellstack.org/en/stable/install_and_upgrade/

The Fedora 32 package appears to be missing a dependency on gmp-devel, which is required to run. Without we get

2020-09-15 07:59:16.072340 | TASK [ensure-haskell-stack : Setup stack LTS]
2020-09-15 07:59:18.077803 | fedora-32 | Writing implicit global project config file to: /home/zuul/.stack/global-project/stack.yaml
2020-09-15 07:59:18.077880 | fedora-32 | Note: You can change the snapshot via the resolver field there.
2020-09-15 07:59:18.254472 | fedora-32 | Using latest snapshot resolver: lts-16.14
2020-09-15 07:59:19.219328 | fedora-32 | Preparing to install GHC (tinfo6) to an isolated location.
2020-09-15 07:59:19.219380 | fedora-32 | This will not interfere with any system-level installation.
2020-09-15 07:59:19.220345 | fedora-32 | Preparing to download ghc-tinfo6-8.8.4 ...
2020-09-15 07:59:19.588912 | fedora-32 | ghc-tinfo6-8.8.4: download has begun
2020-09-15 07:59:20.589585 | fedora-32 | ghc-tinfo6-8.8.4:   25.23 MiB / 198.61 MiB ( 12.70%) downloaded...
2020-09-15 07:59:21.589781 | fedora-32 | ghc-tinfo6-8.8.4:   51.84 MiB / 198.61 MiB ( 26.10%) downloaded...
2020-09-15 07:59:22.590322 | fedora-32 | ghc-tinfo6-8.8.4:   78.87 MiB / 198.61 MiB ( 39.71%) downloaded...
2020-09-15 07:59:23.590532 | fedora-32 | ghc-tinfo6-8.8.4:  102.53 MiB / 198.61 MiB ( 51.62%) downloaded...
2020-09-15 07:59:24.591107 | fedora-32 | ghc-tinfo6-8.8.4:  128.00 MiB / 198.61 MiB ( 64.44%) downloaded...
2020-09-15 07:59:25.591377 | fedora-32 | ghc-tinfo6-8.8.4:  155.28 MiB / 198.61 MiB ( 78.18%) downloaded...
2020-09-15 07:59:26.591505 | fedora-32 | ghc-tinfo6-8.8.4:  186.04 MiB / 198.61 MiB ( 93.67%) downloaded...
2020-09-15 07:59:27.027332 | fedora-32 | ghc-tinfo6-8.8.4:  198.61 MiB / 198.61 MiB (100.00%) downloaded...
2020-09-15 07:59:27.027384 | fedora-32 | Downloaded ghc-tinfo6-8.8.4.
2020-09-15 07:59:27.027747 | fedora-32 | Unpacking GHC into /home/zuul/.stack/programs/x86_64-linux/ghc-tinfo6-8.8.4.temp/ ...
2020-09-15 08:00:01.801954 | fedora-32 | Configuring GHC ...
2020-09-15 08:00:10.295869 | fedora-32 | Installing GHC ...
2020-09-15 08:01:13.924979 | fedora-32 | Installed GHC.
2020-09-15 08:01:16.667484 | fedora-32 | The GHC located at /home/zuul/.stack/programs/x86_64-linux/ghc-tinfo6-8.8.4/bin/ghc-8.8.4 failed to compile a sanity check. Please see:
2020-09-15 08:01:16.667539 | fedora-32 |
2020-09-15 08:01:16.667553 | fedora-32 |     http://docs.haskellstack.org/en/stable/install_and_upgrade/
2020-09-15 08:01:16.667564 | fedora-32 |
2020-09-15 08:01:16.667575 | fedora-32 | for more information. Exception was:
2020-09-15 08:01:16.667592 | fedora-32 | Received ExitFailure 1 when running
2020-09-15 08:01:16.667604 | fedora-32 | Raw command: /home/zuul/.stack/programs/x86_64-linux/ghc-tinfo6-8.8.4/bin/ghc-8.8.4 /tmp/stack-sanity-check-c613f9072412b721/Main.hs -no-user-package-db
2020-09-15 08:01:16.667616 | fedora-32 | Run from: /tmp/stack-sanity-check-c613f9072412b721/
2020-09-15 08:01:16.667627 | fedora-32 | Standard output:
2020-09-15 08:01:16.667638 | fedora-32 |
2020-09-15 08:01:16.667649 | fedora-32 | [1 of 1] Compiling Main             ( /tmp/stack-sanity-check-c613f9072412b721/Main.hs, /tmp/stack-sanity-check-c613f9072412b721/Main.o )
2020-09-15 08:01:16.667661 | fedora-32 | Linking /tmp/stack-sanity-check-c613f9072412b721/Main ...
2020-09-15 08:01:16.667671 | fedora-32 | Standard error:
2020-09-15 08:01:16.667682 | fedora-32 |
2020-09-15 08:01:16.667693 | fedora-32 | /usr/bin/ld.gold: error: cannot find -lgmp
2020-09-15 08:01:16.667707 | fedora-32 | collect2: error: ld returned 1 exit status
2020-09-15 08:01:16.667718 | fedora-32 | `gcc' failed in phase `Linker'. (Exit code: 1)

I don't quite understand why, because it seems like the .spec at https://copr-dist-git.fedorainfracloud.org/cgit/petersen/stack2/stack.git/tree/stack.spec?h=f32#n142 tries to have it as a dependency.

# dnf repoquery --alldeps --whatdepends stack
Last metadata expiration check: 0:04:25 ago on Wed 16 Sep 2020 01:02:57.
haskell-platform-0:2020.1-2.fc32.x86_64
[root@fedora-32-rax-iad-0019846144 ~]# dnf deplist  stack
Last metadata expiration check: 0:05:00 ago on Wed 16 Sep 2020 01:02:57.
package: stack-2.1.3.1-1.fc31.src
  dependency: cabal-install
   provider: cabal-install-2.4.1.0-2.fc32.x86_64
  dependency: ghc-Cabal-devel
   provider: ghc-Cabal-devel-2.4.0.1-102.fc32.x86_64
  dependency: ghc-aeson-devel
   provider: ghc-aeson-devel-1.4.6.0-1.fc32.x86_64
  dependency: ghc-annotated-wl-pprint-devel
   provider: ghc-annotated-wl-pprint-devel-0.7.0-9.fc32.x86_64
  dependency: ghc-ansi-terminal-devel
   provider: ghc-ansi-terminal-devel-0.9.1-1.fc32.x86_64
  dependency: ghc-array-devel
   provider: ghc-array-devel-0.5.3.0-102.fc32.x86_64
  dependency: ghc-async-devel
   provider: ghc-async-devel-2.2.2-2.fc32.x86_64
  dependency: ghc-attoparsec-devel
   provider: ghc-attoparsec-devel-0.13.2.3-1.fc32.x86_64
  dependency: ghc-base64-bytestring-devel
   provider: ghc-base64-bytestring-devel-1.0.0.3-1.fc32.x86_64
  dependency: ghc-bytestring-devel
   provider: ghc-bytestring-devel-0.10.8.2-102.fc32.x86_64
  dependency: ghc-colour-devel
   provider: ghc-colour-devel-2.3.5-2.fc32.x86_64
  dependency: ghc-conduit-devel
   provider: ghc-conduit-devel-1.3.1.2-1.fc32.x86_64
  dependency: ghc-conduit-extra-devel
   provider: ghc-conduit-extra-devel-1.3.4-1.fc32.x86_64
  dependency: ghc-containers-devel
   provider: ghc-containers-devel-0.6.0.1-102.fc32.x86_64
  dependency: ghc-cryptonite-conduit-devel
   provider: ghc-cryptonite-conduit-devel-0.2.2-10.fc32.x86_64
  dependency: ghc-cryptonite-devel
   provider: ghc-cryptonite-devel-0.25-7.fc32.x86_64
  dependency: ghc-deepseq-devel
   provider: ghc-deepseq-devel-1.4.4.0-102.fc32.x86_64
  dependency: ghc-directory-devel
   provider: ghc-directory-devel-1.3.3.0-102.fc32.x86_64
  dependency: ghc-echo-devel
   provider: ghc-echo-devel-0.1.3-10.fc32.x86_64
  dependency: ghc-exceptions-devel
   provider: ghc-exceptions-devel-0.10.4-1.fc32.x86_64
  dependency: ghc-extra-devel
   provider: ghc-extra-devel-1.6.18-1.fc32.x86_64
  dependency: ghc-file-embed-devel
   provider: ghc-file-embed-devel-0.0.11.1-1.fc32.x86_64
  dependency: ghc-filepath-devel
   provider: ghc-filepath-devel-1.4.2.1-102.fc32.x86_64
  dependency: ghc-fsnotify-devel
   provider: ghc-fsnotify-devel-0.3.0.1-5.fc32.x86_64
  dependency: ghc-generic-deriving-devel
   provider: ghc-generic-deriving-devel-1.12.4-4.fc32.x86_64
  dependency: ghc-githash-devel
   provider: ghc-githash-devel-0.1.3.1-5.fc32.x86_64
  dependency: ghc-hackage-security-devel
   provider: ghc-hackage-security-devel-0.5.3.0-9.fc32.x86_64
  dependency: ghc-hashable-devel
   provider: ghc-hashable-devel-1.2.7.0-6.fc32.x86_64
  dependency: ghc-hpc-devel
   provider: ghc-hpc-devel-0.6.0.3-102.fc32.x86_64
  dependency: ghc-http-client-devel
   provider: ghc-http-client-devel-0.6.4-1.fc32.x86_64
  dependency: ghc-http-client-tls-devel
   provider: ghc-http-client-tls-devel-0.3.5.3-10.fc32.x86_64
  dependency: ghc-http-conduit-devel
   provider: ghc-http-conduit-devel-2.3.7.3-1.fc32.x86_64
  dependency: ghc-http-types-devel
   provider: ghc-http-types-devel-0.12.3-2.fc32.x86_64
  dependency: ghc-memory-devel
   provider: ghc-memory-devel-0.14.18-5.fc32.x86_64
  dependency: ghc-microlens-devel
   provider: ghc-microlens-devel-0.4.10-2.fc32.x86_64
  dependency: ghc-mono-traversable-devel
   provider: ghc-mono-traversable-devel-1.0.15.1-1.fc32.x86_64
  dependency: ghc-mtl-devel
   provider: ghc-mtl-devel-2.2.2-102.fc32.x86_64
  dependency: ghc-network-uri-devel
   provider: ghc-network-uri-devel-2.6.2.0-1.fc32.x86_64
  dependency: ghc-optparse-applicative-devel
   provider: ghc-optparse-applicative-devel-0.14.3.0-5.fc32.x86_64
  dependency: ghc-optparse-simple-devel
   provider: ghc-optparse-simple-devel-0.1.1.2-5.fc32.x86_64
  dependency: ghc-persistent-devel
   provider: ghc-persistent-devel-2.9.2-3.fc32.x86_64
  dependency: ghc-persistent-sqlite-devel
   provider: ghc-persistent-sqlite-devel-2.9.3-3.fc32.x86_64
  dependency: ghc-persistent-template-devel
   provider: ghc-persistent-template-devel-2.6.0-1.fc32.x86_64
  dependency: ghc-pretty-devel
   provider: ghc-pretty-devel-1.1.3.6-102.fc32.x86_64
  dependency: ghc-primitive-devel
   provider: ghc-primitive-devel-0.6.4.0-6.fc32.x86_64
  dependency: ghc-process-devel
   provider: ghc-process-devel-1.6.5.0-102.fc32.x86_64
  dependency: ghc-resource-pool-devel
   provider: ghc-resource-pool-devel-0.2.3.2-17.fc32.x86_64
  dependency: ghc-resourcet-devel
   provider: ghc-resourcet-devel-1.2.2-5.fc32.x86_64
  dependency: ghc-rio-devel
   provider: ghc-rio-devel-0.1.14.0-1.fc32.x86_64
  dependency: ghc-rpm-macros
   provider: ghc-rpm-macros-2.0.9-1.fc32.noarch
  dependency: ghc-semigroups-devel
   provider: ghc-semigroups-devel-0.18.5-6.fc32.x86_64
  dependency: ghc-split-devel
   provider: ghc-split-devel-0.2.3.3-7.fc32.x86_64
  dependency: ghc-stm-devel
   provider: ghc-stm-devel-2.5.0.0-102.fc32.x86_64
  dependency: ghc-streaming-commons-devel
   provider: ghc-streaming-commons-devel-0.2.1.2-1.fc32.x86_64
  dependency: ghc-tar-devel
   provider: ghc-tar-devel-0.5.1.1-1.fc32.x86_64
  dependency: ghc-template-haskell-devel
   provider: ghc-template-haskell-devel-2.14.0.0-102.fc32.x86_64
  dependency: ghc-temporary-devel
   provider: ghc-temporary-devel-1.3-5.fc32.x86_64
  dependency: ghc-terminal-size-devel
   provider: ghc-terminal-size-devel-0.3.2.1-12.fc32.x86_64
  dependency: ghc-text-devel
   provider: ghc-text-devel-1.2.3.1-102.fc32.x86_64
  dependency: ghc-th-reify-many-devel
   provider: ghc-th-reify-many-devel-0.1.9-3.fc32.x86_64
  dependency: ghc-time-devel
   provider: ghc-time-devel-1.8.0.2-102.fc32.x86_64
  dependency: ghc-tls-devel
   provider: ghc-tls-devel-1.4.1-10.fc32.x86_64
  dependency: ghc-transformers-devel
   provider: ghc-transformers-devel-0.5.6.2-102.fc32.x86_64
  dependency: ghc-typed-process-devel
   provider: ghc-typed-process-devel-0.2.6.0-1.fc32.x86_64
  dependency: ghc-unix-compat-devel
   provider: ghc-unix-compat-devel-0.5.2-1.fc32.x86_64
  dependency: ghc-unix-devel
   provider: ghc-unix-devel-2.7.2.2-102.fc32.x86_64
  dependency: ghc-unliftio-devel
   provider: ghc-unliftio-devel-0.2.12-1.fc32.x86_64
  dependency: ghc-unordered-containers-devel
   provider: ghc-unordered-containers-devel-0.2.10.0-2.fc32.x86_64
  dependency: ghc-vector-devel
   provider: ghc-vector-devel-0.12.1.2-1.fc32.x86_64
  dependency: ghc-yaml-devel
   provider: ghc-yaml-devel-0.11.2.0-4.fc32.x86_64
  dependency: ghc-zip-archive-devel
   provider: ghc-zip-archive-devel-0.4.1-3.fc32.x86_64
  dependency: ghc-zlib-devel
   provider: ghc-zlib-devel-0.6.2.1-1.fc32.x86_64
  dependency: zlib-devel
   provider: zlib-devel-1.2.11-21.fc32.i686
   provider: zlib-devel-1.2.11-21.fc32.x86_64

package: stack-2.1.3.1-1.fc31.x86_64
  dependency: gcc
   provider: gcc-10.2.1-1.fc32.x86_64
  dependency: gmp-devel
   provider: gmp-devel-1:6.1.2-13.fc32.i686
   provider: gmp-devel-1:6.1.2-13.fc32.x86_64
  dependency: libc.so.6(GLIBC_2.28)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libdl.so.2()(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libdl.so.2(GLIBC_2.2.5)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libffi.so.6()(64bit)
   provider: libffi-3.1-24.fc32.x86_64
  dependency: libgmp.so.10()(64bit)
   provider: gmp-1:6.1.2-13.fc32.x86_64
  dependency: libm.so.6()(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libm.so.6(GLIBC_2.2.5)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libm.so.6(GLIBC_2.27)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libm.so.6(GLIBC_2.29)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0()(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0(GLIBC_2.12)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0(GLIBC_2.3.2)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libz.so.1()(64bit)
   provider: zlib-1.2.11-21.fc32.x86_64
  dependency: ncurses-compat-libs
   provider: ncurses-compat-libs-6.1-15.20191109.fc32.i686
   provider: ncurses-compat-libs-6.1-15.20191109.fc32.x86_64
  dependency: rtld(GNU_HASH)
   provider: glibc-2.31-4.fc32.i686
   provider: glibc-2.31-4.fc32.x86_64

package: stack-2.1.3.1-2.fc32.x86_64
  dependency: libc.so.6(GLIBC_2.17)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libdl.so.2()(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libdl.so.2(GLIBC_2.2.5)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libffi.so.6()(64bit)
   provider: libffi-3.1-24.fc32.x86_64
  dependency: libgmp.so.10()(64bit)
   provider: gmp-1:6.1.2-13.fc32.x86_64
  dependency: libm.so.6()(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libm.so.6(GLIBC_2.2.5)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libm.so.6(GLIBC_2.27)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libm.so.6(GLIBC_2.29)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0()(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0(GLIBC_2.12)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libpthread.so.0(GLIBC_2.3.2)(64bit)
   provider: glibc-2.31-4.fc32.x86_64
  dependency: libsqlite3.so.0()(64bit)
   provider: sqlite-libs-3.33.0-1.fc32.x86_64
  dependency: libyaml-0.so.2()(64bit)
   provider: libyaml-0.2.2-3.fc32.x86_64
  dependency: libz.so.1()(64bit)
   provider: zlib-1.2.11-21.fc32.x86_64
  dependency: rtld(GNU_HASH)
   provider: glibc-2.31-4.fc32.i686
   provider: glibc-2.31-4.fc32.x86_64
  dependency: zlib-devel
   provider: zlib-devel-1.2.11-21.fc32.i686
   provider: zlib-devel-1.2.11-21.fc32.x86_64

CC @juhp who I believe maintains this?

CC @TristanCacqueray who added this at https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-haskell-stack/tasks/main.yaml

@juhp
Copy link
Contributor

juhp commented Sep 16, 2020

Let me take a look at that, not sure what's going on (it's okay for me personally to report it here though you could also report it under https://github.com/fedora-haskell/stack/issues, which is the correct downstream place, linked from the Copr:).

Also noting that stack is now already (sub)packaged in Fedora, though F32 is still on stack 2.1 (F33 will have 2.3): I should check that it also pulls in gmp correctly...

Edit well nvm the stack2 copr is only 2.1 as well (I have a newer petersen/stack-2.3 copr), but anyway I would suggest just to use the Fedora package unless Zuul really needs 2.3.

@juhp
Copy link
Contributor

juhp commented Sep 16, 2020

Ah my guess is that you are actually using the Fedora package already not the copr one, since it is missing the gmp-devel dependency: I am going to fix that now... If you look at your deplist output you can see that the Fedora package is missing the Requires: I will also add gcc. (So actually the right place to report this should now be Fedora bugzilla under haskell-platform but that's okay.)

So right now the best workaround is either to explicitly pull in gmp-devel (and gcc I think), or use the older stack-2.1.3.1-1.fc31 build from petersen/stack2 until the fix goes stable: the former is probably easier.

@TristanCacqueray
Copy link

Thank you for the details, it seems like the role would pick the copr if the fedora package is not available. Here is a change that will ensure both gmp-devel and gcc are installed: https://review.opendev.org/752225

@juhp
Copy link
Contributor

juhp commented Sep 17, 2020

Cool, I have pushed haskell-platform builds containing the fix to the stack subpackage to Fedora Bodhi:
https://bodhi.fedoraproject.org/updates/FEDORA-2020-8aa896da5b

@juhp
Copy link
Contributor

juhp commented Sep 17, 2020

Also I am going to hide F32+ from petersen/stack2 copr, since it is now obsoleted by the fedora packaging.

Thanks @ianw I opened #5389 too to update the upstream documentation.

Do let me know if you see any other Fedora problems, thank you.

@juhp
Copy link
Contributor

juhp commented Nov 10, 2020

This was fixed in the following Fedora Updates in Sept:

  • stack-2.3.3-6.fc33
  • stack-2.1.3.1-3.fc32
  • stack-1.9.3.1-2.fc31

(Hoping we can getting a newer version of stack in Fedora 34).

This issue can be closed.

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

No branches or pull requests

4 participants