Re: Cabal install fails, don't understand why

Volker Wysk <[email protected]>
Newsgroups gmane.comp.lang.haskell.cafe
Message-ID <[email protected]>
Hi, Brandon!

That's some interesting information...

Am Freitag, dem 29.03.2024 um 12:05 -0400 schrieb Brandon Allbery:
> The short version is what Francesco said. The longer version is that with
> modern cabal (and stack), libraries are managed by cabal/stack and you
> don't normally install them directly. 

My case is this. I've written a new version of the HsShellScript library,
and have uploaded it to Hackage. Now I wanted to use it to compile a script
(written in Haskell). I though it wouldn't hurt to install it, so the new
version is available. 

Now I understand that all I had to do is "cabal update", so the new
version's on cabal's radar. The new version would then be downloaded and
compiled automagically.

> For the cases where you need a library to be available outside cabal's
> implicit sandboxing, there is `cabal install --lib`; but be aware that
> multiple versions of packages in the resulting environment may cause other
> build problems down the line, and it's on you to manage the environment
> file as needed. 

Hmm... I've googled what that "environment file" is:
https://ghc.gitlab.haskell.org/ghc/doc/users_guide/packages.html#package-environments

I certainly don't want to manage it by hand.

> The proper way to work with libraries outside of a project is "cabal repl"
> or "stack ghci" as appropriate. For quick one-offs with cabal, you can use
> e.g. `cabal repl -b HsShellScript`. (I don't know the stack equivalent,
> sorry.)

What do you mean by "libraries outside of a project"? The library is one
project by itself. I don't (?) have any libraries outside of projects (that
I know of).

> This whole rigmarole is intended to avoid situations where multiple
> versions of libraries are in ghc's environment and it picks inconsistent
> versions, leading to the old "cabal hell".

I don't want to go there!!  ;-)

Thanks for your explanation. Now the question is: How do I get back to the
normal/regular state, without any library outside of a project? The next
version of my library will sure come...

Cheers, 
Volker


> On Fri, Mar 29, 2024 at 9:50 AM Volker Wysk <[email protected]> wrote:
> > Am Freitag, dem 29.03.2024 um 14:36 +0100 schrieb Francesco Ariis:
> > > Hello Volker,
> > > 
> > > Il 29 marzo 2024 alle 14:26 Volker Wysk ha scritto:
> > > > Hi
> > > > 
> > > > I've migrated my HsShellScript library to Cabal 3.0 and now I get an
> > > > error
> > > > when I try to install it:
> > > > 
> > > > -----snip-----
> > > > desktop /usr/local/src/hsshellscript $ cabal install --user
> > > > Wrote tarball sdist to
> > > > /usr/local/src/hsshellscript/dist-newstyle/sdist/hsshellscript-
> > > > 3.6.0.tar.gz
> > > > Resolving dependencies...
> > > > Error: cabal: Cannot build the executables in the package
> > > > hsshellscript
> > > > because it does not contain any executables. Check the .cabal file
> > > > for the
> > > > package and make sure that it properly declares the components that
> > > > you
> > > > expect.
> > > > -----snip-----
> > > 
> > > If you are trying to install a library, use
> > > 
> > >      cabal install --lib
> > > 
> > > and let us know if it worked as you expected
> > 
> > The install succeeds with "--lib". It had to be something stupid. It's
> > been
> > three years since I used cabal and meanwhile things look like they moved
> > forward.
> > 
> > There are other errors, but they don't look cabal-related.
> > 
> > Thanks for your help.
> > 
> > Volker
> > _______________________________________________
> > Haskell-Cafe mailing list
> > To (un)subscribe, modify options or view archives go to:
> > http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> > Only members subscribed via the mailman list are allowed to post.
> 
> 
> -- 
> brandon s allbery kf8nh
> [email protected]

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.