-
Notifications
You must be signed in to change notification settings - Fork 431
Closed
Labels
Description
Ran make CMAKE_PARAMS="-DVTR_ENABLE_SANITIZE=ON"
Expected Behaviour
make should have been successful.
Current Behaviour
It fails, spitting the following:
Scanning dependencies of target libodin_ii
[ 98%] Building CXX object ODIN_II/CMakeFiles/libodin_ii.dir/SRC/Hashtable.cpp.o
In file included from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:27:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:26: error: ‘string’ is not a member of ‘std’
33 | std::unordered_map<std::string,void*> my_map;
| ^~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:29:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
28 | #include <unordered_map>
+++ |+#include <string>
29 |
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:26: error: ‘string’ is not a member of ‘std’
33 | std::unordered_map<std::string,void*> my_map;
| ^~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:26: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:38: error: template argument 1 is invalid
33 | std::unordered_map<std::string,void*> my_map;
| ^
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:38: error: template argument 3 is invalid
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:38: error: template argument 4 is invalid
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:33:38: error: template argument 5 is invalid
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:38:34: error: ‘std::string’ has not been declared
38 | void add (std::string key, void *item);
| ^~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:40:9: error: expected ‘;’ at end of member declaration
40 | void* remove (std::string key);
| ^~~~~~
| ;
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:40:40: error: expected ‘)’ before ‘key’
40 | void* remove (std::string key);
| ~ ^~~~
| )
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:42:9: error: expected ‘;’ at end of member declaration
42 | void* get (std::string key);
| ^~~
| ;
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:42:40: error: expected ‘)’ before ‘key’
42 | void* get (std::string key);
| ~ ^~~~
| )
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp: In member function ‘void Hashtable::destroy_free_items()’:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:33:15: error: ‘begin’ was not declared in this scope; did you mean ‘std::begin’?
33 | for(auto kv: my_map)
| ^~~~~~
| std::begin
In file included from /usr/include/c++/10/array:41,
from /usr/include/c++/10/tuple:39,
from /usr/include/c++/10/bits/hashtable_policy.h:34,
from /usr/include/c++/10/bits/hashtable.h:35,
from /usr/include/c++/10/unordered_map:46,
from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:28,
from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:27:
/usr/include/c++/10/bits/range_access.h:108:37: note: ‘std::begin’ declared here
108 | template<typename _Tp> const _Tp* begin(const valarray<_Tp>&);
| ^~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:33:15: error: ‘end’ was not declared in this scope; did you mean ‘std::end’?
33 | for(auto kv: my_map)
| ^~~~~~
| std::end
In file included from /usr/include/c++/10/array:41,
from /usr/include/c++/10/tuple:39,
from /usr/include/c++/10/bits/hashtable_policy.h:34,
from /usr/include/c++/10/bits/hashtable.h:35,
from /usr/include/c++/10/unordered_map:46,
from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:28,
from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:27:
/usr/include/c++/10/bits/range_access.h:110:37: note: ‘std::end’ declared here
110 | template<typename _Tp> const _Tp* end(const valarray<_Tp>&);
| ^~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp: At global scope:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:37:6: error: no declaration matches ‘void Hashtable::add(std::string, void*)’
37 | void Hashtable::add(std::string key, void *item)
| ^~~~~~~~~
In file included from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:27:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:38:9: note: candidate is: ‘void Hashtable::add(int, void*)’
38 | void add (std::string key, void *item);
| ^~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:30:7: note: ‘class Hashtable’ defined here
30 | class Hashtable
| ^~~~~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:51:7: error: no declaration matches ‘void* Hashtable::remove(std::string)’
51 | void* Hashtable::remove(std::string key)
| ^~~~~~~~~
In file included from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:27:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:40:9: note: candidate is: ‘void* Hashtable::remove’
40 | void* remove (std::string key);
| ^~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:30:7: note: ‘class Hashtable’ defined here
30 | class Hashtable
| ^~~~~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:63:7: error: no declaration matches ‘void* Hashtable::get(std::string)’
63 | void* Hashtable::get(std::string key)
| ^~~~~~~~~
In file included from /home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:27:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:42:9: note: candidate is: ‘void* Hashtable::get’
42 | void* get (std::string key);
| ^~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/include/Hashtable.hpp:30:7: note: ‘class Hashtable’ defined here
30 | class Hashtable
| ^~~~~~~~~
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp: In member function ‘bool Hashtable::is_empty()’:
/home/yoojer/.local/VTR/vtr-verilog-to-routing-8.0.0/ODIN_II/SRC/Hashtable.cpp:75:17: error: request for member ‘size’ in ‘((Hashtable*)this)->Hashtable::my_map’, which is of non-class type ‘int’
75 | return (my_map.size() == 0);
| ^~~~
make[3]: *** [ODIN_II/CMakeFiles/libodin_ii.dir/build.make:93: ODIN_II/CMakeFiles/libodin_ii.dir/SRC/Hashtable.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1471: ODIN_II/CMakeFiles/libodin_ii.dir/all] Error 2
make[1]: *** [Makefile:160: all] Error 2
make: *** [Makefile:76: all] Error 2
In addition to this, I had encountered numerous warnings earlier in the process. I have lost the full dump since my terminal's buffer/history didn't store everything.
Steps to Reproduce
- Download the latest tar.gz from releases page and extract.
- Run
make CMAKE_PARAMS="-DVTR_ENABLE_SANITIZE=ON".
Context
I was trying to build VTR as listed in the docs.
Your Environment
- VTR revision used: 8.0.0
- Operating System and version: SMP Debian 5.10.40-1kali1 (2021-05-31) x86_64 GNU/Linux
- Compiler version:
- gcc (Debian 10.2.1-6) 10.2.1 20210110
- Debian clang version 11.0.1-2
- GNU Make 4.3
- cmake version 3.18.4
eminfedar