Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow for MacOS #1022

Open
rybla opened this issue Jun 5, 2021 · 4 comments
Open

Workflow for MacOS #1022

rybla opened this issue Jun 5, 2021 · 4 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@rybla
Copy link
Contributor

rybla commented Jun 5, 2021

Log of troubleshooting for setting up evm-semantics on MacOS

@rybla
Copy link
Contributor Author

rybla commented Jun 5, 2021

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"

@rybla rybla self-assigned this Jun 5, 2021
@ehildenb
Copy link
Member

ehildenb commented Jun 7, 2021

This is great, thank you!

@ehildenb ehildenb added the documentation Improvements or additions to documentation label Jun 7, 2021
@rybla rybla self-assigned this Jun 7, 2021
@ehildenb ehildenb assigned rybla and unassigned rybla Jun 8, 2021
@Singtah
Copy link

Singtah commented Jun 18, 2021

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

@hujw77
Copy link

hujw77 commented Oct 5, 2021

Branch

master

OS

macos bigSur 11.6

Build failed info

~/.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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants