On Mon, May 15, 2017 at 9:30 PM Hao Zhang via arch-general < arch-general@archlinux.org> wrote:
Thank you very much! I also tried building retroarch and have no problem building it with GCC 7. Now we found the reason why MariaDB fails to build, there are two ways of fixing it and I have verified both methods work: 1) patch gcc to remove line 197-203 from gcc-ar.c (these lines are not present in gcc 6.3.1) 2) make a symlink of the files ar, nm and ranlib in /usr/local/bin.
These lines were introduced in this commit: https://github.com/gcc-mirror/gcc/commit/eeb6872bfdfd1e71b27de6f62a5f5c08a2e... What a weird bug. This looks like the MariaDB compilation uses gcc-ar instead of binutils ar. Based on what I can tell from the code, gcc-ar here expects to be in a non-standard path and named "ar" in order to wrap the binutils ar, similar to how ccache works. But gcc-ar is named "gcc-ar" and located in the same dir as the binutils ar, so things break. Is MariaDB using LTO?