cmu-db / peloton

The Self-Driving Database Management System
http://pelotondb.io
Apache License 2.0
2.03k stars 624 forks source link

Compile Error #1486

Closed qiuyuhang closed 5 years ago

qiuyuhang commented 5 years ago

Env

macOS 10.14 clang: Apple LLVM version 10.0.0 (clang-1000.10.44.2)

Error

I got a lot of such errors, this is one of them.

In file included from /Volumes/Dist/DB/peloton/src/catalog/constraint_catalog.cpp:13:
In file included from /Volumes/Dist/DB/peloton/src/include/catalog/constraint_catalog.h:41:
In file included from /Volumes/Dist/DB/peloton/src/include/catalog/abstract_catalog.h:17:
In file included from /Volumes/Dist/DB/peloton/src/include/catalog/catalog_defaults.h:14:
In file included from /Volumes/Dist/DB/peloton/src/include/common/internal_types.h:27:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/bitset:117:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/__bit_reference:15:
In file included from /Library/Developer/CommandLineTools/usr/include/c++/v1/algorithm:643:
/Library/Developer/CommandLineTools/usr/include/c++/v1/memory:2285:5: error: delete called on non-final 'peloton::planner::ProjectInfo' that has virtual functions but non-virtual
      destructor [-Werror,-Wdelete-non-virtual-dtor]
    delete __ptr;
    ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/memory:2598:7: note: in instantiation of member function 'std::__1::default_delete<const
      peloton::planner::ProjectInfo>::operator()' requested here
      __ptr_.second()(__tmp);
      ^
/Library/Developer/CommandLineTools/usr/include/c++/v1/memory:2552:19: note: in instantiation of member function 'std::__1::unique_ptr<const peloton::planner::ProjectInfo,
      std::__1::default_delete<const peloton::planner::ProjectInfo> >::reset' requested here
  ~unique_ptr() { reset(); }
                  ^
/Volumes/Dist/DB/peloton/src/include/planner/project_info.h:101:12: note: in instantiation of member function 'std::__1::unique_ptr<const peloton::planner::ProjectInfo,
      std::__1::default_delete<const peloton::planner::ProjectInfo> >::~unique_ptr' requested here
    return std::unique_ptr<ProjectInfo>(
apavlo commented 5 years ago

Peloton only compiles with Xcode 9.3:

https://github.com/cmu-db/peloton/wiki/Installation#macos-quick-setup

We are not planning to fix this because we are moving over to a newer codebase that supports newer versions of the LLVM.