Linux failure

Simon Peyton Jones simonpj at microsoft.com
Mon Nov 20 13:14:25 UTC 2017


Hi devs
I've got my Linux box upgraded to a recent version of Ubuntu, so I'm no longer stuck on gcc version.
But I can't build either.  Something strange with /lib/cpp fails sanity check.  The log is below.
Can anyone help? I'm a bit stalled.
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.
Thanks
Simon

simonpj at cam-05-unx:~/5builds/HEAD$ make

===--- building phase 0

make --no-print-directory -f ghc.mk phase=0 phase_0_builds

make[1]: Nothing to be done for 'phase_0_builds'.

===--- building phase 1

make --no-print-directory -f ghc.mk phase=1 phase_1_builds

make[1]: Nothing to be done for 'phase_1_builds'.

===--- building final phase

make --no-print-directory -f ghc.mk phase=final all

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

libraries/ghci/ghc.mk:4: libraries/ghci/dist-install/build/.depend-v-dyn.haskell: No such file or directory

"rm" -f libffi/stamp.ffi.static.configure

"rm" -f libffi/stamp.ffi.static.build

"rm" -f libffi/stamp.ffi.static.install

"rm" -f libffi/stamp.ffi.static-shared.configure

"rm" -f libffi/stamp.ffi.static-shared.build

"rm" -f libffi/stamp.ffi.static-shared.install

"rm" -rf  libffi/build

cat libffi-tarballs/libffi*.tar.gz | /bin/gzip -d | { cd libffi && /bin/tar -xf - ; }

mv libffi/libffi-* libffi/build

cp "/home/simonpj/5builds/HEAD/config.guess" libffi/build/config.guess

cp "/home/simonpj/5builds/HEAD/config.sub"   libffi/build/config.sub

chmod +x libffi/ln

# We need to use -MMD rather than -MD, as otherwise we get paths

# like c:/... in the dependency files on Windows, and the extra

# colons break make

mv libffi/build/Makefile.in libffi/build/Makefile.in.orig

sed "s/-MD/-MMD/" < libffi/build/Makefile.in.orig > libffi/build/Makefile.in

# We attempt to specify the installation directory below with --libdir,

# but libffi installs into 'toolexeclibdir' instead, which may differ

# on systems where gcc has multilib support. Force libffi to use libdir.

# (https://sourceware.org/ml/libffi-discuss/2014/msg00016.html)

mv libffi/build/Makefile.in libffi/build/Makefile.in.orig

sed 's:@toolexeclibdir@:$(libdir):g' < libffi/build/Makefile.in.orig > libffi/build/Makefile.in

# install-sh is used when /usr/bin/install is missing; ensure its

# path in libffi's Makefile is correct. See GHC #11109.

mv libffi/build/Makefile.in libffi/build/Makefile.in.orig

sed 's|@INSTALL@|$(subst ../install-sh,/home/simonpj/5builds/HEAD/install-sh, at INSTALL@)|g' < libffi/build/Makefile.in.orig > libffi/build/Makefile.in

cd libffi && \

    cd build && \

    CC=gcc \

    CXX=gcc \

    LD=ld.gold \

    AR=ar \

    NM=nm \

    RANLIB=ranlib \

        CFLAGS="-Wall -Werror -fno-stack-protector -w" \

        LDFLAGS=" -w" \

        "/bin/bash" ./configure \

          --prefix=/home/simonpj/5builds/HEAD/libffi/build/inst \

          --libdir=/home/simonpj/5builds/HEAD/libffi/build/inst/lib \

          --disable-docs \

          --enable-static=yes \

          --enable-shared=yes \

          --host=x86_64-unknown-linux

checking build system type... x86_64-pc-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

continue configure in default builddir "./x86_64-unknown-linux-gnu"

....exec /bin/sh .././configure "--srcdir=.." "--enable-builddir=x86_64-unknown-linux-gnu" "linux

gnu"

checking build system type... x86_64-pc-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

checking for gsed... sed

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for x86_64-unknown-linux-strip... no

checking for strip... strip

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking whether make supports nested variables... yes

checking for x86_64-unknown-linux-gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking whether gcc understands -c and -o together... yes

checking for style of include used by make... GNU

checking dependency style of gcc... gcc3

checking whether we are using the GNU C++ compiler... no

checking whether gcc accepts -g... no

checking dependency style of gcc... gcc3

checking dependency style of gcc... gcc3

checking how to print strings... printf

checking for a sed that does not truncate output... /bin/sed

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for fgrep... /bin/grep -F

checking for ld used by gcc... ld.gold

checking if the linker (ld.gold) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... nm

checking the name lister (nm) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1635000

checking how to convert x86_64-pc-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop

checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop

checking for ld.gold option to reload object files... -r

checking for x86_64-unknown-linux-objdump... no

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for x86_64-unknown-linux-dlltool... no

checking for dlltool... no

checking how to associate runtime and link libraries... printf %s\n

checking for x86_64-unknown-linux-ar... ar

checking for archiver @FILE support... @

checking for x86_64-unknown-linux-strip... strip

checking for x86_64-unknown-linux-ranlib... ranlib

checking command to parse nm output from gcc object... ok

checking for sysroot... no

checking for a working dd... /bin/dd

checking how to truncate binary pipes... /bin/dd bs=4096 count=1

checking for x86_64-unknown-linux-mt... no

checking for mt... mt

checking if mt is a manifest tool... no

checking how to run the C preprocessor... gcc -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking for dlfcn.h... yes

checking for objdir... .libs

checking if gcc supports -fno-rtti -fno-exceptions... yes

checking for gcc option to produce PIC... -fPIC -DPIC

checking if gcc PIC flag -fPIC -DPIC works... yes

checking if gcc static flag -static works... yes

checking if gcc supports -c -o file.o... yes

checking if gcc supports -c -o file.o... (cached) yes

checking whether the gcc linker (ld.gold -m elf_x86_64) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking how to run the C++ preprocessor... /lib/cpp

configure: error: in `/home/simonpj/5builds/HEAD/libffi/build/x86_64-unknown-linux-gnu':

configure: error: C++ preprocessor "/lib/cpp" fails sanity check

See `config.log' for more details

libffi/ghc.mk:47: recipe for target 'libffi/stamp.ffi.static-shared.configure' failed

make[1]: *** [libffi/stamp.ffi.static-shared.configure] Error 1

Makefile:122: recipe for target 'all' failed

make: *** [all] Error 2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20171120/bb51b4a2/attachment-0001.html>


More information about the ghc-devs mailing list