Skip to content

libebpfflow not compiling Ubuntu 21.10 on Hyper V #16

@Jenubis78

Description

@Jenubis78

Hello

Tryed to make the tool as explained on the README.

All the steps went smooth until i run make command :

jenubis@caperover:~/libebpfflow$ make
g++ -c -std=c++11 -g -Wall -I/usr/include/json-c -DHAVE_JSONC -I/usr/include/x86_64-linux-gnu -DHAVE_LIBCURL -fPIC ebpf_flow.cpp -o ebpf_flow.o
In file included from ebpf_flow.cpp:24:
container_info.h:32:11: error: ‘string’ in namespace ‘std’ does not name a type
   32 |      std::string name;
      |           ^~~~~~
container_info.h:29:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
   28 | #include <set>
  +++ |+#include <string>
   29 |
container_info.h:36:11: error: ‘string’ in namespace ‘std’ does not name a type
   36 |      std::string name, pod, ns;
      |           ^~~~~~
container_info.h:36:6: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
   36 |      std::string name, pod, ns;
      |      ^~~
container_info.h:51:27: error: ‘string’ is not a member of ‘std’
   51 |   std::unordered_map<std::string, struct cache_entry> gQueryCache;
      |                           ^~~~~~
container_info.h:51:27: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
container_info.h:51:27: error: ‘string’ is not a member of ‘std’
container_info.h:51:27: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
container_info.h:51:53: error: template argument 1 is invalid
   51 |   std::unordered_map<std::string, struct cache_entry> gQueryCache;
      |                                                     ^
container_info.h:51:53: error: template argument 3 is invalid
container_info.h:51:53: error: template argument 4 is invalid
container_info.h:51:53: error: template argument 5 is invalid
container_info.h:54:17: error: ‘string’ is not a member of ‘std’
   54 |   std::set<std::string> namespaces;
      |                 ^~~~~~
container_info.h:54:17: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
container_info.h:54:17: error: ‘string’ is not a member of ‘std’
container_info.h:54:17: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
container_info.h:54:23: error: template argument 1 is invalid
   54 |   std::set<std::string> namespaces;
      |                       ^
container_info.h:54:23: error: template argument 2 is invalid
container_info.h:54:23: error: template argument 3 is invalid
ebpf_flow.cpp: In function ‘void ebpf_preprocess_event(eBPFevent*)’:
ebpf_flow.cpp:318:35: error: ‘struct container_info::<unnamed>’ has no member named ‘name’
  318 |         if(container_info->docker.name[0] != '\0') /* Docker info available */
      |                                   ^~~~
ebpf_flow.cpp:319:62: error: ‘struct container_info::<unnamed>’ has no member named ‘name’
  319 |           event->docker.name = strdup(container_info->docker.name.c_str());
      |                                                              ^~~~
ebpf_flow.cpp:321:33: error: ‘struct container_info::<unnamed>’ has no member named ‘name’
  321 |         if(container_info->kube.name[0] != '\0') /* Kubernetes info available */ {
      |                                 ^~~~
ebpf_flow.cpp:322:58: error: ‘struct container_info::<unnamed>’ has no member named ‘name’
  322 |           event->kube.name = strdup(container_info->kube.name.c_str());
      |                                                          ^~~~
ebpf_flow.cpp:323:58: error: ‘struct container_info::<unnamed>’ has no member named ‘pod’
  323 |           event->kube.pod  = strdup(container_info->kube.pod.c_str());
      |                                                          ^~~
ebpf_flow.cpp:324:58: error: ‘struct container_info::<unnamed>’ has no member named ‘ns’
  324 |           event->kube.ns   = strdup(container_info->kube.ns.c_str());
      |                                                          ^~
make: *** [Makefile:33: libebpfflow.a] Error 1

Is that normal ?

Regards

Thomas

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions