From: Christoph Schumacher <christoph.schumacher@mathematik.tu-dortmund.de>
To: 55178@debbugs.gnu.org
Subject: bug#55178: ghc cannot find libraries of ghc-comonad
Date: Fri, 29 Apr 2022 03:39:03 +0200 [thread overview]
Message-ID: <27d96a4a345b1d66cb4108dbfa27e79e@mathematik.tu-dortmund.de> (raw)
I found several bugs with the ghc and ghc-comonad packages:
- ghc needs gcc-toolchain in order to work. This has already been
reported:
https://issues.guix.gnu.org/32131 and
https://issues.guix.gnu.org/34850
- In the store, ghc-libraries seem to have the version appended to their
name.
The linker does not know this and cannot find the libraries.
- I created soft links with the names ghc expects in the current working
directory
and extended LIBRARY_PATH to include the current working directory.
Then linking succeeds.
- But the executable again fails to find the libraries.
It knows about the appended version strings, but it cannot find the
files anyway.
So I created more soft links, and now the simple test program runs.
- But as soon as I try to use a Comonad, the executable crashes.
Here is a minimal example:
> ls
LinkMe.hs
Main.hs
> cat LinkMe.hs
import Control.Comonad
main = putStrLn "Congratulations!"
> guix shell --pure ghc ghc-comonad -- ghc LinkMe.hs
[1 of 1] Compiling Main ( LinkMe.hs, LinkMe.o )
<no location info>: error:
Warning: Couldn't figure out C compiler information!
Make sure you're using GNU gcc, or clang
ghc: could not execute: gcc
> guix shell --pure ghc ghc-comonad gcc-toolchain -- ghc LinkMe.hs
[1 of 1] Compiling Main ( LinkMe.hs, LinkMe.o )
Linking LinkMe ...
ld: cannot find -lHScomonad-5.0.8-KDPzf2kORSz9Qeif8nQH6d
ld: cannot find -lHStransformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p
ld: cannot find -lHSindexed-traversable-0.1.1-Dfr00dUbJtB3rFEVdhtcE9
ld: cannot find -lHSdistributive-0.6.2.1-L7rr3EplzD03NITUnJxmCO
ld: cannot find -lHStagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2
ld: cannot find -lHSbase-orphans-0.8.5-Iz1X6ZIULaHC76vf03czEu
collect2: error: ld returned 1 exit status
`gcc' failed in phase `Linker'. (Exit code: 1)
> ln -s
> /gnu/store/7xfvafaxbpc88bjmvijg38pr8djjx465-ghc-base-orphans-0.8.5/lib/x86_64-linux-ghc-8.10.7/libHSbase-orphans-0.8.5-Iz1X6ZIULaHC76vf03czEu-ghc8.10.7.so
> libHSbase-orphans-0.8.5-Iz1X6ZIULaHC76vf03czEu.so
> ln -s
> /gnu/store/rjkyixykafdhbf67aa3zlhappxl1dgai-ghc-comonad-5.0.8/lib/x86_64-linux-ghc-8.10.7/libHScomonad-5.0.8-KDPzf2kORSz9Qeif8nQH6d-ghc8.10.7.so
> libHScomonad-5.0.8-KDPzf2kORSz9Qeif8nQH6d.so
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHSdistributive-0.6.2.1-L7rr3EplzD03NITUnJxmCO-ghc8.10.7.so
> libHSdistributive-0.6.2.1-L7rr3EplzD03NITUnJxmCO.so
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHSindexed-traversable-0.1.1-Dfr00dUbJtB3rFEVdhtcE9-ghc8.10.7.so
> libHSindexed-traversable-0.1.1-Dfr00dUbJtB3rFEVdhtcE9.so
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHStagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2-ghc8.10.7.so
> libHStagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2.so
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHStransformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p-ghc8.10.7.so
> libHStransformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p.so
> guix shell --pure ghc ghc-comonad gcc-toolchain coreutils -- env
> LIBRARY_PATH=$LIBRARY_PATH:. ghc LinkMe.hs
Linking LinkMe ...
> ./LinkMe
./LinkMe: error while loading shared libraries:
libHScomonad-5.0.8-KDPzf2kORSz9Qeif8nQH6d-ghc8.10.7.so: cannot open
shared object file: No such file or directory
> ln -s
> /gnu/store/rjkyixykafdhbf67aa3zlhappxl1dgai-ghc-comonad-5.0.8/lib/x86_64-linux-ghc-8.10.7/libHScomonad-5.0.8-KDPzf2kORSz9Qeif8nQH6d-ghc8.10.7.so
> ./
> ./LinkMe
./LinkMe: error while loading shared libraries:
libHStransformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p-ghc8.10.7.so:
cannot open shared object file: No such file or directory
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHStransformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p-ghc8.10.7.so
> ./
> ./LinkMe
./LinkMe: error while loading shared libraries:
libHSindexed-traversable-0.1.1-Dfr00dUbJtB3rFEVdhtcE9-ghc8.10.7.so:
cannot open shared object file: No such file or directory
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHSindexed-traversable-0.1.1-Dfr00dUbJtB3rFEVdhtcE9-ghc8.10.7.so
> ./
./LinkMe
./LinkMe: error while loading shared libraries:
libHSdistributive-0.6.2.1-L7rr3EplzD03NITUnJxmCO-ghc8.10.7.so: cannot
open shared object file: No such file or directory
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHSdistributive-0.6.2.1-L7rr3EplzD03NITUnJxmCO-ghc8.10.7.so
> ./
> ./LinkMe
./LinkMe: error while loading shared libraries:
libHStagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2-ghc8.10.7.so: cannot open
shared object file: No such file or directory
> ln -s
> /gnu/store/4jfs13lg5g93ssbfdr4hqqadw2iadir7-profile/lib/x86_64-linux-ghc-8.10.7/libHStagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2-ghc8.10.7.so
> ./
> ./LinkMe
./LinkMe: error while loading shared libraries:
libHSbase-orphans-0.8.5-Iz1X6ZIULaHC76vf03czEu-ghc8.10.7.so: cannot open
shared object file: No such file or directory
> ln -s
> /gnu/store/7xfvafaxbpc88bjmvijg38pr8djjx465-ghc-base-orphans-0.8.5/lib/x86_64-linux-ghc-8.10.7/libHSbase-orphans-0.8.5-Iz1X6ZIULaHC76vf03czEu-ghc8.10.7.so
> ./
> ./LinkMe
Congratulations!
> cat Main.hs
{-# LANGUAGE DeriveFunctor #-}
import Control.Comonad (Comonad(..), extend)
data C a = C a deriving (Show, Functor)
instance Comonad C where
extract (C a) = a
duplicate x = C x
main :: IO ()
main = print $ extend id (C 0)
> guix shell --pure ghc ghc-comonad gcc-toolchain coreutils -- env
> LIBRARY_PATH=$LIBRARY_PATH:. ghc Main.hs
[1 of 1] Compiling Main ( Main.hs, Main.o )
Linking Main ...
> guix shell --pure ghc ghc-comonad gcc-toolchain coreutils -- env
> LIBRARY_PATH=$LIBRARY_PATH:. ./Main
Main: internal error: stg_ap_p_ret
(GHC version 8.10.7 for x86_64_unknown_linux)
Please report this as a GHC bug:
https://www.haskell.org/ghc/reportabug
next reply other threads:[~2022-04-29 1:41 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-29 1:39 Christoph Schumacher [this message]
2023-01-21 12:49 ` bug#55178: ghc cannot find libraries of ghc-comonad Lars-Dominik Braun
2023-09-22 16:45 ` Simon Tournier
2023-10-03 21:29 ` cschumac
2023-10-04 17:59 ` Simon Tournier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=27d96a4a345b1d66cb4108dbfa27e79e@mathematik.tu-dortmund.de \
--to=christoph.schumacher@mathematik.tu-dortmund.de \
--cc=55178@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).