LLVM version dependency in parallel-hashmap?
KronicDeth opened this issue · 3 comments
KronicDeth commented
I'm trying to get wasp
to build, so I can report my numbers for WebAssembly/design#1277. So far, I've done the following:
Environment
OS: macOS Mojave 10.14.6
Steps
git clone git@github.com:binji/wasp.git binji/wasp
cd binji/wasp
git submodule update --init --recursive
make
Error
In file included from /Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap.h:49:
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:139:16: error: implicit instantiation of undefined template
'std::__1::hash
Full Log
mkdir -p out/clang/Debug/
cd out/clang/Debug/ && cmake -G "Unix Makefiles" /Users/luke.imhoff/github/binji/wasp/ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug
-- The C compiler identification is Clang 7.0.1
-- The CXX compiler identification is Clang 7.0.1
-- Check for working C compiler: /usr/local/opt/llvm/bin/clang
-- Check for working C compiler: /usr/local/opt/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: /usr/local/opt/llvm/bin/clang++
-- Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.10")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/luke.imhoff/github/binji/wasp/out/clang/Debug
/Applications/Xcode.app/Contents/Developer/usr/bin/make --no-print-directory -C out/clang/Debug/ all
Scanning dependencies of target wasplib
[ 1%] Building CXX object CMakeFiles/wasplib.dir/src/base/features.cc.o
[ 2%] Building CXX object CMakeFiles/wasplib.dir/src/base/file.cc.o
[ 3%] Building CXX object CMakeFiles/wasplib.dir/src/base/span.cc.o
[ 4%] Building CXX object CMakeFiles/wasplib.dir/src/base/str_to_u32.cc.o
[ 5%] Building CXX object CMakeFiles/wasplib.dir/src/base/v128.cc.o
[ 6%] Building CXX object CMakeFiles/wasplib.dir/src/binary/br_on_exn_immediate.cc.o
[ 7%] Building CXX object CMakeFiles/wasplib.dir/src/binary/br_table_immediate.cc.o
[ 8%] Building CXX object CMakeFiles/wasplib.dir/src/binary/call_indirect_immediate.cc.o
[ 9%] Building CXX object CMakeFiles/wasplib.dir/src/binary/code.cc.o
[ 10%] Building CXX object CMakeFiles/wasplib.dir/src/binary/comdat.cc.o
[ 11%] Building CXX object CMakeFiles/wasplib.dir/src/binary/comdat_symbol.cc.o
In file included from /Users/luke.imhoff/github/binji/wasp/src/binary/comdat_symbol.cc:20:
In file included from /Users/luke.imhoff/github/binji/wasp/src/base/std_hash_macros.h:20:
In file included from /Users/luke.imhoff/github/binji/wasp/include/wasp/base/hash.h:22:
In file included from /Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap.h:49:
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:139:16: error: implicit instantiation of undefined template
'std::__1::hash<wasp::binary::ComdatSymbolKind>'
return std::hash<T>()(val);
^
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:144:16: note: in instantiation of function template specialization
'phmap::Hash<wasp::binary::ComdatSymbolKind>::_hash<wasp::binary::ComdatSymbolKind, 0>' requested here
return _hash<T>(val);
^
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:302:48: note: in instantiation of member function
'phmap::Hash<wasp::binary::ComdatSymbolKind>::operator()' requested here
seed, phmap::Hash<T>()(v)), vs...);
^
/Users/luke.imhoff/github/binji/wasp/src/binary/comdat_symbol.cc:30:1: note: in instantiation of function template specialization 'phmap::HashStateBase<unsigned
long>::combine<wasp::binary::ComdatSymbolKind, unsigned int>' requested here
WASP_STD_HASH_2(::wasp::binary::ComdatSymbol, kind, index)
^
/Users/luke.imhoff/github/binji/wasp/src/base/std_hash_macros.h:37:31: note: expanded from macro 'WASP_STD_HASH_2'
return ::wasp::HashState::combine(0, v.f1, v.f2); \
^
/usr/local/Cellar/llvm/7.0.1/include/c++/v1/type_traits:412:50: note: template is declared here
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
^
1 error generated.
make[3]: *** [CMakeFiles/wasplib.dir/src/binary/comdat_symbol.cc.o] Error 1
make[2]: *** [CMakeFiles/wasplib.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [clang-debug] Error 2
Any tips for how to get parallel-hashmap to compile?
KronicDeth commented
How I updated:
-
git pull
Got your change:
remote: Enumerating objects: 5, done. remote: Counting objects: 100% (5/5), done. remote: Compressing objects: 100% (5/5), done. remote: Total 5 (delta 0), reused 2 (delta 0), pack-reused 0 Unpacking objects: 100% (5/5), done. From github.com:binji/wasp f0fc078..44a9e06 master -> origin/master
-
make clean
-
git submodule update --init --recursive
-
make
Same error
mkdir -p out/clang/Debug/
cd out/clang/Debug/ && cmake -G "Unix Makefiles" /Users/luke.imhoff/github/binji/wasp/ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug
-- The C compiler identification is Clang 7.0.1
-- The CXX compiler identification is Clang 7.0.1
-- Check for working C compiler: /usr/local/opt/llvm/bin/clang
-- Check for working C compiler: /usr/local/opt/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: /usr/local/opt/llvm/bin/clang++
-- Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.10")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/luke.imhoff/github/binji/wasp/out/clang/Debug
/Applications/Xcode.app/Contents/Developer/usr/bin/make --no-print-directory -C out/clang/Debug/ all
Scanning dependencies of target wasplib
[ 1%] Building CXX object CMakeFiles/wasplib.dir/src/base/features.cc.o
[ 2%] Building CXX object CMakeFiles/wasplib.dir/src/base/file.cc.o
[ 3%] Building CXX object CMakeFiles/wasplib.dir/src/base/span.cc.o
[ 4%] Building CXX object CMakeFiles/wasplib.dir/src/base/str_to_u32.cc.o
[ 5%] Building CXX object CMakeFiles/wasplib.dir/src/base/v128.cc.o
[ 6%] Building CXX object CMakeFiles/wasplib.dir/src/binary/br_on_exn_immediate.cc.o
[ 7%] Building CXX object CMakeFiles/wasplib.dir/src/binary/br_table_immediate.cc.o
[ 8%] Building CXX object CMakeFiles/wasplib.dir/src/binary/call_indirect_immediate.cc.o
[ 9%] Building CXX object CMakeFiles/wasplib.dir/src/binary/code.cc.o
[ 10%] Building CXX object CMakeFiles/wasplib.dir/src/binary/comdat.cc.o
[ 11%] Building CXX object CMakeFiles/wasplib.dir/src/binary/comdat_symbol.cc.o
In file included from /Users/luke.imhoff/github/binji/wasp/src/binary/comdat_symbol.cc:20:
In file included from /Users/luke.imhoff/github/binji/wasp/src/base/std_hash_macros.h:22:
In file included from /Users/luke.imhoff/github/binji/wasp/include/wasp/base/hash.h:22:
In file included from /Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap.h:49:
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:139:16: error: implicit instantiation of undefined template
'std::__1::hash<wasp::binary::ComdatSymbolKind>'
return std::hash<T>()(val);
^
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:144:16: note: in instantiation of function template specialization
'phmap::Hash<wasp::binary::ComdatSymbolKind>::_hash<wasp::binary::ComdatSymbolKind, 0>' requested here
return _hash<T>(val);
^
/Users/luke.imhoff/github/binji/wasp/third_party/parallel-hashmap/parallel_hashmap/phmap_utils.h:302:48: note: in instantiation of member function
'phmap::Hash<wasp::binary::ComdatSymbolKind>::operator()' requested here
seed, phmap::Hash<T>()(v)), vs...);
^
/Users/luke.imhoff/github/binji/wasp/src/binary/comdat_symbol.cc:30:1: note: in instantiation of function template specialization 'phmap::HashStateBase<unsigned
long>::combine<wasp::binary::ComdatSymbolKind, unsigned int>' requested here
WASP_STD_HASH_2(::wasp::binary::ComdatSymbol, kind, index)
^
/Users/luke.imhoff/github/binji/wasp/src/base/std_hash_macros.h:39:31: note: expanded from macro 'WASP_STD_HASH_2'
return ::wasp::HashState::combine(0, v.f1, v.f2); \
^
/usr/local/Cellar/llvm/7.0.1/include/c++/v1/type_traits:412:50: note: template is declared here
template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash;
^
1 error generated.
make[3]: *** [CMakeFiles/wasplib.dir/src/binary/comdat_symbol.cc.o] Error 1
make[2]: *** [CMakeFiles/wasplib.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [clang-debug] Error 2
binji commented
The parallel-hashmap library has been removed in favor of abseil. This may have the same issue; if so, please re-open.