Buidling profiled fails

Austin Seipp aseipp at pobox.com
Tue Aug 27 19:39:46 CEST 2013


Well, depending on ./configure is reasonable, but I'm not sure how to
easily make it work around these checks just for the 'show' target.

Hm, what platform is this, Win64? (I need to get a win64 test env up.)
You might possibly have an out of date mk/build.mk file, but if this
is a recent checkout then I doubt it. Otherwise there might be a
glitch in the build system that things you can support dynamic ghc,
but not shared libraries.

You should be able to turn this off in the mean time. You can put:

DYNAMIC_BY_DEFAULT=NO
DYNAMIC_GHC_PROGRAMS=NO

in mk/build.mk, anywhere above this line:

------
GhcLibWays = $(if $(filter $(DYNAMIC_GHC_PROGRAMS),YES),v dyn,v)
------

I really need to double back on and look over all the shared library
stuff this week.


On Tue, Aug 27, 2013 at 12:08 PM, Simon Peyton-Jones
<simonpj at microsoft.com> wrote:
> ha ha!
>
> bash$ make show VALUE=GhcProfiled
> Makefile:39: mk/config.mk: No such file or directory
> Makefile:41: *** Please run ./configure first. Stop.
>
> ===============
> OK, so I did "perl boot; ./configure".  Then
>
> bash$ make show VALUE=GhcProfiled
> make -r --no-print-directory -f ghc.mk show
> ghc.mk:158: *** dyn is not in $(GhcLibWays), but $(DYNAMIC_GHC_PROGRAMS) is YES. Stop.
> make: *** [show] Error 2
> bash$
>
> oh dear.  Should "make show" depend on these other checks?
>
> Simon
>
> | -----Original Message-----
> | From: Austin Seipp [mailto:aseipp at pobox.com]
> | Sent: 27 August 2013 16:23
> | To: Simon Peyton-Jones
> | Cc: ghc-devs
> | Subject: Re: Buidling profiled fails
> |
> | I was actually looking at this exact code very recently since I was
> | fixing the build system with Stage1Only a little last night.
> |
> | We do something like this in ./ghc.mk:
> |
> | ----------------------------------------
> | define addExtraPackage
> | ifeq "$2" "-"
> | # Do nothing; this package is already handled above
> | else ifeq "$2 $$(GhcProfiled)" "dph YES"
> | # Ignore the package: These packages need TH, which is incompatible
> | # with a profiled GHC
> | else
> | PACKAGES_STAGE2 += $1
> | endif
> | endef
> | ---------------------------------------
> |
> | So it skips adding dph to the list of stage2 packages if GhcProfiled is
> | 'YES'
> |
> | Simon, this is speculation, but can you try:
> |
> | $ make show VALUE=GhcProfiled
> |
> | I think it's possible the value of GhcProfiled may have whitespace in
> | it, which would cause this `ifeq` to fail.
> |
> | On Tue, Aug 27, 2013 at 10:06 AM, Simon Peyton-Jones
> | <simonpj at microsoft.com> wrote:
> | > I try “sh validate” with profiled libraries and get
> | >
> | > libraries/dph/ghc.mk:134: *** Cannot build profiled GHC with DPH; try
> | > deleting libraries/dph and trying again. Stop.
> | >
> | >
> | >
> | > So I obediently remove libraries/dph, and try again.  But that fails
> | too:
> | >
> | > Error: libraries/dph/LICENSE doesn't exist.
> | >
> | > Maybe you haven't done './sync-all get'? at boot line 74, <PACKAGES>
> | line
> | > 84.
> | >
> | >
> | >
> | > Seems a bit Catch-22 ish.  I’m not sure how to fix this.
> | >
> | > Thanks
> | >
> | >
> | > Simon
> | >
> | >
> | >
> | > Microsoft Research Limited (company number 03369488) is registered in
> | > England and Wales
> | >
> | > Registered office is at 21 Station Road, Cambridge, CB1 2FB
> | >
> | >
> | >
> | >
> | > _______________________________________________
> | > ghc-devs mailing list
> | > ghc-devs at haskell.org
> | > http://www.haskell.org/mailman/listinfo/ghc-devs
> | >
> |
> |
> |
> | --
> | Regards,
> | Austin - PGP: 4096R/0x91384671



-- 
Regards,
Austin - PGP: 4096R/0x91384671




More information about the ghc-devs mailing list