Bug #82515 | MySQL 5.7.1{3,4} does not compile ob gcc 6.1.1 | ||
---|---|---|---|
Submitted: | 9 Aug 2016 15:01 | Modified: | 26 Sep 2016 22:15 |
Reporter: | Tomasz Kłoczko | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Compiling | Severity: | S2 (Serious) |
Version: | 5.7.13, 5.7.14, 5.7.15 | OS: | Fedora (rawhide) |
Assigned to: | Jon Olav Hauglid | CPU Architecture: | Any |
Tags: | myisam |
[9 Aug 2016 15:01]
Tomasz Kłoczko
[9 Aug 2016 15:09]
Tomasz Kłoczko
Just realised that it may be problem with dirent.h from rawhide glibc. Opened https://bugzilla.redhat.com/show_bug.cgi?id=1365576
[9 Aug 2016 16:59]
Tomasz Kłoczko
Looks like it is a bug in mysql 5.7 code. Comment from https://bugzilla.redhat.com/show_bug.cgi?id=1365576 /home/tkloczko/rpmbuild/BUILD/mysql-5.7.14/mysql-5.7.14/mysys/my_lib.c:127:3: error: 'readdir_r' is deprecated [-Werror=deprecated-declarations] Please stop using readdir_r, it's completely useless. Status: NEW → CLOSED Resolution: --- → NOTABUG Last Closed: 2016-08-09 11:25:12
[10 Aug 2016 1:14]
MySQL Verification Team
I couldn't repeat: [100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/readline.cc.o [100%] Linking CXX executable mysql_embedded [100%] Built target mysql_embedded Scanning dependencies of target my_safe_process [100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o [100%] Linking CXX executable my_safe_process [100%] Built target my_safe_process [miguel@f24 mysql-5.7.14]$ gcc --version gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) Copyright (C) 2016 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [miguel@f24 mysql-5.7.14]$ sql/mysqld --version sql/mysqld Ver 5.7.14 for Linux on x86_64 (Source distribution) [miguel@f24 mysql-5.7.14]$
[10 Aug 2016 7:09]
Terje Røsten
Hi Tomasz! Problem is due to change in glibc 2.24 which contain the following change: * The readdir_r and readdir64_r functions have been deprecated. It is recommended to use readdir and readdir64 instead. See for example for more information: https://lwn.net/Articles/696469/ To reproduce a system with glibdc 2.24 is needed, using GCC 6.1.1 is not enough. Fedora rawhide (to be Fedora 25) is one such system.
[24 Sep 2016 17:28]
Tomasz Kłoczko
Here is longer comment what needs to be done: https://womble.decadent.org.uk/readdir_r-advisory.html Hist checked 5.7.15 and seems problem still is not solved
[24 Sep 2016 17:30]
Tomasz Kłoczko
BTW seems not fixing this issue has some secutity consequences.
[26 Sep 2016 22:15]
Paul DuBois
Posted by developer: Noted in 5.7.17 changelog. MySQL now uses readdir() rather than readdir_r(). The latter has been deprecated since glibc 2.24 and caused debug builds of MySQL and builds using GCC 6.1.1 to fail.
[28 Sep 2016 15:23]
Paul DuBois
Noted in 8.0.1 changelog.