[Haskell-cafe] Re: ghc error: requested module name differs from name found in interface file

Larry Evans cppljevans at suddenlink.net
Tue Oct 21 19:55:35 EDT 2008


On 10/21/08 17:55, Duncan Coutts wrote:
> On Tue, 2008-10-21 at 09:41 -0500, Larry Evans wrote:
>> Just that one little piece of information, that |cabal install| , by
>> default, installs in ~/.cabal and then enables ghc to look there for
>> packages, would have saved an awful lot of time :(
> 
> Where would you like that information to have been presented? Perhaps
> something the first time you used the cabal command to say what
> configuration it was using?
> 
> Duncan

I'd suggest putting this information after the brief description of the
install option here:

   http://hackage.haskell.org/trac/hackage/wiki/CabalInstall

For example:

   Commands:
   install      Installs a list of packages.
     The 'visibility' of the install depends on whether
     --user or --global FLAG is used.  With --user,
     the package is only visible to the user invoking
     the cabal command.  With --global, the package is
     visible to all users; however, this requires root
     authority.
   list         List available packages on the server (cached).
   ...

I'm at fault for not reading:

   For more information about a command, try 'cabal COMMAND --help'.

lower down on that page.  I do remember actually doing

   cabal install --help

but I can't remember if that was after or before Bertrand's post.
However, even that command's description of the meaning of
--user and --global is obscured by so many other options, that
it's easy to miss.  Also their descriptions:

     --user                         Enable doing a per-user installation
     --global                       Disable doing a per-user installation

doesn't explain what 'per-user installation' means.  If it just said:

   A per-user installation means the installed package is only seen
   by the haskell compiler if the compiler is invoked by the same user
   which issued the 'cabal install' command.

That would have clearly indicated to me that the root doing
'cabal install' would not make the installed package available
to any other user. (I probably should have figured this out
by noting the location was /root/.cabal/...; however, that
just didn't happen.)

HTH and thanks for your interest.

-regards,
Larry



More information about the Haskell-Cafe mailing list