[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Haskell program build and run using Cabal
From: |
Bone Baboon |
Subject: |
Haskell program build and run using Cabal |
Date: |
Sat, 10 Apr 2021 23:23:42 -0400 |
I am trying to build a Haskell program from source and run it. I am
using Cabal a Haskell build tool to do this. I am able to build and run
this program without the following error messages on other Linux
operating systems.
`cabal --version` outputs:
```
cabal-install version 2.4.0.0
compiled using version 2.4.0.1 of the Cabal library
```
I have installed GHC a Haskell compiler. When I run `ghc --version` it
outputs:
```
The Glorious Glasgow Haskell Compilation System, version 8.6.5
```
When I run `cabal new-build` it outputs:
```
cabal: Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with
Cabal. Use the flag --package-db to specify a package database (it can be used
multiple times).
```
After running `unset GHC_PACKAGE_PATH` I can build the program with
`cabal new-build`. `unset GHC_PACKAGE_PATH` does not persist across
different terminal emulator instances.
Then when I try to run the program using `cabal new-run` I get this
error message:
```
error while loading shared libraries: libgmp.so.10: cannot open shared object
file: No such file or directory
```
I added `gmp` to my system configuration and reconfigured the system.
However the error persists.
The command `locate libgmp.so.10` shows that libgmp.so.10 is in the
store.
Doing an internet search for this error message shows people dealing
with it by setting environment variables.
With Cabal's `new-build` and `new-run` commands I am running into issues
with environment variables. Are environment variables managed in Guix
system configurations? I searched the Guix manual for the search term
"environment variable" and did not see a prominent section on
environment variables. That leads me to guess that in Guix environment
variables are left to configuration files in the users home directory.
- Haskell program build and run using Cabal,
Bone Baboon <=