Skip to content

Linker failure: multiple definition of

Linker fails on a normal project built with cabal (-O1), both on my home machine (GNU gold (GNU Binutils for Ubuntu 2.22) 1.11) and on travis with GHC 8.0.1:

https://travis-ci.org/LambdaHack/LambdaHack/jobs/159457149#L589

and with head:

https://travis-ci.org/LambdaHack/LambdaHack/jobs/159457156#L602

It compiles fine with -O0 (but if fails with -O2):

https://travis-ci.org/LambdaHack/LambdaHack/jobs/159457144

with older GHCs:

https://travis-ci.org/LambdaHack/LambdaHack/jobs/159457155

and after the symbol the linker complains about is removed:

https://travis-ci.org/LambdaHack/LambdaHack/jobs/159506870

As seen on travis, the way to reproduce it is just cabal install of

https://github.com/LambdaHack/LambdaHack/commit/0d2bbd6eadca7a10292ab67ab1fa708b4c20aaf6

which also shows the offending line.

I took the liberty of adding it to 8.0.2 milestone, because if it affects all x86_64 machines, it's pretty serious. Please feel free to downgrade.

If the bug is confirmed, I can attempt creating a small reproducing case, but it would require gtk, so it would compile forever anyway.

Trac metadata
Trac field Value
Version 8.0.1
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information