MySQL Forums
Forum List  »  Source, Builds, Binaries

Re: MySQL Shell build on Arm (aarch64)
Posted by: Pawel Andruszkiewicz
Date: December 14, 2021 04:10AM

Building mysqlsh without V8, with a custom Python binaries:

/opt/dev/mysqlsh-no-v8
$ cmake /opt/dev/mysqlsh-review \
> -G Ninja \
> -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
> -DCMAKE_C_COMPILER_LAUNCHER=ccache \
> -DCMAKE_C_COMPILER=clang \
> -DCMAKE_CXX_COMPILER=clang++ \
> -DCMAKE_BUILD_TYPE=RelWithDebInfo \
> -DHAVE_PYTHON=1 \
> -DMYSQL_SOURCE_DIR=/opt/dev/mysqlsh-dev-env/deps-src/mysql \
> -DMYSQL_BUILD_DIR=/opt/dev/mysqlsh-dev-env/deps-rel/mysql \
> -DBUNDLED_PYTHON_DIR=/opt/dev/python/Python-3.9.5 \
> -DPACKAGE_YEAR=2021
-- Running cmake version 3.20.2
-- The C compiler identification is Clang 12.0.1
-- The CXX compiler identification is Clang 12.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib64/ccache/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for SHM_HUGETLB
-- Looking for SHM_HUGETLB - found
-- MySQL Shell 8.0.27
-- Performing Test supports_std
-- Performing Test supports_std - Success
-- Performing Test C_LD_LLD_RESULT
-- Performing Test C_LD_LLD_RESULT - Success
-- Performing Test CXX_LD_LLD_RESULT
-- Performing Test CXX_LD_LLD_RESULT - Success
-- Performing Test COMPILER_HAS_SANITIZE_FUZZER
-- Performing Test COMPILER_HAS_SANITIZE_FUZZER - Failed
CMake Warning at cmake/fuzzer.cmake:65 (MESSAGE):
Coverage is not supported. Skipping build fuzz tests.
Call Stack (most recent call first):
CMakeLists.txt:558 (include)


-- Found CURL: /usr/lib64/libcurl.so (found version "7.61.1")
-- CURL version: 7.61
-- CURL_LIBRARY = /usr/lib64/libcurl.so
-- CURL_INCLUDE_DIR = /usr/include
-- CURL_DEFINITIONS =
-- The openssl command does support zlib
-- OPENSSL_INCLUDE_DIR = /usr/include
-- OPENSSL_LIBRARY = /usr/lib64/libssl.so
-- CRYPTO_LIBRARY = /usr/lib64/libcrypto.so
-- OPENSSL_MAJOR_VERSION = 1
-- OPENSSL_MINOR_VERSION = 01
-- OPENSSL_FIX_VERSION = 01
-- Looking for SHA512_DIGEST_LENGTH
-- Looking for SHA512_DIGEST_LENGTH - found
-- SSL_LIBRARIES = /usr/lib64/libssl.so;/usr/lib64/libcrypto.so
CMake Warning at CMakeLists.txt:687 (message):
V8 is unavailable: building without JavaScript support.


-- Python 3.9.5
-- PYTHON_INCLUDE_DIRS: /opt/dev/python/Python-3.9.5/include/python3.9
-- PYTHON_LIBRARIES: /opt/dev/python/Python-3.9.5/lib/libpython3.9.so
-- Python major.minor: 3.9
-- Found Protobuf: /opt/dev/mysqlsh-dev-env/deps-rel/mysql/extra/protobuf/protobuf-3.11.4/cmake/libprotobuf.a (found suitable version "3.11.4", minimum required is "3.11.4")
PROTOBUF_INCLUDE_DIRS: /opt/dev/mysqlsh-dev-env/deps-src/mysql/extra/protobuf/protobuf-3.11.4/src
PROTOBUF_LIBRARIES: /opt/dev/mysqlsh-dev-env/deps-rel/mysql/extra/protobuf/protobuf-3.11.4/cmake/libprotobuf.a
----> EXECUTABLE: /opt/dev/mysqlsh-dev-env/deps-rel/mysql/scripts/mysql_config
-- /opt/dev/mysqlsh-dev-env/deps-rel/mysql/scripts/mysql_config --libs: -L/usr/local/mysql/lib -lmysqlclient -lpthread -ldl -lssl -lcrypto -lresolv -lm -lrt
-- /opt/dev/mysqlsh-dev-env/deps-rel/mysql/archive_output_directory/libmysqlclient.a
-- Found MySQL client Libraries
-- MYSQLX_LIBRARIES : /opt/dev/mysqlsh-dev-env/deps-rel/mysql/plugin/x/client/libmysqlxclient.a;/opt/dev/mysqlsh-dev-env/deps-rel/mysql/plugin/x/protocol/protobuf/libmysqlxmessages.a;/opt/dev/mysqlsh-dev-env/deps-rel/mysql/archive_output_directory/libmysqlclient.a;pthread;dl;ssl;crypto;resolv;m;rt
-- MYSQLX_INCLUDE_DIRS: /opt/dev/mysqlsh-dev-env/deps-rel/mysql/include;/opt/dev/mysqlsh-dev-env/deps-rel/mysql/plugin/x/generated;/opt/dev/mysqlsh-dev-env/deps-src/mysql/include;/opt/dev/mysqlsh-dev-env/deps-src/mysql;/opt/dev/mysqlsh-dev-env/deps-src/mysql/plugin/x/client;/opt/dev/mysqlsh-dev-env/deps-src/mysql/libbinlogevents/export
-- Performing Test HAVE_LLVM_LIBCPP
-- Performing Test HAVE_LLVM_LIBCPP - Failed
-- Found Threads: TRUE
-- Looking for floor
-- Looking for floor - not found
-- Looking for floor in m
-- Looking for floor in m - found
-- Looking for gethostbyname_r
-- Looking for gethostbyname_r - found
-- Looking for bind
-- Looking for bind - found
-- Looking for crypt
-- Looking for crypt - not found
-- Looking for crypt in crypt
-- Looking for crypt in crypt - found
-- Looking for setsockopt
-- Looking for setsockopt - found
-- Looking for dlopen
-- Looking for dlopen - not found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for sched_yield
-- Looking for sched_yield - found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for timer_create
-- Looking for timer_create - not found
-- Looking for timer_create in rt
-- Looking for timer_create in rt - found
-- Performing Test STD_FILESYSTEM_COMPILES
-- Performing Test STD_FILESYSTEM_COMPILES - Failed
-- Performing Test STD_FILESYSTEM_COMPILES
-- Performing Test STD_FILESYSTEM_COMPILES - Failed
-- Performing Test STD_FILESYSTEM_COMPILES
-- Performing Test STD_FILESYSTEM_COMPILES - Success
-- Looking for include file bsd/string.h
-- Looking for include file bsd/string.h - not found
-- Looking for getpwuid_r
-- Looking for getpwuid_r - found
-- Looking for getlogin_r
-- Looking for getlogin_r - found
-- Looking for memset_s
-- Looking for memset_s - not found
-- Looking for explicit_bzero
-- Looking for explicit_bzero - found
-- Library mysqlshdk-static depends on OSLIBS -lpthread;stdc++fs;util;/usr/lib64/libcurl.so;/opt/dev/mysqlsh-dev-env/deps-rel/mysql/archive_output_directory/libz.a
-- MERGE_CONVENIENCE_LIBRARIES TARGET mysqlshdk-static
-- MERGE_CONVENIENCE_LIBRARIES LIBS utils;db;mysql;config;mysql-secret-store-api;rest;textui;scripting;shellcore;storage;oci
-- Adding executable mysqlsh
-- Marking executable mysqlsh as a run-time component
-- Adding executable mysql-secret-store-login-path
-- Marking executable mysql-secret-store-login-path as a run-time component
-- Found Git: /usr/bin/git (found version "2.27.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/dev/mysqlsh-no-v8
/opt/dev/mysqlsh-no-v8
$ ninja
[360/360] Linking CXX executable bin/mysqlsh
/opt/dev/mysqlsh-no-v8
$ ./bin/mysqlsh
MySQL Shell 8.0.27

Copyright (c) 2016, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
Other names may be trademarks of their respective owners.

Type '\help' or '\?' for help; '\quit' to exit.
WARNING: Found errors loading plugins, for more details look at the log at: /opt/dev/.mysqlsh/mysqlsh.log
MySQL Py > \js
Unknown command: '\js'
MySQL Py > import sys
MySQL Py > sys.version
3.9.5 (tags/v3.9.5:0a7dcbdb13, Oct 14 2021, 12:18:16)
[GCC 8.4.1 20200928 (Red Hat 8.4.1-1.0.4)]
MySQL Py > \q
Bye!
/opt/dev/mysqlsh-no-v8
$ ldd bin/mysqlsh
linux-vdso.so.1 (0x00007fff6aff5000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f9a6a485000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f9a6a281000)
libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f9a69fed000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f9a69b04000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f9a698ed000)
libm.so.6 => /lib64/libm.so.6 (0x00007f9a6956b000)
librt.so.1 => /lib64/librt.so.1 (0x00007f9a69363000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f9a6915f000)
libcurl.so.4 => /lib64/libcurl.so.4 (0x00007f9a68ed1000)
libpython3.9.so.1.0 => /opt/dev/mysqlsh-no-v8/bin/../lib/mysqlsh/libpython3.9.so.1.0 (0x00007f9a68928000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9a68593000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f9a6837a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f9a67fb5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9a6a6a5000)
libz.so.1 => /lib64/libz.so.1 (0x00007f9a67d9e000)
libnghttp2.so.14 => /lib64/libnghttp2.so.14 (0x00007f9a67b77000)
libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f9a67959000)
libssh.so.4 => /lib64/libssh.so.4 (0x00007f9a676ea000)
libpsl.so.5 => /lib64/libpsl.so.5 (0x00007f9a674d9000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f9a67284000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f9a66f9a000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f9a66d83000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f9a66b7f000)
libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x00007f9a66930000)
liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007f9a66720000)
libbrotlidec.so.1 => /lib64/libbrotlidec.so.1 (0x00007f9a66513000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f9a662ea000)
libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f9a65f69000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f9a65d58000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f9a65b54000)
libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f9a65936000)
libbrotlicommon.so.1 => /lib64/libbrotlicommon.so.1 (0x00007f9a65715000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f9a654eb000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f9a65267000)

Options: ReplyQuote


Subject
Views
Written By
Posted
1590
December 10, 2021 03:29PM
Re: MySQL Shell build on Arm (aarch64)
751
December 14, 2021 04:10AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.