Skip to content

Fix release build pipeline for centos7/8 #98

Closed

Description

@yangsw26
  • EloqSQL
  • EloqKV
  • EloqDOC

Activity

  1. self-assigned this
    on Sep 2, 2025
  2. yangsw26 commented on Sep 2, 2025

    @yangsw26
    CollaboratorAuthor

    Install liburing on centos7/8 image.

  3. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    Disable liburing on centos, cmake config: IOURING_ENABLED=OFF.

  4. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    Failed to set core pattern on centos:

    + echo /var/crash/core.%t.%e.%p
    + sudo tee /proc/sys/kernel/core_pattern
    tee: /proc/sys/kernel/core_pattern: Permission denied
    /var/crash/core.%t.%e.%p
    

    Solution:

    For centos, /proc/sys/kernel/core_pattern is Read-only file system, and the core pattern has been set to /var/crash/core.%t.%e.%p by default.
    
  5. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor
    + '[' -n true ']'
    ++ git tag --sort=-v:refname
    ++ head -n 1
    + TAGGED=
    + '[' -z '' ']'
    + exit 1
    
    
  6. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor
    [ 95%] Built target host_manager
    /home/eloq/eloqsql/storage/eloq/tx_service/src/cc/local_cc_handler.cpp:2312:1: error: redefinition of 'const char _ZTSZN9txservice13LocalCcShards13PinRangeSliceINS_10CatalogKeyEEENS_12RangeSliceIdERKNS_9TableNameEjlPKNS_9KeySchemaEPKNS_12RecordSchemaEmPKNS_13KVCatalogInfoEiRKT_bPNS_13CcRequestBaseEPNS_7CcShardERNS_18RangeSliceOpStatusEbjbbbRKSt8functionIFiibEEEd_UlibE_ []'
     2312 | }
          | ^
    /home/eloq/eloqsql/storage/eloq/tx_service/src/cc/local_cc_handler.cpp:2312:1: note: 'const char _ZTSZN9txservice13LocalCcShards13PinRangeSliceINS_10CatalogKeyEEENS_12RangeSliceIdERKNS_9TableNameEjlPKNS_9KeySchemaEPKNS_12RecordSchemaEmPKNS_13KVCatalogInfoEiRKT_bPNS_13CcRequestBaseEPNS_7CcShardERNS_18RangeSliceOpStatusEbjbbbRKSt8functionIFiibEEEd_UlibE_ [254]' previously defined here
    [ 95%] Linking CXX static library libsql.a
    gmake[2]: *** [storage/eloq/CMakeFiles/txservice.dir/build.make:298: storage/eloq/CMakeFiles/txservice.dir/tx_service/src/cc/local_cc_handler.cpp.o] Error 1
    gmake[2]: *** Waiting for unfinished jobs....
    /home/eloq/eloqsql/storage/eloq/tx_service/src/cc/cc_shard.cpp:2986:1: error: redefinition of 'const char _ZTSZN9txservice13LocalCcShards13PinRangeSliceINS_10CatalogKeyEEENS_12RangeSliceIdERKNS_9TableNameEjlPKNS_9KeySchemaEPKNS_12RecordSchemaEmPKNS_13KVCatalogInfoEiRKT_bPNS_13CcRequestBaseEPNS_7CcShardERNS_18RangeSliceOpStatusEbjbbbRKSt8functionIFiibEEEd_UlibE_ []'
     2986 | }  // namespace txservice
          | ^
    /home/eloq/eloqsql/storage/eloq/tx_service/src/cc/cc_shard.cpp:2986:1: note: 'const char _ZTSZN9txservice13LocalCcShards13PinRangeSliceINS_10CatalogKeyEEENS_12RangeSliceIdERKNS_9TableNameEjlPKNS_9KeySchemaEPKNS_12RecordSchemaEmPKNS_13KVCatalogInfoEiRKT_bPNS_13CcRequestBaseEPNS_7CcShardERNS_18RangeSliceOpStatusEbjbbbRKSt8functionIFiibEEEd_UlibE_ [254]' previously defined here
    gmake[2]: *** [storage/eloq/CMakeFiles/txservice.dir/build.make:272: storage/eloq/CMakeFiles/txservice.dir/tx_service/src/cc/cc_shard.cpp.o] Error 1
    [ 95%] Built target sql
    
  7. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor
    ++ ldd /home/eloq/EloqSQL/bin/mariadbd
    ++ awk 'NF==4{print $(NF-1)}{}'
    + libraries='/lib64/libcrypt.so.1
    not
    not
    not
    /lib64/libpthread.so.0
    ...
    rsync: link_stat "/tmp/build/49b7a71e/eloqsql_src/bld/not" failed: No such file or directory (2)
    
    sent 18 bytes  received 12 bytes  60.00 bytes/sec
    total size is 0  speedup is 0.00
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179) [sender=3.1.2]
    

    Try:

    echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
    

    hijack to the container:

    [eloq@fe40b6ac-734c-4469-8e25-f3c740eb0fff 49b7a71e]$ ldd /home/eloq/EloqSQL/bin/mariadbd | awk 'NF==4{print $(NF-1)}{}'
    /lib64/libcrypt.so.1
    /usr/local/lib/libboost_context.so.1.82.0
    /usr/local/lib64/libglog.so.1
    /usr/local/lib/libgflags.so.2.2
    /lib64/libpthread.so.0
    /lib64/liblz4.so.1
    ...
    

    but, in the ci:

    ++ ldd /home/eloq/EloqSQL/bin/mariadbd
    ++ awk 'NF==4{print $(NF-1)}{}'
    + libraries='/lib64/libcrypt.so.1
    not
    not
    not
    /lib64/libpthread.so.0
    /lib64/liblz4.so.1
    ...
    

    Solution:

    export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH
    
  8. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    set privileged: true.

  9. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    For EloqDoc:

    find or create container on worker 82e35c3056ff: starting task: new task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: openat2 /sys/fs/cgroup/garden/a2c72add-4019-4d6c-a179-e68a0ef4c4dc/memory.max: no such file or directory: unknown
    

    Solution:
    remove memory limit:

    -container_limits:
    -  memory: 16GB
    
  10. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    EloqDoc:

    /home/eloq/eloqdoc/src/mongo/db/modules/eloq/tx_service/include/tx_key.h:24:10: fatal error: mimalloc.h: No such file or directory
       24 | #include <mimalloc.h>
    

    Solution:
    Specify the install path of mimalloc

    -DCMAKE_INSTALL_LIBDIR=lib
    
  11. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    EloqDoc:

    /opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/ld: CMakeFiles/LOG_SERVICE_OBJ.dir/eloq_log_service/src/ini.c.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
    [ 44%] Linking CXX static library libabsl_cordz_functions.a
    [ 44%] Built target absl_cordz_functions
    Scanning dependencies of target absl_scoped_set_env
    [ 45%] Building CXX object tx_service/abseil-cpp/absl/base/CMakeFiles/absl_scoped_set_env.dir/internal/scoped_set_env.cc.o
    collect2: error: ld returned 1 exit status
    gmake[2]: *** [CMakeFiles/logservice_shared.dir/build.make:122: liblogservice.so] Error 1
    gmake[1]: *** [CMakeFiles/Makefile2:1209: CMakeFiles/logservice_shared.dir/all] Error 2
    

    Solution:
    set -fPIC

    set(CMAKE_POSITION_INDEPENDENT_CODE ON)
    
  12. yangsw26 commented on Sep 3, 2025

    @yangsw26
    CollaboratorAuthor

    EloqDoc:

    Checking if C compiler is GCC 5.3.0 or newer...no
    Checking if C++ compiler is GCC 5.3.0 or newer...no
    ERROR: Refusing to build with compiler that does not meet requirements
    

    Solution:
    Specify the CC and CXX

    python2 buildscripts/scons.py \
        CC=${CC} \
        CXX=${CXX} \
    ...
    
  13. yangsw26 commented on Sep 4, 2025

    @yangsw26
    CollaboratorAuthor

    EloqDoc:

    Centos8:

    Checking if C compiler is GCC 5.3.0 or newer...no
    Checking if C++ compiler is GCC 5.3.0 or newer...no
    
    scons: Configure: Checking if C compiler is GCC 5.3.0 or newer...
    build/scons/RelWithDebInfo/sconf_temp/conftest_7.c <-
      |
      |#if !defined(__GNUC__) || defined(__clang__)
      |#error
      |#endif
      |                                                                                                                                                           |#if (__GNUC__ < 5) || (__GNUC__ == 5 && __GNUC_MINOR__ < 3) || (__GNUC__ == 5 && __GNUC_MINOR__ == 3 && __GNUC_PATCHLEVEL__ < 0)
      |#error GCC 5.3.0 or newer is required to build MongoDB
      |#endif
      |
      |int main(int argc, char* argv[]) {
      |    return 0;
      |}
      |
    Compiling build/scons/RelWithDebInfo/sconf_temp/conftest_7.o
    as: unrecognized option '--gdwarf-4'
    scons: Configure: no
    
  14. linked a pull request that will close this issueupdate txservice subm #137on Sep 4, 2025
  15. linked a pull request that will close this issuefeat: Disable iouring on centos #99on Sep 4, 2025
  16. linked a pull request that will close this issuefeat: feat: Compile on centos #159on Sep 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions