[Haskell-cafe] Guidance on symbol error

Claude Heiland-Allen claude at mathr.co.uk
Mon Nov 7 13:14:11 UTC 2016


Hi Christopher,

On 05/11/16 18:15, Christopher Howard wrote:
> Hi list. I'm trying to build gruff on Debian Jessie with GHC 7.6.3. I'm
> building gruff-0.3.3 because gruff-0.3.4 dependencies seem to be too new
> for Jessie. I was able to build all the dependencies of gruff-0.3.3
> (after installing a ton of -dev packages). But when cabal tries to build
> the gruff package itself, I get this error:
> 
> /usr/bin/ld: dist/build/gruff/gruff-tmp/src/compute.o: undefined
> reference to symbol '_ZdaPv@@GLIBCXX_3.4'
> //usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO
> missing from command line
> 
> It's been quite a while since I did any C++ programming... could
> somebody clarify for me what this means? Thank you.

This means the linker in Jessie is stricter than the linker used in
development, about needing to specify all link objects explicitly.

The solution is to add this to the cabal file (at the bottom of the
executable stanza):

  extra-libraries:    stdc++

With this addition I can compile gruff in a Jessie chroot, but have
trouble getting it to work (displays a blank screen).  I'm not sure if
this is down to the chroot environment or a problem in gruff itself.


Claude
-- 
https://mathr.co.uk



More information about the Haskell-Cafe mailing list