Allow libffi snapshots
Concern Raisede515c7f37be9

Authored by angerman on Sep 30 2017, 8:31 AM.

Description

Allow libffi snapshots

This is rather annoying. I'd prefer to have a stable release to
use. However libffi-3.2.1 has been released November 12, 2014, and
libffi-4 is TBD. See also https://github.com/libffi/libffi/issues/296

The core reason for this change is that llvm changed the supported
assembly to unified syntax, which libffi-3.2.1 does not use, and hence
fails to compile for arm with llvm. For refence, see the following
issue: https://github.com/libffi/libffi/issues/191.

This diff contains a script to generate a tarball for the
libffi-tarballs repository from the libffi GitHub repository; as well
as the necessary changes to the build system.

Updates libffi-tarballs submodule.

Reviewers: austin, bgamari, hvr

Subscribers: hvr, erikd, rwbarton, thomie

Differential Revision: https://phabricator.haskell.org/D3574

nomeata raised a concern with this commit.Oct 14 2017, 2:58 PM
nomeata added a subscriber: nomeata.

It looks like this broke perf.haskell.org, and it is still broken:

echo 'export LD_LIBRARY_PATH="/home/nomeata/logs/ghc-tmp-REV/libraries/process/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/directory/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/unix/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/filepath/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/time/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/bytestring/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/deepseq/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/array/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/base/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/integer-gmp/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/libraries/ghc-prim/dist-install/build:/home/nomeata/logs/ghc-tmp-REV/rts/dist/build${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"' >> inplace/bin/runghc
cat utils/runghc/runghc.wrapper                                     >> inplace/bin/runghc
chmod +x                                                     inplace/bin/runghc
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_uint64'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_uint32'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_uint16'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_uint8'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_sint64'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_sint32'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_sint16'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_sint8'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_double'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_float'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_pointer'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_type_void'
/home/nomeata/logs/ghc-tmp-REV/libraries/ghci/dist-install/build/libHSghci-8.3-ghc8.3.20171009.so: error: undefined reference to 'ffi_prep_cif'
collect2: Fehler: ld gab 1 als Ende-Status zurück
`gcc' failed in phase `Linker'. (Exit code: 1)
make[1]: *** [iserv/ghc.mk:108: iserv/stage2_dyn/build/tmp/ghc-iserv-dyn] Fehler 1
make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet....
make: *** [Makefile:127: all] Fehler 2

Any ideas what might be causing this?

This commit now has outstanding concerns.Oct 14 2017, 2:58 PM