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
Subject
Views
Written By
Posted
1400
April 06, 2020 11:28PM
665
April 07, 2020 01:47AM
720
April 07, 2020 08:51AM
644
April 08, 2020 01:19AM
579
April 08, 2020 01:41AM
568
April 08, 2020 02:43AM
588
April 08, 2020 03:12AM
596
April 08, 2020 03:28AM
662
April 08, 2020 02:01PM
610
April 08, 2020 07:06PM
Re: How can i make a MySQL8 tar package like offcial tar package through source build?
731
April 09, 2020 02:14AM
588
April 14, 2020 05:32AM
1190
April 08, 2020 11:34PM
1359
April 08, 2020 11:59PM
833
April 09, 2020 12:06AM
1870
April 09, 2020 12:09AM
654
November 04, 2020 07:12AM
616
March 17, 2021 09:41AM
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.