I have altered the GHC Portfile to have no build section (and no pre-build or post-build sections) and to set (amongst other things): build.cmd make build.type gnu build.args "" build.target all (1) $ sudo port configure $ cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_ghc/work/ghc-6.6.1 $ sudo make all (2) $ sudo port configure $ sudo port build I think that running (1) and (2) should be equivalent. However, when I do this, I do not get the same object files. Namely, when I install with (1), my GHC works (at least for trivial examples). When I install with (2), I get weird errors (that I can describe further if requested). I have built GHC about 25 times (at ~4 hours/build) to narrow it down to this. Can someone shed some light on why there is any difference? I think it must be somewhere in my environment, but I can't figure out what - I have at least set the PATHs to be the same. I am new to Portfile development and was interested in helping to get a good build for GHC 6.6.1 on Leopard. If any more information is needed, I will happily provide it. Thanks in advance for any help at all. -- View this message in context: http://www.nabble.com/%27port-build%27-different-than-%27make-all%27-tp14608... Sent from the MacPorts - Developer mailing list archive at Nabble.com.
On Jan 3, 2008, at 18:48, jcharum wrote:
I have altered the GHC Portfile to have no build section (and no pre-build or post-build sections) and to set (amongst other things):
build.cmd make build.type gnu build.args "" build.target all
(1) $ sudo port configure $ cd /opt/local/var/macports/build/ _opt_local_var_macports_sources_rsync.macports.org_release_ports_lang_ ghc/work/ghc-6.6.1 $ sudo make all
(2) $ sudo port configure $ sudo port build
I think that running (1) and (2) should be equivalent. However, when I do this, I do not get the same object files. Namely, when I install with (1), my GHC works (at least for trivial examples). When I install with (2), I get weird errors (that I can describe further if requested). I have built GHC about 25 times (at ~4 hours/build) to narrow it down to this. Can someone shed some light on why there is any difference? I think it must be somewhere in my environment, but I can't figure out what - I have at least set the PATHs to be the same. I am new to Portfile development and was interested in helping to get a good build for GHC 6.6.1 on Leopard.
If any more information is needed, I will happily provide it. Thanks in advance for any help at all.
I am not really familiar with ghc, but I can tell you that MacPorts builds in a modified environment. Any PATH you have set in your terminal, for example, is ignored, and MacPorts uses its own PATH. A slew of other environment variables are also set by MacPorts. I can't name them all off the top of my head but you can peek through the sources in src/port1.0 such as portconfigure.tcl and portbuild.tcl.
Ryan Schmidt-24 wrote:
I am not really familiar with ghc, but I can tell you that MacPorts builds in a modified environment. Any PATH you have set in your terminal, for example, is ignored, and MacPorts uses its own PATH. A slew of other environment variables are also set by MacPorts. I can't name them all off the top of my head but you can peek through the sources in src/port1.0 such as portconfigure.tcl and portbuild.tcl.
I see. I actually built with the PATH that the configure script reports during the MacPorts configure phase, so I think I got that part right unless the PATH is different for the build phase(!). Thanks for the pointer to the sources to see the rest of the environment. I will investigate to see if I can reproduce the MacPorts build output. -- View this message in context: http://www.nabble.com/%27port-build%27-different-than-%27make-all%27-tp14608... Sent from the MacPorts - Developer mailing list archive at Nabble.com.
On 4 Jan 2008, at 03:59, jcharum wrote:
Ryan Schmidt-24 wrote:
I am not really familiar with ghc, but I can tell you that MacPorts builds in a modified environment. Any PATH you have set in your terminal, for example, is ignored, and MacPorts uses its own PATH. A slew of other environment variables are also set by MacPorts. I can't name them all off the top of my head but you can peek through the sources in src/port1.0 such as portconfigure.tcl and portbuild.tcl.
I see. I actually built with the PATH that the configure script reports during the MacPorts configure phase, so I think I got that part right unless the PATH is different for the build phase(!). Thanks for the pointer to the sources to see the rest of the environment. I will investigate to see if I can reproduce the MacPorts build output.
if you have a version of port < 1.6 installed: We removed two environment variables that caused build troubles on 10.5 (originally for prebinding). Regards, -Markus -- Dipl. Inf. (FH) Markus W. Weissmann http://www.macports.org/ http://www.mweissmann.de/
participants (3)
-
jcharum
-
Markus Weissmann
-
Ryan Schmidt