Open rybla opened 3 years ago
The following is the process I got working for building evm-semantics from a fresh clone on MacOS.
Clone repository and subrepositories:
git clone git@github.com:kframework/evm-semantics.git
cd evm-semantics
git submodule update --init --recursive
Build dependencies:
mkdir -p .build/usr/bin
mkdir -p .build/usr/lib/kevm
make deps RELEASE=true -j8
Build libsecp256k1:
make libsecp256k1
Build plugin dependency: (I'm not sure why, but if I try to run make build RELEASE=true -j1
before this, then I get some C errors; I think it tries to use a different version of cmake
than I have on path, somehow)
cd deps/plugin/deps/libff/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../../.build/local -DWITH_PROCPS=OFF
make -s -j1
make install
Build evm-semantics:
cd ../../../../../
make build RELEASE=true -j1
Still gives me this warning though:
ld: warning: could not create compact unwind for _step: r15 is saved too far from return address
Add K to path:
export PATH="../evm-semantics/deps/k/k-distribution/bin:$PATH"
Add KEVM to path:
export PATH="/Users/henry/Documents/RV/evm-semantics/.build/usr/bin:$PATH"
This is great, thank you!
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../../.build/local -DWITH_PROCPS=OFF
did not work for me (cannot find OPENSSL_ROOT_DIR)
had to use cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOPENSSL_LIBRARIES=/usr/local/opt/openssl/lib
master
macos bigSur 11.6
~/.d/k/evm-semantics (master ✔) make build RELEASE=true -j8
cd .build/usr/lib/kevm/node/build/ && cmake /Users/echo/.dapp/k/evm-semantics/cmake/node -DCMAKE_INSTALL_PREFIX=/usr/lib/kevm/node && /Library/Developer/CommandLineTools/usr/bin/make
kevm kompile --backend llvm \
driver.md \
--directory .build/usr/lib/kevm/llvm \
--main-module ETHEREUM-SIMULATION \
--syntax-module ETHEREUM-SIMULATION \
--debug -I /usr/lib/kevm/include/kframework -I /usr/lib/kevm/blockchain-k-plugin/include/kframework -O2
+ case "$run_command-$backend" in
+ run_kompile --directory .build/usr/lib/kevm/llvm --main-module ETHEREUM-SIMULATION --syntax-module ETHEREUM-SIMULATION --debug -I /usr/lib/kevm/include/kframework -I /usr/lib/kevm/blockchain-k-plugin/include/kframework -O2
+ local kompile_opts openssl_root
+ kompile_opts=("${run_file}")
+ kompile_opts+=(-I "${INSTALL_INCLUDE}/kframework" -I "${plugin_include}/kframework")
+ kompile_opts+=(--hook-namespaces "JSON KRYPTO BLOCKCHAIN")
+ kompile_opts+=(--emit-json)
+ [[ ! -z '' ]]
+ case "${backend}" in
+ kompile_opts+=(--md-selector 'k & ! nobytes & ! node')
+ kompile_opts+=(--backend llvm)
+ kompile_opts+=(-ccopt -L${libff_dir}/lib -ccopt -I${libff_dir}/include)
+ kompile_opts+=(-ccopt ${plugin_include}/c/plugin_util.cpp)
+ kompile_opts+=(-ccopt ${plugin_include}/c/crypto.cpp)
+ kompile_opts+=(-ccopt ${plugin_include}/c/blake2.cpp)
+ kompile_opts+=(-ccopt -g -ccopt -std=c++14)
+ kompile_opts+=(-ccopt -lff -ccopt -lcryptopp -ccopt -lsecp256k1 -ccopt -lssl -ccopt -lcrypto)
++ uname -s
+ [[ Darwin == \L\i\n\u\x ]]
++ uname -s
+ [[ Darwin == \D\a\r\w\i\n ]]
++ brew --prefix openssl
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/node/build
Consolidate compiler generated dependencies of target kevm-vm
[ 9%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp.o
[ 27%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/main.cpp.o
[ 27%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/vm.cpp.o
[ 45%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/kevm/semantics.cpp.o
[ 45%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/plugin-c/blockchain.cpp.o
[ 54%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/plugin-c/world.cpp.o
[ 63%] Building CXX object CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/deps/plugin/plugin-c/crypto.cpp.o
/Users/echo/.dapp/k/evm-semantics/deps/plugin/plugin-c/crypto.cpp:1:10: fatal error: 'cryptopp/keccak.h' file not found
#include <cryptopp/keccak.h>
^~~~~~~~~~~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp:8:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/runtime/header.h:17:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/flex_vector.hpp:11:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/rrbtree.hpp:11:
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/config.hpp:90:7: error: 'auto' type specifier is a C++11 extension [-Werror,-Wc++11-extensions]
const auto default_bits = 5;
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/config.hpp:91:7: error: 'auto' type specifier is a C++11 extension [-Werror,-Wc++11-extensions]
const auto default_free_list_size = 1 << 10;
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp:8:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/runtime/header.h:17:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/flex_vector.hpp:11:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/rrbtree.hpp:12:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/node.hpp:11:
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:42:19: error: variadic templates are a C++11 extension [-Werror,-Wc++11-extensions]
template <typename... Ts>
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:45:19: error: variadic templates are a C++11 extension [-Werror,-Wc++11-extensions]
template <typename... Ts>
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:46:35: error: alias declarations are a C++11 extension [-Werror,-Wc++11-extensions]
using combine_standard_layout_t = typename combine_standard_layout<Ts...>::type;
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:70:25: error: 'decltype(auto)' type specifier is a C++14 extension [-Werror,-Wc++14-extensions]
friend decltype(auto) get(type& x)
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:70:16: error: 'decltype(auto)' not allowed in function return type
friend decltype(auto) get(type& x)
^~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/__config:893:24: note: expanded from macro 'decltype'
# define decltype(...) __decltype(__VA_ARGS__)
^~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp:8:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/runtime/header.h:17:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/flex_vector.hpp:11:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/rrbtree.hpp:12:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/node.hpp:11:
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:75:25: error: 'decltype(auto)' type specifier is a C++14 extension [-Werror,-Wc++14-extensions]
friend decltype(auto) get(const type& x)
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:75:16: error: 'decltype(auto)' not allowed in function return type
friend decltype(auto) get(const type& x)
^~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/__config:893:24: note: expanded from macro 'decltype'
# define decltype(...) __decltype(__VA_ARGS__)
^~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp:8:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/runtime/header.h:17:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/flex_vector.hpp:11:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/rrbtree.hpp:12:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/node.hpp:11:
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:72:36: error: expected '(' for function-style cast or type construction
return x.get_(type_t<U>{});
~~~~~~~~~^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:77:36: error: expected '(' for function-style cast or type construction
return x.get_(type_t<U>{});
~~~~~~~~~^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:91:25: error: 'decltype(auto)' type specifier is a C++14 extension [-Werror,-Wc++14-extensions]
friend decltype(auto) get(type& x)
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:91:16: error: 'decltype(auto)' not allowed in function return type
friend decltype(auto) get(type& x)
^~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/__config:893:24: note: expanded from macro 'decltype'
# define decltype(...) __decltype(__VA_ARGS__)
^~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp:8:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/runtime/header.h:17:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/flex_vector.hpp:11:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/rrbtree.hpp:12:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/node.hpp:11:
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:96:25: error: 'decltype(auto)' type specifier is a C++14 extension [-Werror,-Wc++14-extensions]
friend decltype(auto) get(const type& x)
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:96:16: error: 'decltype(auto)' not allowed in function return type
friend decltype(auto) get(const type& x)
^~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/__config:893:24: note: expanded from macro 'decltype'
# define decltype(...) __decltype(__VA_ARGS__)
^~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp:8:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/runtime/header.h:17:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/flex_vector.hpp:11:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/rrbtree.hpp:12:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/rbts/node.hpp:11:
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:93:36: error: expected '(' for function-style cast or type construction
return x.get_(type_t<U>{});
~~~~~~~~~^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:98:36: error: expected '(' for function-style cast or type construction
return x.get_(type_t<U>{});
~~~~~~~~~^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:116:25: error: 'decltype(auto)' type specifier is a C++14 extension [-Werror,-Wc++14-extensions]
friend decltype(auto) get(type& x)
^
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/kframework/bin/../lib/../include/kllvm/immer/detail/combine_standard_layout.hpp:116:16: error: 'decltype(auto)' not allowed in function return type
friend decltype(auto) get(type& x)
^~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX11.3.sdk/usr/include/c++/v1/__config:893:24: note: expanded from macro 'decltype'
# define decltype(...) __decltype(__VA_ARGS__)
^~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/kevm/semantics.cpp/Users/echo/.dapp/k/evm-semantics/node/vm/vm.cpp::12:
:
In file included from In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h/Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h::2323:
:
In file included from In file included from /usr/local/include/google/protobuf/io/coded_stream.h/usr/local/include/google/protobuf/io/coded_stream.h::149149:
:
In file included from In file included from /usr/local/include/google/protobuf/stubs/common.h/usr/local/include/google/protobuf/stubs/common.h::4848:
:
/usr/local/include/google/protobuf/stubs/port.h/usr/local/include/google/protobuf/stubs/port.h::119119::22:: errorerror: : "Protobuf requires at least C++11.""Protobuf requires at least C++11."
#error "Protobuf requires at least C++11."#error "Protobuf requires at least C++11."
^ ^
/usr/local/include/google/protobuf/stubs/port.h/usr/local/include/google/protobuf/stubs/port.h::141141::3939:: errorerror: : expected '(' for function-style cast or type constructionexpected '(' for function-style cast or type construction
static const int64 kint64max = int64_t{0x7FFFFFFFFFFFFFFF};static const int64 kint64max = int64_t{0x7FFFFFFFFFFFFFFF};
~~~~~~~^ ~~~~~~~^
/usr/local/include/google/protobuf/stubs/port.h:144:42: error: expected '(' for function-style cast or type construction
/usr/local/include/google/protobuf/stubs/port.h:144:42:static const uint64 kuint64max = uint64_t{0xFFFFFFFFFFFFFFFFu};
~~~~~~~~^error
: expected '(' for function-style cast or type construction
static const uint64 kuint64max = uint64_t{0xFFFFFFFFFFFFFFFFu};
~~~~~~~~^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/main.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:48:
/usr/local/include/google/protobuf/stubs/port.h:119:2: error: "Protobuf requires at least C++11."
#error "Protobuf requires at least C++11."
^
/usr/local/include/google/protobuf/stubs/port.h:141:39: error: expected '(' for function-style cast or type construction
static const int64 kint64max = int64_t{0x7FFFFFFFFFFFFFFF};
~~~~~~~^
/usr/local/include/google/protobuf/stubs/port.h:144:42: error: expected '(' for function-style cast or type construction
static const uint64 kuint64max = uint64_t{0xFFFFFFFFFFFFFFFFu};
~~~~~~~~^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/world.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:48:
/usr/local/include/google/protobuf/stubs/port.h:119:2: error: "Protobuf requires at least C++11."
#error "Protobuf requires at least C++11."
^
/usr/local/include/google/protobuf/stubs/port.h:141:39: error: expected '(' for function-style cast or type construction
static const int64 kint64max = int64_t{0x7FFFFFFFFFFFFFFF};
~~~~~~~^
/usr/local/include/google/protobuf/stubs/port.h:144:42: error: expected '(' for function-style cast or type construction
static const uint64 kuint64max = uint64_t{0xFFFFFFFFFFFFFFFFu};
~~~~~~~~^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/blockchain.cpp:3:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:48:
/usr/local/include/google/protobuf/stubs/port.h:119:2: error: "Protobuf requires at least C++11."
#error "Protobuf requires at least C++11."
^
/usr/local/include/google/protobuf/stubs/port.h:141:39: error: expected '(' for function-style cast or type construction
static const int64 kint64max = int64_t{0x7FFFFFFFFFFFFFFF};
~~~~~~~^
/usr/local/include/google/protobuf/stubs/port.h:144:42: error: expected '(' for function-style cast or type construction
static const uint64 kuint64max = uint64_t{0xFFFFFFFFFFFFFFFFu};
~~~~~~~~^
20 errors generated.
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/kevm/semantics.cpp:1:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:49:
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:10: error: unknown type name 'constexpr'
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:29: error: expected ';' at end of declaration list
static constexpr size_type kMaxSize =
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/vm.cpp:2:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:49:
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:10: error: unknown type name 'constexpr'
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:29: error: expected ';' at end of declaration list
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h:183:39: error: use of undeclared identifier 'kMaxSize'
if (PROTOBUF_PREDICT_FALSE(size > kMaxSize)) {
^
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/init.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/usr/local/include/google/protobuf/stubs/stringpiece.h:183:39: error: use of undeclared identifier 'kMaxSize'
if (PROTOBUF_PREDICT_FALSE(size > kMaxSize)) {
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/main.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:49:
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:10: error: unknown type name 'constexpr'
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:29: error: expected ';' at end of declaration list
static constexpr size_type kMaxSize =
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/world.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:49:
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:10: error: unknown type name 'constexpr'
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:29: error: expected ';' at end of declaration list
static constexpr size_type kMaxSize =
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/blockchain.cpp:3:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:149:
In file included from /usr/local/include/google/protobuf/stubs/common.h:49:
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:10: error: unknown type name 'constexpr'
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h:178:29: error: expected ';' at end of declaration list
static constexpr size_type kMaxSize =
^
/usr/local/include/google/protobuf/stubs/stringpiece.h/usr/local/include/google/protobuf/stubs/stringpiece.h::183183::3939:: errorerror: : use of undeclared identifier 'kMaxSize'use of undeclared identifier 'kMaxSize'
if (PROTOBUF_PREDICT_FALSE(size > kMaxSize)) { if (PROTOBUF_PREDICT_FALSE(size > kMaxSize)) {
^ ^
/usr/local/include/google/protobuf/stubs/stringpiece.h:183:39: error: use of undeclared identifier 'kMaxSize'
if (PROTOBUF_PREDICT_FALSE(size > kMaxSize)) {
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/vm.cpp:2:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
/usr/local/include/google/protobuf/io/coded_stream.h:857:10: error: unknown type name 'constexpr'
static constexpr int TagSize(uint32 tag) {
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/kevm/semantics.cpp:1:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
/usr/local/include/google/protobuf/io/coded_stream.h:857:10: error: unknown type name 'constexpr'
static constexpr int TagSize(uint32 tag) {
^
/usr/local/include/google/protobuf/io/coded_stream.h:796:5: error: unknown type name 'constexpr'
constexpr auto element_size = sizeof(typename T::value_type);
^
/usr/local/include/google/protobuf/io/coded_stream.h:796:5: error: unknown type name 'constexpr'
constexpr auto element_size = sizeof(typename T::value_type);
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/blockchain.cpp:3:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
/usr/local/include/google/protobuf/io/coded_stream.h:857:10: error: unknown type name 'constexpr'
static constexpr int TagSize(uint32 tag) {
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/main.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
/usr/local/include/google/protobuf/io/coded_stream.h:857:10: error: unknown type name 'constexpr'
static constexpr int TagSize(uint32 tag) {
^
/usr/local/include/google/protobuf/io/coded_stream.h:1060:9: error: delegating constructors are permitted only in C++11
: CodedOutputStream(stream, true) {}
^~~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/io/coded_stream.h:1060:9: error: delegating constructors are permitted only in C++11
: CodedOutputStream(stream, true) {}
^~~~~~~~~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/world.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:23:
/usr/local/include/google/protobuf/io/coded_stream.h:857:10: error: unknown type name 'constexpr'
static constexpr int TagSize(uint32 tag) {
^
/usr/local/include/google/protobuf/io/coded_stream.h:796:5: error: unknown type name 'constexpr'
/usr/local/include/google/protobuf/io/coded_stream.h:796:5: error: unknown type name 'constexpr' constexpr auto element_size = sizeof(typename T::value_type);
^
constexpr auto element_size = sizeof(typename T::value_type);
^
/usr/local/include/google/protobuf/io/coded_stream.h:796:5: error: unknown type name 'constexpr'
constexpr auto element_size = sizeof(typename T::value_type);
^
/usr/local/include/google/protobuf/io/coded_stream.h:1060:9: error: delegating constructors are permitted only in C++11
: CodedOutputStream(stream, true) {}
^~~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/io/coded_stream.h:1060:9: error: delegating constructors are permitted only in C++11
: CodedOutputStream(stream, true) {}
^~~~~~~~~~~~~~~~~
/usr/local/include/google/protobuf/io/coded_stream.h:1060:9: error: delegating constructors are permitted only in C++11
: CodedOutputStream(stream, true) {}
^~~~~~~~~~~~~~~~~
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/vm.cpp:2:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:24:
In file included from /usr/local/include/google/protobuf/arena.h:55:
/usr/local/include/google/protobuf/arena_impl.h:54:8: error: unknown type name 'constexpr'
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:54:24: error: expected ';' after top level declarator
inline constexpr size_t AlignUpTo8(size_t n) {
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/kevm/semantics.cpp:1:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:24:
In file included from /usr/local/include/google/protobuf/arena.h:55:
/usr/local/include/google/protobuf/arena_impl.h:54:8: error: unknown type name 'constexpr'
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:54:24: error: expected ';' after top level declarator
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:95:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:95:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultStartBlockSize = 256;
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/blockchain.cpp:3:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:24:
In file included from /usr/local/include/google/protobuf/arena.h:55:
/usr/local/include/google/protobuf/arena_impl.h:54:8: error: unknown type name 'constexpr'
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:54:24: error: expected ';' after top level declarator
inline constexpr size_t AlignUpTo8(size_t n) {
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/vm/main.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:24:
In file included from /usr/local/include/google/protobuf/arena.h:55:
/usr/local/include/google/protobuf/arena_impl.h:54:8: error: unknown type name 'constexpr'
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:54:24: error: expected ';' after top level declarator
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:95:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:95:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:96:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:96:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:95:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:95:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultStartBlockSize = 256;
^
In file included from /Users/echo/.dapp/k/evm-semantics/node/plugin-c/world.cpp:5:
In file included from /Users/echo/.dapp/k/evm-semantics/.build/local/lib/proto/proto/msg.pb.h:24:
In file included from /usr/local/include/google/protobuf/arena.h:55:
/usr/local/include/google/protobuf/arena_impl.h:54:8: error: unknown type name 'constexpr'
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:54:24: error: expected ';' after top level declarator
inline constexpr size_t AlignUpTo8(size_t n) {
^
/usr/local/include/google/protobuf/arena_impl.h:96:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:96:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:95:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:95:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:96:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:96:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:98:3: error: unknown type name 'size_t'
size_t start_block_size = kDefaultStartBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:98:3: error: unknown type name 'size_t'
size_t start_block_size = kDefaultStartBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:96:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:96:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:95:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:95:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultStartBlockSize = 256;
^
/usr/local/include/google/protobuf/arena_impl.h:98:3: error: unknown type name 'size_t'
size_t start_block_size = kDefaultStartBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:99:3: error: unknown type name 'size_t'
size_t max_block_size = kDefaultMaxBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:99:3: error: unknown type name 'size_t'
size_t max_block_size = kDefaultMaxBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:98:3: error: unknown type name 'size_t'
size_t start_block_size = kDefaultStartBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:99:3: error: unknown type name 'size_t'
size_t max_block_size = kDefaultMaxBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:100:24: error: unknown type name 'size_t'
void* (*block_alloc)(size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:96:10: error: unknown type name 'constexpr'
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:96:26: error: expected ';' at end of declaration list
static constexpr size_t kDefaultMaxBlockSize = 8192;
^
/usr/local/include/google/protobuf/arena_impl.h:100:24: error: unknown type name 'size_t'
void* (*block_alloc)(size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:99:3: error: unknown type name 'size_t'
size_t max_block_size = kDefaultMaxBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:100:24: error: unknown type name 'size_t'
void* (*block_alloc)(size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:101:32: error: unknown type name 'size_t'
void (*block_dealloc)(void*, size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:101:32: error: unknown type name 'size_t'
void (*block_dealloc)(void*, size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:98:3: error: unknown type name 'size_t'
size_t start_block_size = kDefaultStartBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:100:24: error: unknown type name 'size_t'
void* (*block_alloc)(size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:101:32: error: unknown type name 'size_t'
void (*block_dealloc)(void*, size_t) = nullptr;
^
/usr/local/include/google/protobuf/arena_impl.h:99:3: error: unknown type name 'size_t'
size_t max_block_size = kDefaultMaxBlockSize;
^
/usr/local/include/google/protobuf/arena_impl.h:101:32: error: unknown type name 'size_t'
void (*block_dealloc)(void*, size_t) = nullptr;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/usr/local/include/google/protobuf/arena_impl.h:100:24: error: unknown type name 'size_t'
void* (*block_alloc)(size_t) = nullptr;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
/usr/local/include/google/protobuf/arena_impl.h:101:32: error: unknown type name 'size_t'
void (*block_dealloc)(void*, size_t) = nullptr;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 error generated.
fatal error: too many errors emitted, stopping now [-ferror-limit=]
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/deps/plugin/plugin-c/crypto.cpp.o] Error 1
20 errors generated.
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/plugin-c/blockchain.cpp.o] Error 1
20 errors generated.
20 errors generated.
20 errors generated.
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/main.cpp.o] Error 1
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/plugin-c/world.cpp.o] Error 1
20 errors generated.
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/kevm/semantics.cpp.o] Error 1
make[3]: *** [CMakeFiles/kevm-vm.dir/Users/echo/.dapp/k/evm-semantics/node/vm/vm.cpp.o] Error 1
make[2]: *** [CMakeFiles/kevm-vm.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [.build/usr/lib/kevm/node/build/kevm-vm] Error 2
make: *** Waiting for unfinished jobs....
+ openssl_root=/usr/local/opt/openssl@3
++ brew --prefix
+ brew_root=/usr/local
+ kompile_opts+=(-ccopt -I${brew_root}/include -ccopt -L/${brew_root}/lib -ccopt -I${openssl_root}/include -ccopt -L${openssl_root}/lib)
+ kompile_opts+=(-ccopt -I${libcryptopp_dir}/include -ccopt -L/${libcryptopp_dir}/lib)
+ kompile driver.md -I /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/include/kframework -I /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/blockchain-k-plugin/include/kframework --hook-namespaces 'JSON KRYPTO BLOCKCHAIN' --emit-json --md-selector 'k & ! nobytes & ! node' --backend llvm -ccopt -L/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/libff/lib -ccopt -I/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/libff/include -ccopt /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/blockchain-k-plugin/include/c/plugin_util.cpp -ccopt /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/blockchain-k-plugin/include/c/crypto.cpp -ccopt /Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/blockchain-k-plugin/include/c/blake2.cpp -ccopt -g -ccopt -std=c++14 -ccopt -lff -ccopt -lcryptopp -ccopt -lsecp256k1 -ccopt -lssl -ccopt -lcrypto -ccopt -I/usr/local/include -ccopt -L//usr/local/lib -ccopt -I/usr/local/opt/openssl@3/include -ccopt -L/usr/local/opt/openssl@3/lib -ccopt -I/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/cryptopp/include -ccopt -L//Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/cryptopp/lib --directory .build/usr/lib/kevm/llvm --main-module ETHEREUM-SIMULATION --syntax-module ETHEREUM-SIMULATION --debug -I /usr/lib/kevm/include/kframework -I /usr/lib/kevm/blockchain-k-plugin/include/kframework -O2
/Users/echo/.dapp/k/evm-semantics/.build/usr/lib/kevm/blockchain-k-plugin/include/c/crypto.cpp:8:10: fatal error: 'openssl/evp.h' file not found
#include <openssl/evp.h>
^~~~~~~~~~~~~~~
1 error generated.
org.kframework.utils.errorsystem.KEMException: [Error] Critical: llvm-kompile returned nonzero exit code: 1
Examine output to see errors.
at org.kframework.utils.errorsystem.KEMException.create(KEMException.java:143)
at org.kframework.utils.errorsystem.KEMException.criticalError(KEMException.java:39)
at org.kframework.backend.llvm.LLVMBackend.llvmKompile(LLVMBackend.java:104)
at org.kframework.backend.llvm.LLVMBackend.accept(LLVMBackend.java:81)
at org.kframework.kompile.KompileFrontEnd.run(KompileFrontEnd.java:89)
at org.kframework.main.FrontEnd.main(FrontEnd.java:57)
at org.kframework.main.Main.runApplication(Main.java:118)
at org.kframework.main.Main.runApplication(Main.java:108)
at org.kframework.main.Main.main(Main.java:56)
make: *** [.build/usr/lib/kevm/llvm/driver-kompiled/interpreter] Error 113
Log of troubleshooting for setting up evm-semantics on MacOS