herbgrind
herbgrind copied to clipboard
Installation error on Power8 platform
I attempted to use herbgrind on a Power8 platform but got an error when installing it.
The system I am using is
$uname -a
Linux ray23 3.10.0-957.21.3.1chaos.ch6.ppc64le #1 SMP Tue Jun 25 09:02:47 PDT 2019 ppc64le ppc64le ppc64le GNU/Linux
I modified TARGET_PLAT
and ARCH_PRI
in Makefile as shown the following before make
TARGET_PLAT:=$(shell test `uname` = "Darwin" && echo "ppc64le-darwin" || echo "ppc64le-linux")
ARCH_PRI=ppc64le
and got the error below
tar xf setup/gmp-6.1.0.tar.xz
mkdir -p deps
rm -rf deps/gmp-64
mv gmp-6.1.0 deps/gmp-64
touch deps/gmp-64/README
cd setup && ./patch_gmp.sh 64
cd deps/gmp-64/ && \
CFLAGS="-fno-stack-protector" \
ABI=64 \
./configure --prefix=/usr/workspace/wsa/guo8/home3/herbgrind/deps/gmp-64/herbgrind-install
checking build system type... power8-unknown-linux-gnu
checking host system type... power8-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... no
configure: error: ABI=64 is not among the following valid choices: mode64 mode32 32
make: *** [Makefile:153: deps/gmp-64/herbgrind-install/lib/libgmp.a] Error 1
As suggestions about what the error is and how to fix it? Thanks!
It looks like you're getting an error during the configuration of the GMP library, because when configured for Power8, GMP expects the ABI string "mode64" instead of "64" (which it uses for x86_64). You can fix this issue by replacing line 60,
ABI=$* \
with
ABI=mode64 \
Herbgrind doesnt officially support any platforms besides x86_64 linux and i386 linux, but Valgrind the underlying technology does appear to support Power8, so while you might encounter a few more issues where the Makefile isn't designed for this, you can still probably get it working.