help-guix
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]