
#7639: Fix installation issues with cross compiling + honour Stage1Only properly ----------------------------------+----------------------------------------- Reporter: StephenBlackheath | Owner: Type: bug | Status: patch Priority: normal | Component: Compiler Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Installing GHC failed | Blockedby: Blocking: 7610 | Related: ----------------------------------+----------------------------------------- Comment(by StephenBlackheath): In case it's helpful, with this patch I am suggesting in this ticket... {{{ --- a/utils/ghc-pkg/ghc.mk +++ b/utils/ghc-pkg/ghc.mk @@ -99,6 +99,7 @@ utils/ghc-pkg_$(GHC_PKG_DISTDIR)_INSTALL = YES utils/ghc-pkg_$(GHC_PKG_DISTDIR)_INSTALL_SHELL_WRAPPER_NAME = ghc- pkg-$(ProjectVersion) utils/ghc-pkg_$(GHC_PKG_DISTDIR)_INSTALL_INPLACE = NO +utils/ghc-pkg_$(GHC_PKG_DISTDIR)_WANT_INSTALLED_WRAPPER = YES ifeq "$(BootingFromHc)" "YES" utils/ghc-pkg_dist-install_OTHER_OBJS += $(ALL_STAGE1_LIBS) $(ALL_STAGE1_LIBS) $(ALL_STAGE1_LIBS) $(ALL_RTS_LIBS) $(libffi_STATIC_LIB) }}} ...if it isn't applied, then this is what I get (latest head, git hash ca5d15a61c45d6ea763872df46efe5c7b33f8186): {{{ blackh@amentet:~/src/ghc-ldu/ghc$ sudo make install ... ...snip... ... /usr/bin/install -c -m 644 utils/hsc2hs/template-hsc.h "/usr/local/ghc- ldu/lib/ghc-7.7.20130203" /usr/bin/install -c -m 755 -d "/usr/local/ghc-ldu/bin" "rm" -f "/usr/local/ghc-ldu/bin/arm-ldu-linux-gnueabi-ghc-pkg" ln -s arm-ldu-linux-gnueabi-ghc-pkg-7.7.20130203 "/usr/local/ghc-ldu/bin /arm-ldu-linux-gnueabi-ghc-pkg" /usr/bin/install -c -m 755 -d "/usr/local/ghc-ldu/bin" "rm" -f "/usr/local/ghc-ldu/bin /arm-ldu-linux-gnueabi-ghc-7.7.20130203" ... ...snip... ... /usr/local/ghc-ldu/lib/ghc-7.7.20130203/transformers-0.3.0.0 "/usr/local/ghc-ldu/lib/ghc-7.7.20130203/bin/ghc-pkg" --force --global- package-db "/usr/local/ghc-ldu/lib/ghc-7.7.20130203/package.conf.d" update rts/package.conf.install /bin/sh: /usr/local/ghc-ldu/lib/ghc-7.7.20130203/bin/ghc-pkg: No such file or directory make[1]: *** [install_packages] Error 127 make: *** [install] Error 2 blackh@amentet:~/src/ghc-ldu/ghc$ ls -l /usr/local/ghc-ldu/bin/ total 8 lrwxrwxrwx 1 root root 38 Feb 4 13:09 arm-ldu-linux-gnueabi-ghc -> arm- ldu-linux-gnueabi-ghc-7.7.20130203 -rwxr-xr-x 1 root root 308 Feb 4 13:09 arm-ldu-linux-gnueabi- ghc-7.7.20130203 lrwxrwxrwx 1 root root 42 Feb 4 13:09 arm-ldu-linux-gnueabi-ghc-pkg -> arm-ldu-linux-gnueabi-ghc-pkg-7.7.20130203 -rwxr-xr-x 1 root root 1113 Feb 4 13:09 arm-ldu-linux-gnueabi-hsc2hs blackh@amentet:~/src/ghc-ldu/ghc$ }}} So, arm-ldu-linux-gnueabi-ghc-pkg is a dangling symlink. If I then apply the patch, then the wrapper arm-ldu-linux-gnueabi-ghc- pkg-7.7.20130203 gets installed and the problem goes away. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7639#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler