Link errors with GHC 7.4.2 using the current package from git. #61

Closed
timthelion opened this Issue Sep 19, 2012 · 5 comments

Comments

Projects
None yet
2 participants
@timthelion

Please see:

http://hackage.haskell.org/trac/ghc/ticket/7234

For the work around.

@colah

This comment has been minimized.

Show comment Hide comment
@colah

colah Sep 21, 2012

Owner

This isn't a GHC bug but an ImplicitCAD one. It's the result of me being sloppy when merging someone's work into master: they created a file (Graphics.Implicit.Export.TextBuilderUtils?) and I forgot to add it to ImplicitCAD's cabal file. Thus cabal didn't install that module and so ImplicitCAD seems to install fine, but if you try to build something using ImplicitCAD, part of it is missing and so it fails in linking.

If you look carefully at the error messages from ld, you'll see:

implicitzm0zi0zi2_GraphicsziImplicitziExportziTextBuilderUtils_zdwbuildTruncFloat_closure
                  Graphics  Implicit  Export  TextBuilderUtils    buildTruncFloat
                  Graphics.Implicit.Export.TextBuilderUtils (buildTruncFloat)

which is the missing file and exports a function buildTruncFloat.

You don't see this if you work in the ImplicitCAD folder because it uses the local copy, so this didn't get caught earlier.

Sorry about any confusion and thanks for catching this bug! It's now fixed!

Owner

colah commented Sep 21, 2012

This isn't a GHC bug but an ImplicitCAD one. It's the result of me being sloppy when merging someone's work into master: they created a file (Graphics.Implicit.Export.TextBuilderUtils?) and I forgot to add it to ImplicitCAD's cabal file. Thus cabal didn't install that module and so ImplicitCAD seems to install fine, but if you try to build something using ImplicitCAD, part of it is missing and so it fails in linking.

If you look carefully at the error messages from ld, you'll see:

implicitzm0zi0zi2_GraphicsziImplicitziExportziTextBuilderUtils_zdwbuildTruncFloat_closure
                  Graphics  Implicit  Export  TextBuilderUtils    buildTruncFloat
                  Graphics.Implicit.Export.TextBuilderUtils (buildTruncFloat)

which is the missing file and exports a function buildTruncFloat.

You don't see this if you work in the ImplicitCAD folder because it uses the local copy, so this didn't get caught earlier.

Sorry about any confusion and thanks for catching this bug! It's now fixed!

@colah

This comment has been minimized.

Show comment Hide comment
@colah

colah Sep 21, 2012

Owner

Er, should be fixed. Please confirm that it is now fixed for you.

Owner

colah commented Sep 21, 2012

Er, should be fixed. Please confirm that it is now fixed for you.

@timthelion

This comment has been minimized.

Show comment Hide comment
@timthelion

timthelion Sep 21, 2012

Yes, both problems are now fixed(both the link error and the exporting of Primitives). Thank you. I wouldn't be so hard on myself if I were you though. Even if this isn't a bug in GHC, it is certainly a bug in cabal. Cabal shouldn't let you generate an invalid binary period! haskell/cabal#939

Yes, both problems are now fixed(both the link error and the exporting of Primitives). Thank you. I wouldn't be so hard on myself if I were you though. Even if this isn't a bug in GHC, it is certainly a bug in cabal. Cabal shouldn't let you generate an invalid binary period! haskell/cabal#939

@colah

This comment has been minimized.

Show comment Hide comment
@colah

colah Sep 21, 2012

Owner

I agree cabal should have done a better job. :)

I should have been more careful too, though. I hate it when I break master.

Owner

colah commented Sep 21, 2012

I agree cabal should have done a better job. :)

I should have been more careful too, though. I hate it when I break master.

@colah colah closed this Sep 21, 2012

@timthelion

This comment has been minimized.

Show comment Hide comment
@timthelion

timthelion Sep 21, 2012

haskell/cabal#267 Perhaps this proposed fix would be of interest to you even now then.

haskell/cabal#267 Perhaps this proposed fix would be of interest to you even now then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment