mcsema icon indicating copy to clipboard operation
mcsema copied to clipboard

Building docker image on ubuntu 18.04

Open Mohannadcse opened this issue 4 years ago • 3 comments

I'm trying to build the docker image using the provided instructions

I'm using the following ubuntu machine (I used this command uname -a)

Linux ma481-ub 5.4.0-64-generic #72~18.04.1-Ubuntu SMP Fri Jan 15 14:06:34 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

I executed the following command

ARCH=amd64; UBUNTU=18.04; LLVM=800; docker build .   -t mcsema:llvm${LLVM}-ubuntu${UBUNTU}-${ARCH}   -f Dockerfile   --build-arg UBUNTU_VERSION=${UBUNTU}   --build-arg LLVM_VERSION=${LLVM}   --build-arg ARCH=${ARCH}

The building started correctly, but received an error and here is the entire terminal log.

Sending build context to Docker daemon  222.5MB
Step 1/32 : ARG LLVM_VERSION=1000
Step 2/32 : ARG ARCH=amd64
Step 3/32 : ARG UBUNTU_VERSION=18.04
Step 4/32 : ARG DISTRO_BASE=ubuntu${UBUNTU_VERSION}
Step 5/32 : ARG BUILD_BASE=ubuntu:${UBUNTU_VERSION}
Step 6/32 : ARG LIBRARIES=/opt/trailofbits/libraries
Step 7/32 : FROM ${BUILD_BASE} as base
 ---> c090eaba6b94
Step 8/32 : ARG UBUNTU_VERSION
 ---> Using cache
 ---> b9f48296cbdc
Step 9/32 : ARG LIBRARIES
 ---> Using cache
 ---> ae2c21d48be5
Step 10/32 : RUN apt-get update &&     apt-get install -qqy --no-install-recommends python2.7 zlib1g curl ca-certificates &&     curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py && python2.7 get-pip.py &&     update-alternatives --install /usr/bin/python2 python2 /usr/bin/python2.7 1 &&     if [ "${UBUNTU_VERSION}" = "18.04" ] ; then       apt-get install -qqy --no-install-recommends libtinfo5 ;     else       apt-get install -qqy --no-install-recommends libtinfo6 ;     fi &&     rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> 8b1f62fba7f4
Step 11/32 : FROM trailofbits/anvill:llvm${LLVM_VERSION}-${DISTRO_BASE}-${ARCH} as anvill
 ---> f830816724d1
Step 12/32 : FROM trailofbits/cxx-common:llvm${LLVM_VERSION}-${DISTRO_BASE}-${ARCH} as deps
 ---> bd8d20cdc1dd
Step 13/32 : ARG LIBRARIES
 ---> Using cache
 ---> e266b493b16e
Step 14/32 : RUN apt-get update &&     apt-get install -qqy python2.7 python3 python3-pip libc6-dev wget liblzma-dev zlib1g-dev libtinfo-dev curl git build-essential ninja-build libselinux1-dev libbsd-dev ccache &&     if [ "$(uname -m)" = "x86_64" ]; then dpkg --add-architecture i386 && apt-get update && apt-get install -qqy gcc-multilib g++-multilib zip zlib1g-dev:i386; fi &&     rm -rf /var/lib/apt/lists/* &&     pip3 install ccsyspath
 ---> Using cache
 ---> c9f0f71b9847
Step 15/32 : RUN curl https://bootstrap.pypa.io/2.7/get-pip.py --output get-pip.py && python2.7 get-pip.py
 ---> Using cache
 ---> 676901047aec
Step 16/32 : RUN update-alternatives --install /usr/bin/python2 python2 /usr/bin/python2.7 1
 ---> Using cache
 ---> 7f4db4d05e98
Step 17/32 : COPY --from=anvill /opt/trailofbits/remill /opt/trailofbits/remill
 ---> Using cache
 ---> 66b83bbee15a
Step 18/32 : COPY --from=anvill /opt/trailofbits/anvill /opt/trailofbits/anvill
 ---> Using cache
 ---> 27b759b3173d
Step 19/32 : ENV PATH="${LIBRARIES}/llvm/bin:${LIBRARIES}/cmake/bin:${LIBRARIES}/protobuf/bin:${PATH}"     CC="${LIBRARIES}/llvm/bin/clang"     CXX="${LIBRARIES}/llvm/bin/clang++"     TRAILOFBITS_LIBRARIES="${LIBRARIES}"
 ---> Using cache
 ---> 7d437388e08f
Step 20/32 : WORKDIR /mcsema
 ---> Using cache
 ---> 89b680569650
Step 21/32 : FROM deps as build
 ---> 89b680569650
Step 22/32 : COPY . ./
 ---> Using cache
 ---> 3774874f6841
Step 23/32 : RUN mkdir -p ./build && cd ./build &&     cmake -G Ninja -DCMAKE_PREFIX_PATH="/opt/trailofbits/remill;/opt/trailofbits/anvill" -DMCSEMA_DISABLED_ABI_LIBRARIES:STRING="" -DCMAKE_VERBOSE_MAKEFILE=True -DCMAKE_INSTALL_PREFIX=/opt/trailofbits/mcsema .. &&     cmake --build . --target install
 ---> Running in ded79811e027
-- The C compiler identification is Clang 8.0.0
-- The CXX compiler identification is Clang 8.0.0
-- Check for working C compiler: /opt/trailofbits/libraries/llvm/bin/clang
-- Check for working C compiler: /opt/trailofbits/libraries/llvm/bin/clang - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/trailofbits/libraries/llvm/bin/clang++
-- Check for working CXX compiler: /opt/trailofbits/libraries/llvm/bin/clang++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Install prefix: /opt/trailofbits/mcsema
-- LLVM bin dir: /opt/trailofbits/libraries/llvm/bin
-- The following compiler has been selected to compile the bitcode: /opt/trailofbits/libraries/llvm/bin/clang++
-- ccache: enabled with '/usr/bin/ccache'. The cache folder is located here: '/root/.ccache'
-- Using LLVM_INSTALL_PREFIX hints for find_package(LLVM): /opt/trailofbits/libraries/llvm/lib/cmake/llvm/;/opt/trailofbits/libraries/llvm/share/llvm/cmake/
-- The ASM compiler identification is Clang
-- Found assembler: /opt/trailofbits/libraries/llvm/bin/clang++
-- Disabled ABI libraries: 
-- You can change this setting with -DMCSEMA_DISABLED_ABI_LIBRARIES:STRING="Name1;Name2"
-- Adding ABI library: mcsema/OS/Linux
 > Generating Linux ABI target: ABI_exceptions_x86
Build flags: -femit-all-decls;-xc++;-m32;-std=gnu++14;-Wno-deprecated-declarations
 > Generating Linux ABI target: ABI_libc_x86
Build flags: -femit-all-decls;-xc;-m32;-std=gnu11;-Wno-deprecated-declarations
 > Generating Linux ABI target: ABI_exceptions_amd64
Build flags: -femit-all-decls;-xc++;-m64;-std=gnu++14;-Wno-deprecated-declarations
 > Generating Linux ABI target: ABI_libc_amd64
Build flags: -femit-all-decls;-xc;-m64;-std=gnu11;-Wno-deprecated-declarations
-- Configuring done
-- Generating done
-- Build files have been written to: /mcsema/build
[1/42] cd /mcsema/build && /opt/trailofbits/libraries/protobuf/bin/protoc --python_out /mcsema/build -I /mcsema/mcsema/CFG /mcsema/mcsema/CFG/CFG.proto
[2/42] cd /mcsema/build && /opt/trailofbits/libraries/cmake/bin/cmake -E copy /mcsema/build/CFG_pb2.py /mcsema/tools/mcsema_disass/ida7
[3/42] cd /mcsema/tools && which python2 && python2 setup.py build --force
/usr/bin/python2
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/mcsema_disass
copying mcsema_disass/__main__.py -> build/lib.linux-x86_64-2.7/mcsema_disass
copying mcsema_disass/__init__.py -> build/lib.linux-x86_64-2.7/mcsema_disass
creating build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/disass.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/sparc_util.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/anvill_compat.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/refs.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/exception.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/table.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/flow.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/arm_util.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/__init__.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/get_cfg.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/segment.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/util.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/x86_util.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
copying mcsema_disass/ida7/CFG_pb2.py -> build/lib.linux-x86_64-2.7/mcsema_disass/ida7
creating build/lib.linux-x86_64-2.7/mcsema_disass/defs
copying mcsema_disass/defs/__init__.py -> build/lib.linux-x86_64-2.7/mcsema_disass/defs
copying mcsema_disass/defs/linux.txt -> build/lib.linux-x86_64-2.7/mcsema_disass/defs
copying mcsema_disass/defs/windows.txt -> build/lib.linux-x86_64-2.7/mcsema_disass/defs
[4/42] cd /mcsema/build/mcsema/Version && /opt/trailofbits/libraries/cmake/bin/cmake -D_BUILD_TIME_CHECK_GIT=TRUE -DGIT_WORKING_DIR=/mcsema -DGIT_EXECUTABLE=/usr/bin/git -DGIT_STATE_FILE=/mcsema/build/git-state-hash -DPRE_CONFIGURE_FILE=/mcsema/mcsema/Version/Version.cpp.in -DPOST_CONFIGURE_FILE=/mcsema/build/mcsema/Version/Version.cpp -P /mcsema/cmake/git_watcher.cmake
[5/42] cd /mcsema/tools && which python3 && python3 setup.py build --force
/usr/bin/python3
running build
running build_py
creating build/lib
creating build/lib/mcsema_disass
copying mcsema_disass/__main__.py -> build/lib/mcsema_disass
copying mcsema_disass/__init__.py -> build/lib/mcsema_disass
creating build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/disass.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/sparc_util.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/anvill_compat.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/refs.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/exception.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/table.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/flow.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/arm_util.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/__init__.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/get_cfg.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/segment.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/util.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/x86_util.py -> build/lib/mcsema_disass/ida7
copying mcsema_disass/ida7/CFG_pb2.py -> build/lib/mcsema_disass/ida7
creating build/lib/mcsema_disass/defs
copying mcsema_disass/defs/__init__.py -> build/lib/mcsema_disass/defs
copying mcsema_disass/defs/linux.txt -> build/lib/mcsema_disass/defs
copying mcsema_disass/defs/windows.txt -> build/lib/mcsema_disass/defs
[6/42] /usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++   -I../ -O2 -g -DNDEBUG   -std=c++17 -MD -MT mcsema/Version/CMakeFiles/McSemaVersion.dir/Version.cpp.o -MF mcsema/Version/CMakeFiles/McSemaVersion.dir/Version.cpp.o.d -o mcsema/Version/CMakeFiles/McSemaVersion.dir/Version.cpp.o -c mcsema/Version/Version.cpp
[7/42] : && /opt/trailofbits/libraries/cmake/bin/cmake -E rm -f mcsema/Version/libMcSemaVersion.a && /usr/bin/ar qc mcsema/Version/libMcSemaVersion.a  mcsema/Version/CMakeFiles/McSemaVersion.dir/Version.cpp.o && /usr/bin/ranlib mcsema/Version/libMcSemaVersion.a && :
[8/42] cd /mcsema/build && /opt/trailofbits/libraries/protobuf/bin/protoc --cpp_out /mcsema/build -I /mcsema/mcsema/CFG /mcsema/mcsema/CFG/CFG.proto
[9/42] /usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -I../ -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -O2 -g -DNDEBUG   -Wno-invalid-offsetof -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-unreachable-code-return -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -MD -MT mcsema/Arch/X86/Runtime/CMakeFiles/mcsema-print-runtime-amd64.dir/print_ELF_64_linux.cpp.o -MF mcsema/Arch/X86/Runtime/CMakeFiles/mcsema-print-runtime-amd64.dir/print_ELF_64_linux.cpp.o.d -o mcsema/Arch/X86/Runtime/CMakeFiles/mcsema-print-runtime-amd64.dir/print_ELF_64_linux.cpp.o -c ../mcsema/Arch/X86/Runtime/print_ELF_64_linux.cpp
[10/42] /usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DGOOGLE_PROTOBUF_NO_RTTI -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -isystem /opt/trailofbits/libraries/protobuf/include -isystem . -isystem ../ -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/anvill/include -O2 -g -DNDEBUG   -Wconversion -pedantic -Wno-unreachable-code-return -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -MD -MT CMakeFiles/mcsema-lift-8.0.dir/mcsema/Arch/Arch.cpp.o -MF CMakeFiles/mcsema-lift-8.0.dir/mcsema/Arch/Arch.cpp.o.d -o CMakeFiles/mcsema-lift-8.0.dir/mcsema/Arch/Arch.cpp.o -c ../mcsema/Arch/Arch.cpp
[11/42] /usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DGOOGLE_PROTOBUF_NO_RTTI -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -isystem /opt/trailofbits/libraries/protobuf/include -isystem . -isystem ../ -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/anvill/include -O2 -g -DNDEBUG   -Wconversion -pedantic -Wno-unreachable-code-return -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -Wno-sign-conversion -Wno-shorten-64-to-32 -Wno-conversion -MD -MT CMakeFiles/mcsema-lift-8.0.dir/CFG.pb.cc.o -MF CMakeFiles/mcsema-lift-8.0.dir/CFG.pb.cc.o.d -o CMakeFiles/mcsema-lift-8.0.dir/CFG.pb.cc.o -c CFG.pb.cc
[12/42] /usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DGOOGLE_PROTOBUF_NO_RTTI -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -isystem /opt/trailofbits/libraries/protobuf/include -isystem . -isystem ../ -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/anvill/include -O2 -g -DNDEBUG   -Wconversion -pedantic -Wno-unreachable-code-return -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -MD -MT CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o -MF CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o.d -o CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o -c ../mcsema/CFG/CFG.cpp
FAILED: CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o 
/usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DGOOGLE_PROTOBUF_NO_RTTI -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -isystem /opt/trailofbits/libraries/protobuf/include -isystem . -isystem ../ -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/anvill/include -O2 -g -DNDEBUG   -Wconversion -pedantic -Wno-unreachable-code-return -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -MD -MT CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o -MF CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o.d -o CMakeFiles/mcsema-lift-8.0.dir/mcsema/CFG/CFG.cpp.o -c ../mcsema/CFG/CFG.cpp
../mcsema/CFG/CFG.cpp:1372:38: error: no member named 'IsSPARC64' in 'remill::Arch'
    if ((func->is_exported && gArch->IsSPARC64() &&
                              ~~~~~  ^
1 error generated.
[13/42] /usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DGOOGLE_PROTOBUF_NO_RTTI -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -isystem /opt/trailofbits/libraries/protobuf/include -isystem . -isystem ../ -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/anvill/include -O2 -g -DNDEBUG   -Wconversion -pedantic -Wno-unreachable-code-return -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -MD -MT CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o -MF CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o.d -o CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o -c ../mcsema/BC/Callback.cpp
FAILED: CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o 
/usr/bin/ccache /opt/trailofbits/libraries/llvm/bin/clang++  -DGOOGLE_PROTOBUF_NO_RTTI -DNDEBUG -DREMILL_BUILD_SEMANTICS_DIR_AARCH64=\"/remill/build/remill/Arch/AArch64/Runtime/\" -DREMILL_BUILD_SEMANTICS_DIR_X86=\"/remill/build/remill/Arch/X86/Runtime/\" -DREMILL_INSTALL_SEMANTICS_DIR=\"/opt/trailofbits/remill/share/remill/8.0/semantics//\" -isystem /opt/trailofbits/libraries/protobuf/include -isystem . -isystem ../ -isystem /opt/trailofbits/libraries/z3/include -isystem /opt/trailofbits/libraries/llvm/include -isystem /opt/trailofbits/libraries/xed/include -isystem /opt/trailofbits/libraries/glog/include -isystem /opt/trailofbits/libraries/gflags/include -isystem /opt/trailofbits/remill/include -isystem /opt/trailofbits/anvill/include -O2 -g -DNDEBUG   -Wconversion -pedantic -Wno-unreachable-code-return -Wall -Wextra -Wno-unused-parameter -Wno-c++98-compat -Wno-nested-anon-types -Wno-extended-offsetof -Wno-variadic-macros -Wno-return-type-c-linkage -Wno-c99-extensions -Wno-ignored-attributes -Wno-unused-local-typedef -Wno-unknown-pragmas -Wno-unknown-warning-option -fPIC -fno-omit-frame-pointer -fvisibility-inlines-hidden -fno-asynchronous-unwind-tables -Wgnu-alignof-expression -Wno-gnu-anonymous-struct -Wno-gnu-designator -Wno-gnu-zero-variadic-macro-arguments -Wno-gnu-statement-expression -fno-aligned-allocation -gdwarf-2 -g3 -O2 -std=c++17 -MD -MT CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o -MF CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o.d -o CMakeFiles/mcsema-lift-8.0.dir/mcsema/BC/Callback.cpp.o -c ../mcsema/BC/Callback.cpp
../mcsema/BC/Callback.cpp:366:18: error: no member named 'kArchSparc32' in namespace 'remill'
    case remill::kArchSparc32:
         ~~~~~~~~^
../mcsema/BC/Callback.cpp:367:18: error: no member named 'kArchSparc64' in namespace 'remill'
    case remill::kArchSparc64:
         ~~~~~~~~^
2 errors generated.
ninja: build stopped: subcommand failed.
The command '/bin/sh -c mkdir -p ./build && cd ./build &&     cmake -G Ninja -DCMAKE_PREFIX_PATH="/opt/trailofbits/remill;/opt/trailofbits/anvill" -DMCSEMA_DISABLED_ABI_LIBRARIES:STRING="" -DCMAKE_VERBOSE_MAKEFILE=True -DCMAKE_INSTALL_PREFIX=/opt/trailofbits/mcsema .. &&     cmake --build . --target install' returned a non-zero code: 1

Mohannadcse avatar Feb 02 '21 01:02 Mohannadcse

It seems like you have an older version of remill, or that we're missing an include in that particular file. Let's hope for the latter. Can you try adding: #include <remill/Arch/Arch.h> and #include <remill/Arch/Name.h> at the top of mcsema/BC/Callback.cpp and report back on if it fixes the errors or not?

pgoodman avatar Feb 02 '21 18:02 pgoodman

Both header files are included in mcsema/BC/Callback.cpp as shown below.

image

Mohannadcse avatar Feb 04 '21 19:02 Mohannadcse

Which remill version should be installed?

Mohannadcse avatar Feb 08 '21 02:02 Mohannadcse