Date: Fri, 07 Oct 2011 09:27:10 +0000 From: Nali Toja <nalitoja@gmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/161356: lang/ghc: bootstrap assumes `gcc', ignoring CC Message-ID: <86ehypxic1.fsf@gmail.com> Resent-Message-ID: <201110070930.p979U6Z8013393@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 161356 >Category: ports >Synopsis: lang/ghc: bootstrap assumes `gcc', ignoring CC >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Oct 07 09:30:06 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Nali Toja >Release: FreeBSD 10.0-CURRENT amd64 >Organization: >Environment: WITHOUT_DOCS= WITHOUT_PROFILE= $ export PATH=~/.bin:$PATH $ for cc in CC cc c++ gcc g++ cpp; do ln -s /usr/bin/false ~/.bin/${cc}; done >Description: ghc-boot build wants CC being set in environment, not in a makefile (e.g. make.conf). And when set its runtime still uses `gcc' compiler ignoring CC unlike, say, ghc/ghc.wrapper. >How-To-Repeat: ||| replace only `gcc' with symlink to `false' # use default `CC = cc' from sys.mk # or define `CC = clang' in make.conf $ make [...] checking for ar... /usr/bin/ar checking whether /usr/bin/ar is GNU ar... no checking for ar arguments... clqs checking for gcc... gcc checking for C compiler default output file name... configure: error: C compiler cannot create executables $ CC=clang make [...] checking for nhc... no checking for nhc98... no checking for hbc... no configure: Building in-tree ghc-pwd configure: error: Building ghc-pwd failed WRKDIR/ghc-6.10.4-boot/bin/ghc -v0 -no-user-package-conf -hidir utils/ghc-pwd/dist-boot -odir utils/ghc-pwd/dist-boot -stubdir utils/ghc-pwd/dist-boot --make utils/ghc-pwd/Main.hs -o utils/ghc-pwd/dist-boot/ghc-pwd ~/.bin/gcc -Iutils/ghc-pwd -Iutils/ghc-pwd/dist-boot -c WRKDIR/ghc-7.0.3/tmp/ghc55829_0/ghc55829_0.s -o utils/ghc-pwd/dist-boot/Main.o >Fix: The first part seems trivial. As for `-pgmc ${CC}' not sure yet. --- pass_CC_from_environment_always.diff begins here --- Index: lang/ghc/Makefile =================================================================== RCS file: /a/.csup/ports/lang/ghc/Makefile,v retrieving revision 1.93 diff -u -p -r1.93 Makefile --- lang/ghc/Makefile 23 Sep 2011 22:23:43 -0000 1.93 +++ lang/ghc/Makefile 7 Oct 2011 09:18:38 -0000 @@ -106,7 +106,7 @@ BOOT_HSC2HS= ${BOOT_DIR}/bin/hsc2hs HACKAGE_SITE?= http://hackage.haskell.org/ HACKAGE_ARCH?= packages/archive/ -CONFIGURE_ARGS_BOOT= --prefix=${BOOT_DIR}) +CONFIGURE_ARGS_BOOT= --prefix=${BOOT_DIR} CC=${CC} CONFIGURE_ARGS+= --with-ghc=${BOOT_GHC} --with-gcc=${CC} \ --with-gmp-includes=${LOCALBASE}/include \ --with-gmp-libraries=${LOCALBASE}/lib \ @@ -228,7 +228,7 @@ post-patch: pre-configure: @${MKDIR} ${TMPDIR} - @(cd ${BOOT_DIR} && ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS_BOOT} + @(cd ${BOOT_DIR} && ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS_BOOT}) @(cd ${BOOT_DIR} && PACKAGES='' ${GMAKE} install) # @(${BOOT_GHC-PKG} unregister haddock-${BOOT_HADDOCK_VERSION}) # @(cd ${BOOT_DIR} && ${RM} -rf utils/haddock && ${RM} -f bin/haddock \ --- pass_CC_from_environment_always.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86ehypxic1.fsf>