MySQL Forums
Forum List  »  Source, Builds, Binaries

Re: How can i make a MySQL8 tar package like offcial tar package through source build?
Posted by: 仁刚 谭
Date: April 09, 2020 02:14AM

I am sad to say: gcc8 can't solve the problem.

I use gcc-8.3.0 and build it use command follow:
../configure --prefix=/usr/local/gcc-8.3.0 --enable-shared --enable-threads=posix --enable-languages=c,c++,fortran --disable-multilib
make && make install

when i make the MySQL 8, it still throw errors like before.
so i thought about why offical limit gcc5.3+, because gcc5.3+ include the high version of libstdc++.so.6 that MySQL8 needed
so i wonder how does offical did it that offical tarball run rely on low version libstdc++.so.6 when offical tarball make rely on high version libstdc++.so.6
"As I said, the official tarball it built with Red Hat's Developer Studio 8 which includes gcc 8. This does *not* have its own libstdc++ but uses the system 6.0.19. That is why the MySQL built with it also can use 6.0.19."-I doubt it base on my test, if "This does *not* have its own libstdc++ but uses the system 6.0.19" is right, MySQL8's make should throw error like me.





make MySQL8's error:

Scanning dependencies of target uca9dump
[ 25%] Building CXX object strings/CMakeFiles/uca9dump.dir/uca9-dump.cc.o
[ 25%] Linking CXX executable ../runtime_output_directory/uca9dump
[ 25%] Built target uca9dump
[ 25%] Generating uca900_zh_tbls.cc, uca900_ja_tbls.cc
../runtime_output_directory/uca9dump: /lib64/libstdc++.so.6: version 'CXXABI_1.3.9' not found (required by ../runtime_output_directory/uca9dump)
make[2]: *** [strings/uca900_zh_tbls.cc] Error 1
make[1]: *** [strings/CMakeFiles/strings_objlib.dir/all] Error 2
make: *** [all] Error 2

Scanning dependencies of target GenError
[ 30%] Generating ../include/mysqld_error.h, ../share/english/errmsg.sys
../runtime_output_directory/comp_err: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ../runtime_output_directory/comp_err)
../runtime_output_directory/comp_err: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ../runtime_output_directory/comp_err)
../runtime_output_directory/comp_err: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ../runtime_output_directory/comp_err)
make[2]: *** [include/mysqld_error.h] Error 1
make[1]: *** [utilities/CMakeFiles/GenError.dir/all] Error 2
make: *** [all] Error 2

Scanning dependencies of target libmysql_api_test
[ 30%] Building C object libmysql/CMakeFiles/libmysql_api_test.dir/api_test.c.o
[ 30%] Linking CXX executable ../runtime_output_directory/libmysql_api_test
../runtime_output_directory/libmysql_api_test: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libmysqlclient.so.21)
../runtime_output_directory/libmysql_api_test: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libmysqlclient.so.21)
../runtime_output_directory/libmysql_api_test: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libmysqlclient.so.21)
make[2]: *** [runtime_output_directory/libmysql_api_test] Error 1
make[2]: *** Deleting file `runtime_output_directory/libmysql_api_test'
make[1]: *** [libmysql/CMakeFiles/libmysql_api_test.dir/all] Error 2
make: *** [all] Error 2

Scanning dependencies of target GenLiteProtos
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_datatypes.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_connection.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_expect.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_expr.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_crud.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_sql.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_session.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_notice.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_resultset.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_cursor.proto
[ 40%] transform_to_lite /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx_prepare.proto
[ 40%] Built target GenLiteProtos
[ 40%] Running C++ protocol buffer compiler (lite) on /data/mysql-8.0.18/plugin/x/protocol/protobuf/mysqlx.proto
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ../../../../runtime_output_directory/protoc)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotoc.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotoc.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotoc.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotoc.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotobuf.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotobuf.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotobuf.so.3.6.1)
../../../../runtime_output_directory/protoc: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data/mysql-8.0.18/bld/library_output_directory/libprotobuf.so.3.6.1)
make[2]: *** [plugin/x/generated/protobuf_lite/mysqlx.pb.cc] Error 1
make[1]: *** [plugin/x/protocol/protobuf/CMakeFiles/mysqlxmessages_lite.dir/all] Error 2
make: *** [all] Error 2

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: How can i make a MySQL8 tar package like offcial tar package through source build?
238
April 09, 2020 02:14AM


Sorry, only registered users may post in this forum.

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.