
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
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@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 |
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@haskell.org | > http://www.haskell.org/mailman/listinfo/ghc-devs | > | | | | -- | Regards, | Austin - PGP: 4096R/0x91384671
-- Regards, Austin - PGP: 4096R/0x91384671