Skip to content

LLVM version dependency in parallel-hashmap? #7

@KronicDeth

Description

@KronicDeth

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

  1. git clone git@github.com:binji/wasp.git binji/wasp
  2. cd binji/wasp
  3. git submodule update --init --recursive
  4. 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

Details
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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions