Absolute paths to GCC and perl should not be baked into the compiler.
Building with sh boot ; ./configure ; make leaves me with the following lines in compiler/main/Config.hs
cGCC = "/export/home/benl/software/gcc-4.1.2/bin/gcc"
cGHC_PERL = "/opt/csw/bin/perl"
These absolute paths are baked into the compiler, and if I then do a make binary-dist the resulting binary distribution is unusable for anyone else.
Note that compiler/main/SysTools.hs:105 says that these vars should not include paths, and rightly so. I'm currently working around this by hacking mk/config.mk after running ./configure.
We probably need a better story about which GCC and perl to use for the build, vs which ones to use when compiling programs. I vote that the default should be to use the ones in the PATH unless explicitly configured not to.
Note that on SPARC/Solaris the default system GCC is unusable, so people that do not have root access will always need to run GHC against a privately installed GCC.
Tickets #2966 (closed) and #3842 (closed) are related.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.13 |
| Type | Bug |
| TypeOfFailure | InstallationFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Build System |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |