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
1369
April 06, 2020 11:28PM
644
April 07, 2020 01:47AM
703
April 07, 2020 08:51AM
622
April 08, 2020 01:19AM
558
April 08, 2020 01:41AM
545
April 08, 2020 02:43AM
569
April 08, 2020 03:12AM
578
April 08, 2020 03:28AM
643
April 08, 2020 02:01PM
591
April 08, 2020 07:06PM
Re: How can i make a MySQL8 tar package like offcial tar package through source build?
708
April 09, 2020 02:14AM
568
April 14, 2020 05:32AM
1166
April 08, 2020 11:34PM
1310
April 08, 2020 11:59PM
801
April 09, 2020 12:06AM
1843
April 09, 2020 12:09AM
633
November 04, 2020 07:12AM
595
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.