JCoz
JCoz copied to clipboard
'make all' fails to successfully compile bci_hits.h on master
Full compiler output:
$ make all
g++ -I/usr/lib/jvm/java-11-openjdk/bin/../include -I/usr/lib/jvm/java-11-openjdk/bin/../include/linux -I/usr/include -mfpmath=sse -std=gnu++0x -fdiagnostics-show-option -fexceptions -fno-asynchronous-unwind-tables -fno-omit-frame-pointer -fno-strict-aliasing -fPIC -funsigned-char -Fvisibility=hidden -m64 -msse2 -g -D__STDC_FORMAT_MACROS -Wframe-larger-than=16384 -Wno-unused-but-set-variable -Wunused-but-set-parameter -Wvla -Wno-conversion-null -Wno-builtin-macro-redefined -Wformat-security -Wformat -Wno-char-subscripts -Wno-sign-compare -Wno-strict-overflow -Wnon-virtual-dtor -Woverloaded-virtual -Wwrite-strings -O3 -c /home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.cc -o /home/d3psi/Documents/java-workspace/JCoz/build-64/bci_hits.pic.o
In file included from /home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.cc:1:
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:14:22: error: ‘string’ is not a member of ‘std’
14 | std::vector<std::string> create_dump(jvmtiEnv* dealloc_jvmti);
| ^~~~~~
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:7:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
6 | #include <map>
+++ |+#include <string>
7 |
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:14:22: error: ‘string’ is not a member of ‘std’
14 | std::vector<std::string> create_dump(jvmtiEnv* dealloc_jvmti);
| ^~~~~~
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:14:22: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:14:28: error: template argument 1 is invalid
14 | std::vector<std::string> create_dump(jvmtiEnv* dealloc_jvmti);
| ^
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:14:28: error: template argument 2 is invalid
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.cc:12:71: error: ‘std::vector<std::__cxx11::basic_string<char> > bci_hits::create_dump(jvmtiEnv*)’ should have been declared inside ‘bci_hits’
12 | std::vector<std::string> bci_hits::create_dump(jvmtiEnv* dealloc_jvmti)
| ^
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.cc:12:26: error: ambiguating new declaration of ‘std::vector<std::__cxx11::basic_string<char> > bci_hits::create_dump(jvmtiEnv*)’
12 | std::vector<std::string> bci_hits::create_dump(jvmtiEnv* dealloc_jvmti)
| ^~~~~~~~
In file included from /home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.cc:1:
/home/d3psi/Documents/java-workspace/JCoz/src/native/bci_hits.h:14:30: note: old declaration ‘int bci_hits::create_dump(jvmtiEnv*)’
14 | std::vector<std::string> create_dump(jvmtiEnv* dealloc_jvmti);
| ^~~~~~~~~~~
make: *** [Makefile:84: /home/d3psi/Documents/java-workspace/JCoz/build-64/bci_hits.pic.o] Error 1
Problem is fixed by manually including the