#8760 closed bug (fixed)

ghc 7.8: ghc-split not installed

Reported by: MagnusTherning Owned by:
Priority: normal Milestone: 7.8.1
Component: Build System Version: 7.8.1-rc1
Keywords: Cc: slyfox@…, echauck@…
Operating System: Linux Architecture: Unknown/Multiple
Type of failure: Installing GHC failed Test Case:
Blocked By: Blocking:
Related Tickets: Differential Revisions:

Description

These are the steps I run to build and install (to prepare for packaging):

./sync-all -r git://git.haskell.org get -b ghc-7.8
./boot
./configure --prefix=/usr
make -j 5
make DESTDIR=/path/to/prepackage/dir install

The build itself works fine, the installed binaries work for simple tests like compiling hello, world, starting ghci, etc. However, building mtl failed with

Configuring mtl-2.1.2...
Building mtl-2.1.2...
Preprocessing library mtl-2.1.2...
[ 1 of 21] Compiling Control.Monad.Writer.Class ( Control/Monad/Write/Class.hs, dist/build/Control/Monad/Writer/Class.o )
ghc: could not execute: /usr/lib/ghc-7.8.0.20140204/ghc-split

So it seems ghc-split isn't installed by make install. It also isn't included in the output of make binary-dist.

I've seen this on both x86 and x86_64.

Attachments (1)

Fix8760.patch (734 bytes) - added by khyperia 19 months ago.
Patch for #8760

Download all attachments as: .zip

Change History (10)

comment:1 Changed 19 months ago by slyfox

  • Cc slyfox@… added

comment:2 follow-up: Changed 19 months ago by slyfox

I've noticed it today as well.

What was strange is that absence of ghc-split does not fail the build even when -split-objs is specified in ghc commandline.

comment:3 in reply to: ↑ 2 Changed 19 months ago by MagnusTherning

Replying to slyfox:

I've noticed it today as well.

What was strange is that absence of ghc-split does not fail the build even when -split-objs is specified in ghc commandline.

It looks like the script is properly installed for use in-place during the build of Ghc (at least an executable copy is present after a build).

comment:4 Changed 19 months ago by thoughtpolice

  • Milestone set to 7.8.1

Changed 19 months ago by khyperia

Patch for #8760

comment:5 Changed 19 months ago by khyperia

  • Cc echauck@… added
  • Status changed from new to patch

I believe I have fixed this, although this is my second time committing to ghc and first time digging into the build system. Please review appropriately.

Patch attached.

comment:6 follow-up: Changed 19 months ago by thoughtpolice

Thank you! This patch unfortunately doesn't quite work on Linux yet when running 'make install' from a binary distribution. I'll get it going in my tree again to see if I can fix it.

comment:7 in reply to: ↑ 6 Changed 19 months ago by khyperia

Replying to thoughtpolice:

Thank you! This patch unfortunately doesn't quite work on Linux yet when running 'make install' from a binary distribution. I'll get it going in my tree again to see if I can fix it.

I think I might know the reason.

I reference "$1/$2/$$($1_$2_PROG)" in the install rule (in the patch), where I should have referenced "$$($1_$2_INPLACE)". Try switching it and seeing if it works.

(I was unsure of which variable to use, so I guessed - apparently wrongly)

If that doesn't work... I guess just try various variables for that rule, I'm confused by the mass of dollar signs everywhere and I'm unsure of what variable is what.

I'm at work currently and cannot try the change myself.

comment:8 Changed 18 months ago by Austin Seipp <austin@…>

In beac5252d444bafb0722bc6d13c6dd2d49a12070/ghc:

Fix installation of ghc-split (#8760)

The rules weren't correctly setting INSTALL_TOPDIRS, and on top of that
the dependencies were wrong when BINDIST=YES.

Authored-by: Evan Hauck <[email protected]>
Authored-by: Austin Seipp <[email protected]>
Signed-off-by: Austin Seipp <[email protected]>

comment:9 Changed 18 months ago by thoughtpolice

  • Resolution set to fixed
  • Status changed from patch to closed

Thanks Evan, I made a fix based on your patch. Merged in HEAD and 7.8.

Note: See TracTickets for help on using tickets.