<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.Code, li.Code, div.Code
        {mso-style-name:Code;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:9.0pt;
        font-family:"Courier New";}
span.EmailStyle18
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
.MsoPapDefault
        {mso-style-type:export-only;
        margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:0cm;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">Hi devs<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">I’ve got my Linux box upgraded to a recent version of Ubuntu, so I’m no longer stuck on gcc version.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">But I can’t build either.  Something strange with /lib/cpp fails sanity check.  The log is below.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">Can anyone help? I’m a bit stalled.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">This call to “make” follows the same failure when I typed “sh validate –fast”.   But by carrying on from where it got stuck the log is way shorter.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">Thanks<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif">Simon<o:p></o:p></span></p>
<p class="Code">simonpj@cam-05-unx:~/5builds/HEAD$ make<o:p></o:p></p>
<p class="Code">===--- building phase 0<o:p></o:p></p>
<p class="Code">make --no-print-directory -f ghc.mk phase=0 phase_0_builds<o:p></o:p></p>
<p class="Code">make[1]: Nothing to be done for 'phase_0_builds'.<o:p></o:p></p>
<p class="Code">===--- building phase 1<o:p></o:p></p>
<p class="Code">make --no-print-directory -f ghc.mk phase=1 phase_1_builds<o:p></o:p></p>
<p class="Code">make[1]: Nothing to be done for 'phase_1_builds'.<o:p></o:p></p>
<p class="Code">===--- building final phase<o:p></o:p></p>
<p class="Code">make --no-print-directory -f ghc.mk phase=final all<o:p></o:p></p>
<p class="Code">rts/ghc.mk:547: rts/dist/build/.depend-v-dyn-l-debug-thr-thr_debug-thr_l-debug_dyn-thr_dyn-thr_debug_dyn-l_dyn-thr_l_dyn.c_asm: No such file or directory<o:p></o:p></p>
<p class="Code">libraries/ghci/ghc.mk:4: libraries/ghci/dist-install/build/.depend-v-dyn.haskell: No such file or directory<o:p></o:p></p>
<p class="Code">"rm" -f libffi/stamp.ffi.static.configure  <o:p></o:p></p>
<p class="Code">"rm" -f libffi/stamp.ffi.static.build  <o:p></o:p></p>
<p class="Code">"rm" -f libffi/stamp.ffi.static.install  <o:p></o:p></p>
<p class="Code">"rm" -f libffi/stamp.ffi.static-shared.configure  <o:p></o:p></p>
<p class="Code">"rm" -f libffi/stamp.ffi.static-shared.build  <o:p></o:p></p>
<p class="Code">"rm" -f libffi/stamp.ffi.static-shared.install  <o:p></o:p></p>
<p class="Code">"rm" -rf  libffi/build  <o:p></o:p></p>
<p class="Code">cat libffi-tarballs/libffi*.tar.gz | /bin/gzip -d | { cd libffi && /bin/tar -xf - ; }<o:p></o:p></p>
<p class="Code">mv libffi/libffi-* libffi/build<o:p></o:p></p>
<p class="Code">cp "/home/simonpj/5builds/HEAD/config.guess" libffi/build/config.guess<o:p></o:p></p>
<p class="Code">cp "/home/simonpj/5builds/HEAD/config.sub"   libffi/build/config.sub<o:p></o:p></p>
<p class="Code">chmod +x libffi/ln<o:p></o:p></p>
<p class="Code"># We need to use -MMD rather than -MD, as otherwise we get paths<o:p></o:p></p>
<p class="Code"># like c:/... in the dependency files on Windows, and the extra<o:p></o:p></p>
<p class="Code"># colons break make<o:p></o:p></p>
<p class="Code">mv libffi/build/Makefile.in libffi/build/Makefile.in.orig<o:p></o:p></p>
<p class="Code">sed "s/-MD/-MMD/" < libffi/build/Makefile.in.orig > libffi/build/Makefile.in<o:p></o:p></p>
<p class="Code"># We attempt to specify the installation directory below with --libdir,<o:p></o:p></p>
<p class="Code"># but libffi installs into 'toolexeclibdir' instead, which may differ<o:p></o:p></p>
<p class="Code"># on systems where gcc has multilib support. Force libffi to use libdir.<o:p></o:p></p>
<p class="Code"># (https://sourceware.org/ml/libffi-discuss/2014/msg00016.html)<o:p></o:p></p>
<p class="Code">mv libffi/build/Makefile.in libffi/build/Makefile.in.orig<o:p></o:p></p>
<p class="Code">sed 's:@toolexeclibdir@:$(libdir):g' < libffi/build/Makefile.in.orig > libffi/build/Makefile.in<o:p></o:p></p>
<p class="Code"># install-sh is used when /usr/bin/install is missing; ensure its<o:p></o:p></p>
<p class="Code"># path in libffi's Makefile is correct. See GHC #11109.<o:p></o:p></p>
<p class="Code">mv libffi/build/Makefile.in libffi/build/Makefile.in.orig<o:p></o:p></p>
<p class="Code">sed 's|@INSTALL@|$(subst ../install-sh,/home/simonpj/5builds/HEAD/install-sh,@INSTALL@)|g' < libffi/build/Makefile.in.orig > libffi/build/Makefile.in<o:p></o:p></p>
<p class="Code">cd libffi && \<o:p></o:p></p>
<p class="Code">    cd build && \<o:p></o:p></p>
<p class="Code">    CC=gcc \<o:p></o:p></p>
<p class="Code">    CXX=gcc \<o:p></o:p></p>
<p class="Code">    LD=ld.gold \<o:p></o:p></p>
<p class="Code">    AR=ar \<o:p></o:p></p>
<p class="Code">    NM=nm \<o:p></o:p></p>
<p class="Code">    RANLIB=ranlib \<o:p></o:p></p>
<p class="Code">        CFLAGS="-Wall -Werror -fno-stack-protector -w" \<o:p></o:p></p>
<p class="Code">        LDFLAGS=" -w" \<o:p></o:p></p>
<p class="Code">        "/bin/bash" ./configure \<o:p></o:p></p>
<p class="Code">          --prefix=/home/simonpj/5builds/HEAD/libffi/build/inst \<o:p></o:p></p>
<p class="Code">          --libdir=/home/simonpj/5builds/HEAD/libffi/build/inst/lib \<o:p></o:p></p>
<p class="Code">          --disable-docs \<o:p></o:p></p>
<p class="Code">          --enable-static=yes \<o:p></o:p></p>
<p class="Code">          --enable-shared=yes \<o:p></o:p></p>
<p class="Code">          --host=x86_64-unknown-linux<o:p></o:p></p>
<p class="Code">checking build system type... x86_64-pc-linux-gnu<o:p></o:p></p>
<p class="Code">checking host system type... x86_64-unknown-linux-gnu<o:p></o:p></p>
<p class="Code">checking target system type... x86_64-unknown-linux-gnu<o:p></o:p></p>
<p class="Code">continue configure in default builddir "./x86_64-unknown-linux-gnu"<o:p></o:p></p>
<p class="Code">....exec /bin/sh .././configure "--srcdir=.." "--enable-builddir=x86_64-unknown-linux-gnu" "linux<o:p></o:p></p>
<p class="Code">gnu"<o:p></o:p></p>
<p class="Code">checking build system type... x86_64-pc-linux-gnu<o:p></o:p></p>
<p class="Code">checking host system type... x86_64-unknown-linux-gnu<o:p></o:p></p>
<p class="Code">checking target system type... x86_64-unknown-linux-gnu<o:p></o:p></p>
<p class="Code">checking for gsed... sed<o:p></o:p></p>
<p class="Code">checking for a BSD-compatible install... /usr/bin/install -c<o:p></o:p></p>
<p class="Code">checking whether build environment is sane... yes<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-strip... no<o:p></o:p></p>
<p class="Code">checking for strip... strip<o:p></o:p></p>
<p class="Code">checking for a thread-safe mkdir -p... /bin/mkdir -p<o:p></o:p></p>
<p class="Code">checking for gawk... gawk<o:p></o:p></p>
<p class="Code">checking whether make sets $(MAKE)... yes<o:p></o:p></p>
<p class="Code">checking whether make supports nested variables... yes<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-gcc... gcc<o:p></o:p></p>
<p class="Code">checking whether the C compiler works... yes<o:p></o:p></p>
<p class="Code">checking for C compiler default output file name... a.out<o:p></o:p></p>
<p class="Code">checking for suffix of executables... <o:p></o:p></p>
<p class="Code">checking whether we are cross compiling... no<o:p></o:p></p>
<p class="Code">checking for suffix of object files... o<o:p></o:p></p>
<p class="Code">checking whether we are using the GNU C compiler... yes<o:p></o:p></p>
<p class="Code">checking whether gcc accepts -g... yes<o:p></o:p></p>
<p class="Code">checking for gcc option to accept ISO C89... none needed<o:p></o:p></p>
<p class="Code">checking whether gcc understands -c and -o together... yes<o:p></o:p></p>
<p class="Code">checking for style of include used by make... GNU<o:p></o:p></p>
<p class="Code">checking dependency style of gcc... gcc3<o:p></o:p></p>
<p class="Code">checking whether we are using the GNU C++ compiler... no<o:p></o:p></p>
<p class="Code">checking whether gcc accepts -g... no<o:p></o:p></p>
<p class="Code">checking dependency style of gcc... gcc3<o:p></o:p></p>
<p class="Code">checking dependency style of gcc... gcc3<o:p></o:p></p>
<p class="Code">checking how to print strings... printf<o:p></o:p></p>
<p class="Code">checking for a sed that does not truncate output... /bin/sed<o:p></o:p></p>
<p class="Code">checking for grep that handles long lines and -e... /bin/grep<o:p></o:p></p>
<p class="Code">checking for egrep... /bin/grep -E<o:p></o:p></p>
<p class="Code">checking for fgrep... /bin/grep -F<o:p></o:p></p>
<p class="Code">checking for ld used by gcc... ld.gold<o:p></o:p></p>
<p class="Code">checking if the linker (ld.gold) is GNU ld... yes<o:p></o:p></p>
<p class="Code">checking for BSD- or MS-compatible name lister (nm)... nm<o:p></o:p></p>
<p class="Code">checking the name lister (nm) interface... BSD nm<o:p></o:p></p>
<p class="Code">checking whether ln -s works... yes<o:p></o:p></p>
<p class="Code">checking the maximum length of command line arguments... 1635000<o:p></o:p></p>
<p class="Code">checking how to convert x86_64-pc-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop<o:p></o:p></p>
<p class="Code">checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop<o:p></o:p></p>
<p class="Code">checking for ld.gold option to reload object files... -r<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-objdump... no<o:p></o:p></p>
<p class="Code">checking for objdump... objdump<o:p></o:p></p>
<p class="Code">checking how to recognize dependent libraries... pass_all<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-dlltool... no<o:p></o:p></p>
<p class="Code">checking for dlltool... no<o:p></o:p></p>
<p class="Code">checking how to associate runtime and link libraries... printf %s\n<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-ar... ar<o:p></o:p></p>
<p class="Code">checking for archiver @FILE support... @<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-strip... strip<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-ranlib... ranlib<o:p></o:p></p>
<p class="Code">checking command to parse nm output from gcc object... ok<o:p></o:p></p>
<p class="Code">checking for sysroot... no<o:p></o:p></p>
<p class="Code">checking for a working dd... /bin/dd<o:p></o:p></p>
<p class="Code">checking how to truncate binary pipes... /bin/dd bs=4096 count=1<o:p></o:p></p>
<p class="Code">checking for x86_64-unknown-linux-mt... no<o:p></o:p></p>
<p class="Code">checking for mt... mt<o:p></o:p></p>
<p class="Code">checking if mt is a manifest tool... no<o:p></o:p></p>
<p class="Code">checking how to run the C preprocessor... gcc -E<o:p></o:p></p>
<p class="Code">checking for ANSI C header files... yes<o:p></o:p></p>
<p class="Code">checking for sys/types.h... yes<o:p></o:p></p>
<p class="Code">checking for sys/stat.h... yes<o:p></o:p></p>
<p class="Code">checking for stdlib.h... yes<o:p></o:p></p>
<p class="Code">checking for string.h... yes<o:p></o:p></p>
<p class="Code">checking for memory.h... yes<o:p></o:p></p>
<p class="Code">checking for strings.h... yes<o:p></o:p></p>
<p class="Code">checking for inttypes.h... yes<o:p></o:p></p>
<p class="Code">checking for stdint.h... yes<o:p></o:p></p>
<p class="Code">checking for unistd.h... yes<o:p></o:p></p>
<p class="Code">checking for dlfcn.h... yes<o:p></o:p></p>
<p class="Code">checking for objdir... .libs<o:p></o:p></p>
<p class="Code">checking if gcc supports -fno-rtti -fno-exceptions... yes<o:p></o:p></p>
<p class="Code">checking for gcc option to produce PIC... -fPIC -DPIC<o:p></o:p></p>
<p class="Code">checking if gcc PIC flag -fPIC -DPIC works... yes<o:p></o:p></p>
<p class="Code">checking if gcc static flag -static works... yes<o:p></o:p></p>
<p class="Code">checking if gcc supports -c -o file.o... yes<o:p></o:p></p>
<p class="Code">checking if gcc supports -c -o file.o... (cached) yes<o:p></o:p></p>
<p class="Code">checking whether the gcc linker (ld.gold -m elf_x86_64) supports shared libraries... yes<o:p></o:p></p>
<p class="Code">checking whether -lc should be explicitly linked in... no<o:p></o:p></p>
<p class="Code">checking dynamic linker characteristics... GNU/Linux ld.so<o:p></o:p></p>
<p class="Code">checking how to hardcode library paths into programs... immediate<o:p></o:p></p>
<p class="Code">checking whether stripping libraries is possible... yes<o:p></o:p></p>
<p class="Code">checking if libtool supports shared libraries... yes<o:p></o:p></p>
<p class="Code">checking whether to build shared libraries... yes<o:p></o:p></p>
<p class="Code">checking whether to build static libraries... yes<o:p></o:p></p>
<p class="Code">checking how to run the C++ preprocessor... /lib/cpp<o:p></o:p></p>
<p class="Code">configure: error: in `/home/simonpj/5builds/HEAD/libffi/build/x86_64-unknown-linux-gnu':<o:p></o:p></p>
<p class="Code">configure: error: C++ preprocessor "/lib/cpp" fails sanity check<o:p></o:p></p>
<p class="Code">See `config.log' for more details<o:p></o:p></p>
<p class="Code">libffi/ghc.mk:47: recipe for target 'libffi/stamp.ffi.static-shared.configure' failed<o:p></o:p></p>
<p class="Code">make[1]: *** [libffi/stamp.ffi.static-shared.configure] Error 1<o:p></o:p></p>
<p class="Code">Makefile:122: recipe for target 'all' failed<o:p></o:p></p>
<p class="Code">make: *** [all] Error 2<o:p></o:p></p>
</div>
</body>
</html>