yugabyte / yugabyte-db

YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
https://www.yugabyte.com
Other
9.05k stars 1.08k forks source link

Support yb_release for native builds for various Linux distributions #8808

Open mbautin opened 3 years ago

mbautin commented 3 years ago

(Without using the Linuxbrew toolchain.)

TiannV commented 3 years ago

Add --shellcheck to build without using the Linuxbrew toolchain?

mbautin commented 3 years ago

No, --shellcheck is just needed to validate Bash scripts. To build without Linuxbrew, specify an option such as --gcc9 or --clang11.

TiannV commented 3 years ago

Thanks. I have tried it with a new issue:

CMake Error at /usr/share/cmake3/Modules/FindBoost.cmake:2165 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.69.0

  Boost include path:
  /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/include

  Could not find the following Boost libraries:

          boost_thread (missing dependency: Threads) (missing dependency: Threads)

  Some (but not all) of the required Boost libraries were found.  You may
  need to install these additional Boost libraries.  Alternatively, set
  BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
  to the location of Boost.
Call Stack (most recent call first):
  cmake_modules/YugabyteFindThirdParty.cmake:274 (find_package)
  CMakeLists.txt:657 (include)

Results of finding Boost shared libraries:
    Boost_FOUND: 0
    Boost_INCLUDE_DIRS: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/include
    Boost_LIBRARY_DIRS: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib
    Boost_LIBRARIES:
    Boost_SYSTEM_FOUND: ON
    Boost_SYSTEM_LIBRARY: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libboost_system.so
    Boost_THREAD_FOUND: OFF
    Boost_THREAD_LIBRARY: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libboost_thread.so
    Boost_VERSION: 106900
    Boost_LIB_VERSION: 1_69
    Boost_MAJOR_VERSION: 1
    Boost_MINOR_VERSION: 69
    Boost_SUBMINOR_VERSION: 0
    Boost_LIB_DIAGNOSTIC_DEFINITIONS:
CMake Error at CMakeLists.txt:587 (message):
  No static or shared library provided for NOTFOUND
Call Stack (most recent call first):
  cmake_modules/YugabyteFindThirdParty.cmake:299 (ADD_THIRDPARTY_LIB)
  CMakeLists.txt:657 (include)
mbautin commented 3 years ago

Try installing the libatomic CentOS package.

TiannV commented 3 years ago

Fixed. Thanks!

TiannV commented 3 years ago

How about this........

/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/include/boost/atomic/detail/ops_emulated.hpp:104: undefined reference to `boost::atomics::detail::lockpool::scoped_lock::scoped_lock(void const volatile*)'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/include/boost/atomic/detail/ops_emulated.hpp:104: undefined reference to `boost::atomics::detail::lockpool::scoped_lock::~scoped_lock()'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /lib/../lib64/libboost_atomic.so: undefined reference to `boost::system::system_category()'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /lib/../lib64/libboost_atomic.so: undefined reference to `boost::system::generic_category()'
TiannV commented 3 years ago

How about this........

/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/include/boost/atomic/detail/ops_emulated.hpp:104: undefined reference to `boost::atomics::detail::lockpool::scoped_lock::scoped_lock(void const volatile*)'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/include/boost/atomic/detail/ops_emulated.hpp:104: undefined reference to `boost::atomics::detail::lockpool::scoped_lock::~scoped_lock()'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /lib/../lib64/libboost_atomic.so: undefined reference to `boost::system::system_category()'
/opt/rh/devtoolset-9/root/usr/libexec/gcc/aarch64-redhat-linux/9/ld: /lib/../lib64/libboost_atomic.so: undefined reference to `boost::system::generic_category()'

add boost_atomic in file src/yb/util/CMakeLists.txt

set(UTIL_LIBS
  boost_system
  boost_thread
  boost_atomic
  cds
  icui18n
  icuuc
  crcutil
  crypt_blowfish
  gflags
  glog
  gutil
  histogram_proto
  libev
  pb_util_proto
  protobuf
  version_info_proto
  encryption_proto
  zlib
  ${OPENSSL_CRYPTO_LIBRARY}
  ${OPENSSL_SSL_LIBRARY})

and add atomic in file cmake_modules/YugabyteFindThirdParty.cmake

# Find Boost static libraries.
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost COMPONENTS system thread atomic REQUIRED)
show_found_boost_details("static")

fixed

TiannV commented 3 years ago

But new issue:

WARNING: Logging before InitGoogleLogging() is written to STDERR
F0630 15:53:28.314307  4683 lockfree.h:103] Check failed: head_.is_lock_free()
*** Check failure stack trace: ***
--yrpc_out: protoc-gen-yrpc: Plugin killed by signal 6.
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0630 15:53:28.316974  4685 lockfree.h:103] Check failed: head_.is_lock_free()
*** Check failure stack trace: ***
make[2]: *** [src/yb/server/server_base.service.cc] Error 1
make[1]: *** [src/yb/server/CMakeFiles/gen_src_yb_server_server_base_proto.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
--yrpc_out: protoc-gen-yrpc: Plugin killed by signal 6.
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0630 15:53:28.318599  4686 lockfree.h:103] Check failed: head_.is_lock_free()
*** Check failure stack trace: ***

gdb info:

#0  0x0000ffffa38a5238 in raise () from /lib64/libc.so.6
#1  0x0000ffffa38a68b0 in abort () from /lib64/libc.so.6
#2  0x0000ffffa4ac950c in google::logging_fail() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#3  0x0000ffffa4aceb20 in google::LogMessage::Fail() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#4  0x0000ffffa4ad0c0c in google::LogMessage::SendToLog() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#5  0x0000ffffa4ace614 in google::LogMessage::Flush() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#6  0x0000ffffa4ad14a4 in google::LogMessageFatal::~LogMessageFatal() ()
   from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#7  0x0000ffffa4ef28dc in yb::LockFreeStack<yb::(anonymous namespace)::ThreadStackEntry>::LockFreeStack (this=<optimized out>) at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/char_traits.h:335
#8  0x0000ffffa4ef29b8 in ThreadStackHelper (this=0xffffa50d58d0 <yb::(anonymous namespace)::thread_stack_helper>) at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/std_mutex.h:91
#9  __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ../../../../../src/yb/util/debug-util.cc:278
#10 _GLOBAL__sub_I_debug_util.cc(void) () at ../../../../../src/yb/util/debug-util.cc:936
TiannV commented 3 years ago

But new issue:

WARNING: Logging before InitGoogleLogging() is written to STDERR
F0630 15:53:28.314307  4683 lockfree.h:103] Check failed: head_.is_lock_free()
*** Check failure stack trace: ***
--yrpc_out: protoc-gen-yrpc: Plugin killed by signal 6.
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0630 15:53:28.316974  4685 lockfree.h:103] Check failed: head_.is_lock_free()
*** Check failure stack trace: ***
make[2]: *** [src/yb/server/server_base.service.cc] Error 1
make[1]: *** [src/yb/server/CMakeFiles/gen_src_yb_server_server_base_proto.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
--yrpc_out: protoc-gen-yrpc: Plugin killed by signal 6.
WARNING: Logging before InitGoogleLogging() is written to STDERR
F0630 15:53:28.318599  4686 lockfree.h:103] Check failed: head_.is_lock_free()
*** Check failure stack trace: ***

gdb info:

#0  0x0000ffffa38a5238 in raise () from /lib64/libc.so.6
#1  0x0000ffffa38a68b0 in abort () from /lib64/libc.so.6
#2  0x0000ffffa4ac950c in google::logging_fail() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#3  0x0000ffffa4aceb20 in google::LogMessage::Fail() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#4  0x0000ffffa4ad0c0c in google::LogMessage::SendToLog() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#5  0x0000ffffa4ace614 in google::LogMessage::Flush() () from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#6  0x0000ffffa4ad14a4 in google::LogMessageFatal::~LogMessageFatal() ()
   from /opt/yb-build/thirdparty/yugabyte-db-thirdparty-v20210611151614-82ad1fb3bb-centos7-gcc9/installed/uninstrumented/lib/libglog.so.0
#7  0x0000ffffa4ef28dc in yb::LockFreeStack<yb::(anonymous namespace)::ThreadStackEntry>::LockFreeStack (this=<optimized out>) at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/char_traits.h:335
#8  0x0000ffffa4ef29b8 in ThreadStackHelper (this=0xffffa50d58d0 <yb::(anonymous namespace)::thread_stack_helper>) at /opt/rh/devtoolset-9/root/usr/include/c++/9/bits/std_mutex.h:91
#9  __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ../../../../../src/yb/util/debug-util.cc:278
#10 _GLOBAL__sub_I_debug_util.cc(void) () at ../../../../../src/yb/util/debug-util.cc:936

9154