Cabal related sandboxes - shared libraries not found from `cabal repl`

I have two packages that I am developing, A and B Package B depends on A

A was developed in its own sandbox, and a similar story for B :

 A> cabal sandbox init A> cabal install --enable-shared B> cabal sandbox init B> cabal sandbox add-source ../A/ B> cabal install 

also note that shared: True is in my ~/.cabal/config .

Everything looks good here, they are both perfectly installed. However, when working on B , if I cabal repl , cabal-install tells me that it cannot load the libAsomething.so/.dll file. What is wrong here?

Here is the exact error:

 ... Loading package mtl-0.0.1 ... linking ... done. Loading package A-0.0.0 ... <command line>: can't load .so/.DLL for: /home/athan/dev/A/.cabal-sandbox/lib/x86_64-linux-ghc-7.8.3/A-0.0.0/libHSA-0.0.0-ghc7.8.3.so (/home/athan/dev/foo/B/.cabal-sandbox/lib/x86_64-linux-ghc-7.8.3/A-0.0.0/libHSA-0.0.0-ghc7.8.3.so: undefined symbol: AsomethingCrazyInAmodule_closure) 

Edit:

I am using GHC 7.8.3 and cabal-install 1.20.0.3.

+7
haskell shared-libraries cabal cabal-install
source share
1 answer

Is only one sandbox used for you?

 (unpack A into src/A) (unpack B into src/B) cd src/B cabal sandbox init cabal add-source ../src/A cabal install -- builds both A and B 

Now there is only one sandbox (located in src / B).

+2
source share

All Articles