Ticket #1346 (closed bug: fixed)

Opened 6 years ago

Last modified 4 years ago

bootstrap from HC files

Reported by: simonmar Owned by: igloo
Priority: high Milestone: 6.12.1
Component: Build System Version: 6.6.1
Keywords: Cc: kili@…, dwmw2@…, ingmar@…, Braden.Shepherdson@…, alexander.dunlap@…, ich@…, pho@…, karel.gardas@…, mail@…, emil@…
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Moderate (less than a day)
Test Case: Blocked By:
Blocking: Related Tickets:

Description

There's some work to do on 6.8 to ensure that we can still bootstrap from HC files. This will be slightly harder due to the new Cabal-based build system for libraries, and the solution will probably involve 'setup makefile' somewhere. Also we'll need to update the building guide to include the new instructions, whatever they may be.

Attachments

ghc.diff Download (17.9 KB) - added by kili 5 years ago.
Work in Progres, QUICK HACK ALERT!

Change History

  Changed 6 years ago by simonmar

  • priority changed from high to normal
  • milestone changed from 6.8 branch to 6.8.3

  Changed 5 years ago by igloo

  • owner set to igloo

  Changed 5 years ago by kili

  • cc kili@… added

I'd like to see this fixed for ghc-6.8.3, because for a proper OpenBSD port, bootstrapping from a precompiled binary is a no-go. I hope to get the time to review, cleanup and attach my current diffs until next week. Current state is that I'm able to create an unregisterised HC file bundle and bootstrap a working stage1 from this bundle (on i386), but the next step still doesn't work because some of the -inplace tools (ghc-pkg is one of them) aren't available yet.

Please note: if you don't consider this important enough for 6.8.3, I can as well keep the patches locally in the OpenBSD port and try to adopt them for 6.10.1 later.

  Changed 5 years ago by dwmw2

  • cc dwmw2@… added

Changed 5 years ago by kili

Work in Progres, QUICK HACK ALERT!

  Changed 5 years ago by kili

The diff I uploaded contains some comments inline. It's for ghc-6.8.2 but also applies to the latest stable snapshot (ghc-6.8.2.20080401).

As written earlier, it's possible to create a HC file bundle (with some additional created files) and to build a stage1 compiler with this. I'm a little bit uncertain how to proceed -- either go ahead using libcompat (which is a little bit ugly), or try to rebuild all the libraries immediately with that stage1 compiler (but without using utils/ghc-pkg, since it's not yet buildable), then build the remaining tools.

  Changed 5 years ago by ingmar

  • cc ingmar@… added

  Changed 5 years ago by igloo

  • priority changed from normal to high
  • milestone changed from 6.8.3 to 6.10.1

  Changed 5 years ago by shepheb

  • cc Braden.Shepherdson@… added

The ArmLinuxGhc project would love to have bootstrapping working for 6.10 (or in 6.9), since the move to libffi makes 6.10 much easier to port than 6.8.

  Changed 5 years ago by ajd

  • cc alexander.dunlap@… added

  Changed 5 years ago by simonpj

  • milestone changed from 6.10.1 to 6.12 branch

Let's postpone this past the 6.10 release, because the build system is in upheaval.

Simon & Simon

  Changed 5 years ago by igloo

  • owner igloo deleted

  Changed 5 years ago by simonmar

  • architecture changed from Unknown to Unknown/Multiple

  Changed 5 years ago by simonmar

  • os changed from Unknown to Unknown/Multiple

  Changed 5 years ago by CBa

  • cc ich@… added

  Changed 4 years ago by PHO

  • cc pho@… added

  Changed 4 years ago by kgardas

  • cc karel.gardas@… added

in reply to: ↑ description   Changed 4 years ago by bogner

  • cc mail@… added

Replying to simonmar:

There's some work to do on 6.8 to ensure that we can still bootstrap from HC files. This will be slightly harder due to the new Cabal-based build system for libraries, and the solution will probably involve 'setup makefile' somewhere. Also we'll need to update the building guide to include the new instructions, whatever they may be.

  Changed 4 years ago by emil

  • cc emil@… added

  Changed 4 years ago by igloo

  • milestone changed from 6.12 branch to 6.12.1

  Changed 4 years ago by simonmar

  • owner set to igloo

  Changed 4 years ago by igloo

  • status changed from new to closed
  • resolution set to fixed

Porting to a new platform is now working again:  http://hackage.haskell.org/trac/ghc/wiki/Building/Porting

Doing a non-bootstrapping build from HC files isn't something that we plan to support, especially given that the registerised via-C way will be disappearing.

  Changed 4 years ago by simonmar

  • difficulty changed from Moderate (1 day) to Moderate (less than a day)
Note: See TracTickets for help on using tickets.