Open jptbrandao opened 4 years ago
Try using the v0.6
branch (git checkout v0.6
), and you might need to locally merge #386
Thanks for the tip.
I did as you suggested, but had to also manually install lz4 libraries, before running the commando
cmake -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl ..
When running the 'make' command afterwards I get the following errors: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Here is the last part of the output:
/Users/brandao/projects/github/BlockSci/src/../include/blocksci/external/concepts/concepts.hpp:1178:13: note: declare 'static' if the variable is not intended to be used outside of this translation unit
CPP_concept convertible_to =
^
/Users/brandao/projects/github/BlockSci/src/../include/blocksci/external/concepts/concepts.hpp:226:46: note: expanded from macro 'CPP_concept'
#define CPP_concept CPP_INLINE_VAR constexpr auto
^
699 warnings generated.
[ 92%] Linking CXX shared library libblocksci.dylib
duplicate symbol 'ranges::detail::_is_integer_like_<ranges::detail::diffmax_t>' in:
CMakeFiles/blocksci.dir/scripts/script_range.cpp.o
CMakeFiles/blocksci.dir/chain/transaction.cpp.o
duplicate symbol 'ranges::detail::_is_integer_like_<ranges::detail::diffmax_t>' in:
CMakeFiles/blocksci.dir/scripts/script_range.cpp.o
CMakeFiles/blocksci.dir/heuristics/change_address.cpp.o
duplicate symbol 'ranges::detail::_is_integer_like_<ranges::detail::diffmax_t>' in:
CMakeFiles/blocksci.dir/scripts/script_range.cpp.o
CMakeFiles/blocksci.dir/cluster/cluster_manager.cpp.o
ld: 3 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [src/libblocksci.dylib] Error 1
make[1]: *** [src/CMakeFiles/blocksci.dir/all] Error 2
make: *** [all] Error 2
Can confirm the error after upgrading to Xcode 11.5. I'll look into it.
Thanks
Seems like this particular issue was fixed in https://github.com/ericniebler/range-v3/issues/1441, but after cherry-picking this commit there are other errors. Ideally, I'd want to wait for a new release of range-v3 instead of patching together something (though I might give it a try if I find the time).
Here is an experimental fix (I won't maintain this branch) to get BlockSci compiling on MacOS with the latest XCode. This has the RocksDB upgrade merged, so it's not compatible with old parsings:
git fetch --all
git checkout macos-build-fix
git submodule sync
git submodule update --recursive
cd external/range-v3
git fetch --all
git cherry-pick ff648328dacd097f1fa3abd1cfee4dc611e5af98 -x
cd ../../release
make
Thanks, are you sure about the 3rd to last line?
The output gives me: 'fatal: bad object 'ff648328dacd097f1fa3abd1cfee4dc611e5af98'
Try a git fetch --all
in the external/range-v3
folder
That worked! Thanks!
The full commands are:
git fetch --all git checkout macos-build-fix git submodule sync git submodule update --recursive cd external/range-v3 git fetch --all git cherry-pick ff648328dacd097f1fa3abd1cfee4dc611e5af98 -x cd ../../release make
Okay perfect! I've updated the instructions above and will keep this open until it has been resolved outside of that patch branch.
Hello, I'm following the instructions in https://citp.github.io/BlockSci/compiling.html to compile BlockSci locally, and I'm getting errors after running the command 'make'.
Reproduction Steps
Output
System Information
Mac OS Catalina v10.15.4 Total memory: 32 GB