uwplse / herbgrind

A Valgrind tool for Herbie
GNU General Public License v3.0
90 stars 7 forks source link

Installation error on Power8 platform #57

Open huiguoo opened 4 years ago

huiguoo commented 4 years ago

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!

HazardousPeach commented 4 years ago

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 \
HazardousPeach commented 4 years ago

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.