And through this all, it is looking like PIE may be the problem. I found several good links, here is one of them:
gcc's enable "–enable-default-pie" option make you stuck at "relocation R_X86_64_32S against …" error | Nan Xiao's Blog
I'm currently doing a test. I changed src/configure, and for the linux section added -fno-pie -no-pie in with LDSHARED="$REALCC -shared".
Seeing what happens, if this works it might be an option that is necessary.
| | | | | |
|
| | | | gcc's enable "–enable-default-pie" option make you stuck at "relocation ...
Recently, after I upgrade gcc on my Arch Linux, I find it has enabled "--enable-default-pie" option by default: ... |
|
|
On Saturday, May 12, 2018, 8:04:08 PM EDT, Lance Dillon riffraff169@yahoo.com wrote:
In debugging this, I'm finding some changes, I may create a PR for it.
On Fedora 28, mysql doesn't have MYSQL_SERVER_VERSION unless mysql_version.h is included. This is on line 1954 of src/modules/Mysql/mysql.c. mariadb_version.h is included, which contains MARIADB_CLIENT_VERSION_STR and MARIADB_BASE_VERSION. Two possibilities is to check if it is mariadb instead, and include mariadb_version.h and use MARIADB_CLIENT_VERSION_STR, or check if mariadb and if so include mysql/server/mysql_version.h.
I also found that -nostartfiles causes that relocation error. Removing it fixes that problem, so I'm doing some further testing... I think it is a gcc 8 issue.
On Saturday, May 12, 2018, 4:35:45 PM EDT, Lance Dillon riffraff169@yahoo.com wrote:
It looks like it is a Fedora 28 issue. I had a fedora 25 workstation vm that I built pike 8.0.498, and it worked fine. Then I upgrade to fedora 26 and built, then fedora 27 and built. Everything worked until fedora 28. So not a pike issue, but something with fedora 28, perhaps gcc or glibc or something.
I'm going to try to debug further.
Thanks...
On Saturday, May 12, 2018, 6:12:45 AM EDT, Tobias S. Josefowitz t.josefowitz@gmail.com wrote:
On Sat, May 12, 2018 at 2:31 AM, Lance Dillon riffraff169@yahoo.com wrote:
Any suggestions? What are some good options to try? And do I pass them as CONFIGUREARGS?
Before all else, I would try again from a clean checkout, i.e.
make distclean git clean -xf