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 |