Buidling profiled fails

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Buidling profiled fails

Simon Peyton Jones
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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20130827/3ed4bd13/attachment.htm>

Reply | Threaded
Open this post in threaded view
|

Buidling profiled fails

Austin Seipp-4
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



Reply | Threaded
Open this post in threaded view
|

Buidling profiled fails

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 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

Reply | Threaded
Open this post in threaded view
|

Buidling profiled fails

Austin Seipp-4
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



Reply | Threaded
Open this post in threaded view
|

Buidling profiled fails

Simon Peyton Jones
Actually this is 64-bit Linux.

However I found that my build.mk might have been an old one, since it's hand-written. I'll try again, starting from build.mk.sample.

Simon

| -----Original Message-----
| From: Austin Seipp [mailto:aseipp at pobox.com]
| Sent: 27 August 2013 18:40
| To: Simon Peyton-Jones
| Cc: Austin Seipp; ghc-devs
| Subject: Re: Buidling profiled fails
|
| 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