Skip to content

Building error #5

@yige-hu

Description

@yige-hu

OS: Ubuntu 18.04.3 LTS, with linux-5.1.0+ kernel
g++ version: g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

CCEH$ make ALL_CCEH
g++ -std=c++17 -I./ -lrt -lpthread -O3 -c -o src/CCEH_MSB.o src/CCEH_MSB.cpp -DINPLACE
In file included from src/CCEH_MSB.cpp:9:0:
./src/CCEH.h: In static member function 'static void* Segment::operator new(size_t)':
./src/CCEH.h:33:19: warning: ignoring return value of 'int posix_memalign(void**, size_t, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     posix_memalign(&ret, 64, size);
     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
g++ -std=c++17 -I./ -lrt -lpthread -O3 -c -o src/CCEH_MSB_CoW.o src/CCEH_MSB.cpp
In file included from src/CCEH_MSB.cpp:9:0:
./src/CCEH.h: In static member function 'static void* Segment::operator new(size_t)':
./src/CCEH.h:33:19: warning: ignoring return value of 'int posix_memalign(void**, size_t, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     posix_memalign(&ret, 64, size);
     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
g++ -std=c++17 -I./ -lrt -lpthread -O3 -c -o src/CCEH_LSB.o src/CCEH_LSB.cpp -DINPLACE
src/CCEH_LSB.cpp: In constructor 'CCEH::CCEH()':
src/CCEH_LSB.cpp:131:25: error: invalid conversion from 'int' to 'Directory*' [-fpermissive]
 : dir{1}, global_depth{0}
                         ^
src/CCEH_LSB.cpp:133:32: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (unsigned i = 0; i < dir.capacity; ++i) {
                                ^~~~~~~~
src/CCEH_LSB.cpp:134:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i] = new Segment(global_depth);
         ^
src/CCEH_LSB.cpp:135:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i]->pattern = i;
         ^
src/CCEH_LSB.cpp: In constructor 'CCEH::CCEH(size_t)':
src/CCEH_LSB.cpp:140:64: error: invalid conversion from 'size_t {aka long unsigned int}' to 'Directory*' [-fpermissive]
 : dir{initCap}, global_depth{static_cast<size_t>(log2(initCap))}
                                                                ^
src/CCEH_LSB.cpp:142:32: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (unsigned i = 0; i < dir.capacity; ++i) {
                                ^~~~~~~~
src/CCEH_LSB.cpp:143:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i] = new Segment(global_depth);
         ^
src/CCEH_LSB.cpp:144:9: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     dir._[i]->pattern = i;
         ^
src/CCEH_LSB.cpp: In member function 'virtual void CCEH::Insert(Key_t&, Value_t)':
src/CCEH_LSB.cpp:183:28: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto x = (key_hash % dir.capacity);
                            ^~~~~~~~
src/CCEH_LSB.cpp:184:21: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto target = dir._[x];
                     ^
src/CCEH_LSB.cpp:201:17: error: request for member 'Acquire' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     while (!dir.Acquire()) {
                 ^~~~~~~
src/CCEH_LSB.cpp:205:27: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       x = (key_hash % dir.capacity);
                           ^~~~~~~~
src/CCEH_LSB.cpp:207:15: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       if (dir._[x]->local_depth-1 < global_depth) {  // normal split
               ^
src/CCEH_LSB.cpp:211:13: error: request for member 'LSBUpdate' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir.LSBUpdate(s[0]->local_depth, global_depth, dir.capacity, x, s);
             ^~~~~~~~~
src/CCEH_LSB.cpp:211:60: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir.LSBUpdate(s[0]->local_depth, global_depth, dir.capacity, x, s);
                                                            ^~~~~~~~
src/CCEH_LSB.cpp:213:22: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         auto d = dir._;
                      ^
src/CCEH_LSB.cpp:214:38: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         auto _dir = new Segment*[dir.capacity*2];
                                      ^~~~~~~~
src/CCEH_LSB.cpp:215:46: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         memcpy(_dir, d, sizeof(Segment*)*dir.capacity);
                                              ^~~~~~~~
src/CCEH_LSB.cpp:216:25: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         memcpy(_dir+dir.capacity, d, sizeof(Segment*)*dir.capacity);
                         ^~~~~~~~
src/CCEH_LSB.cpp:216:59: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         memcpy(_dir+dir.capacity, d, sizeof(Segment*)*dir.capacity);
                                                           ^~~~~~~~
src/CCEH_LSB.cpp:218:20: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         _dir[x+dir.capacity] = s[1];
                    ^~~~~~~~
src/CCEH_LSB.cpp:219:29: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir._[0], sizeof(Segment*)*dir.capacity);
                             ^
src/CCEH_LSB.cpp:219:56: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir._[0], sizeof(Segment*)*dir.capacity);
                                                        ^~~~~~~~
src/CCEH_LSB.cpp:220:13: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir._ = _dir;
             ^
src/CCEH_LSB.cpp:221:29: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir._, sizeof(void*));
                             ^
src/CCEH_LSB.cpp:222:13: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         dir.capacity *= 2;
             ^~~~~~~~
src/CCEH_LSB.cpp:223:29: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         clflush((char*)&dir.capacity, sizeof(size_t));
                             ^~~~~~~~
src/CCEH_LSB.cpp:226:16: error: type '<type error>' argument given to 'delete', expected pointer
         delete d;
                ^
src/CCEH_LSB.cpp:233:17: error: request for member 'Release' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     while (!dir.Release()) {
                 ^~~~~~~
src/CCEH_LSB.cpp:241:25: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     clflush((char*)&dir._[x]->_[y], 64);
                         ^
src/CCEH_LSB.cpp: In member function 'virtual bool CCEH::InsertOnly(Key_t&, Value_t)':
src/CCEH_LSB.cpp:248:28: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto x = (key_hash % dir.capacity);
                            ^~~~~~~~
src/CCEH_LSB.cpp:251:18: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto ret = dir._[x]->Insert(key, value, y, key_hash);
                  ^
src/CCEH_LSB.cpp:253:25: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     clflush((char*)&dir._[x]->_[y], 64);
                         ^
src/CCEH_LSB.cpp: In member function 'virtual const char* CCEH::Get(Key_t&)':
src/CCEH_LSB.cpp:267:27: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   const size_t mask = dir.capacity-1;
                           ^~~~~~~~
src/CCEH_LSB.cpp:271:19: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto dir_ = dir._[x];
                   ^
src/CCEH_LSB.cpp:274:19: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   auto sema = dir._[x]->sema;
                   ^
In file included from ./src/CCEH.h:8:0,
                 from src/CCEH_LSB.cpp:9:
src/CCEH_LSB.cpp:275:20: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   while (!CAS(&dir._[x]->sema, &sema, sema+1)) {
                    ^
./src/hash.h:4:56: note: in definition of macro 'CAS'
 #define CAS(_p, _u, _v)  (__atomic_compare_exchange_n (_p, _u, _v, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE))
                                                        ^~
src/CCEH_LSB.cpp:276:16: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     sema = dir._[x]->sema;
                ^
src/CCEH_LSB.cpp:284:18: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       sema = dir._[x]->sema;
                  ^
In file included from ./src/CCEH.h:8:0,
                 from src/CCEH_LSB.cpp:9:
src/CCEH_LSB.cpp:285:24: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
       while (!CAS(&dir._[x]->sema, &sema, sema-1)) {
                        ^
./src/hash.h:4:56: note: in definition of macro 'CAS'
 #define CAS(_p, _u, _v)  (__atomic_compare_exchange_n (_p, _u, _v, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE))
                                                        ^~
src/CCEH_LSB.cpp:286:20: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
         sema = dir._[x]->sema;
                    ^
src/CCEH_LSB.cpp:294:14: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   sema = dir._[x]->sema;
              ^
In file included from ./src/CCEH.h:8:0,
                 from src/CCEH_LSB.cpp:9:
src/CCEH_LSB.cpp:295:20: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   while (!CAS(&dir._[x]->sema, &sema, sema-1)) {
                    ^
./src/hash.h:4:56: note: in definition of macro 'CAS'
 #define CAS(_p, _u, _v)  (__atomic_compare_exchange_n (_p, _u, _v, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE))
                                                        ^~
src/CCEH_LSB.cpp:296:16: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     sema = dir._[x]->sema;
                ^
src/CCEH_LSB.cpp: In member function 'virtual double CCEH::Utilization()':
src/CCEH_LSB.cpp:305:30: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (size_t i = 0; i < dir.capacity; ++i) {
                              ^~~~~~~~
src/CCEH_LSB.cpp:306:13: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     set[dir._[i]] = true;
             ^
src/CCEH_LSB.cpp: In member function 'virtual size_t CCEH::Capacity()':
src/CCEH_LSB.cpp:318:30: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (size_t i = 0; i < dir.capacity; ++i) {
                              ^~~~~~~~
src/CCEH_LSB.cpp:319:13: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
     set[dir._[i]] = true;
             ^
src/CCEH_LSB.cpp: In member function 'const char* CCEH::FindAnyway(Key_t&)':
src/CCEH_LSB.cpp:341:30: error: request for member 'capacity' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
   for (size_t i = 0; i < dir.capacity; ++i) {
                              ^~~~~~~~
src/CCEH_LSB.cpp:343:16: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
        if (dir._[i]->_[j].key == key) {
                ^
src/CCEH_LSB.cpp:348:21: error: request for member '_' in '((CCEH*)this)->CCEH::dir', which is of pointer type 'Directory*' (maybe you meant to use '->' ?)
          return dir._[i]->_[j].value;
                     ^
In file included from src/CCEH_LSB.cpp:9:0:
./src/CCEH.h: In static member function 'static void* Segment::operator new(size_t)':
./src/CCEH.h:33:19: warning: ignoring return value of 'int posix_memalign(void**, size_t, size_t)', declared with attribute warn_unused_result [-Wunused-result]
     posix_memalign(&ret, 64, size);
     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
Makefile:13: recipe for target 'CCEH_LSB' failed
make: *** [CCEH_LSB] Error 1

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