Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 5,248
    • Issues 5,248
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 572
    • Merge requests 572
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #17374
Closed
Open
Issue created Oct 17, 2019 by Ben Gamari@bgamari🐢Maintainer

Bindist configure script doesn't update linker information in `settings`?

@christianb raised the following issue in #ghc:

<christiaanb> bgamari: it seems the `./configure` that's part of the gitlab artifacts ignores that the system gcc doesn't know about lld
<christiaanb> I had to add this to my travis config in order to test with ghc-head artifacts: https://github.com/clash-lang/ghc-tcplugins-extra/blob/85303589c2277a3037b0f820b68876d46b01826b/.travis.yml#L69
<christiaanb> Otherwise the installed ghc will tell gcc to use `lld`, even though my version of gcc doesn't even understand the `-fuse-ld=lld` argument
<christiaanb> And adding `ld-options` after the fact doesn't help, because gcc will then just see `-fuse-ld=lld -fuse-ld=gold`, but then already trip on the first `-fuse-ld`
...
<christiaanb> I can’t replicate it on my own machine
<christiaanb> Because gcc is new enough
<christiaanb> Basically you need a version that doesn’t understand the `-fuse-ld=lld` flag
<bgamari> christiaanb, when do things fail?
<christiaanb> When the library gets linked
<christiaanb> Because GHC asks gcc to do it
<bgamari> that is distressing
<christiaanb> Only happens with old gcc though
<bgamari> the bindist configure script should have probed for -fuse-ld=lld support
<christiaanb> Yeah, it does
<christiaanb> But the setting file doesn’t get updated
<bgamari> and what does it determine?
<christiaanb> I think basically it’s not catching the fact that gcc doesn’t understand the flag at all
<bgamari> christiaanb, do you still have config.log?
<bgamari> oh, this was in CI
<bgamari> Which distribution does your CI environment use?
<christiaanb> Yeah... let me look up the CI build
<christiaanb> I think it’s Xenial
<bgamari> yes, that would also help
<christiaanb> bgamari: this is one of the failing builds: https://travis-ci.org/clash-lang/ghc-tcplugins-extra/jobs/598591717
<christiaanb> You have to expand `before_install.2` to see the configure process
Edited Oct 17, 2019 by Ben Gamari
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking