Mariadb-10.4.8 configure error - Plugin AUTH_PAM cannot be built
Slackware-current 64 bit, last updated this morning 9/16/2019.
I'm trying to build Mariadb-10.4.8 from source, using their mysql config: cmake ../ -DBUILD_CONFIG=mysql_release And it gives this error CMake Error at cmake/plugin.cmake:284 (MESSAGE): Plugin AUTH_PAM cannot be built Comparing the file mysql_release.cmake to the 2.4.7 version, I find this line has been added: SET(PLUGIN_AUTH_PAM YES) If I change it to NO, then it builds up to this point: [ 52%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/env/io_posix.cc.o [ 52%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/build_version.cc.o [ 52%] Linking CXX static library librocksdblib.a [ 52%] Built target rocksdblib make: *** [Makefile:163: all] Error 2 At which point it dies. Line 163 of the Makefile is $(MAKE) -f CMakeFiles/Makefile2 all Makefile2 exists, and at this point idk wtf is up or why it won't continue to build... I tried the SlackBuild for 10.4.7, same thing. On the same box, Mariadb-10.4.7 builds just fine, both manually and with the SlackBuild. Anyone else tried to build Mariadb-10.4.8? PS I'm running Slackware-current, last updated this morning 9/16/2019. |
Slackware has no LinuxPAM support.
|
Quote:
|
This seems to be where it dies:
/usr/bin/ld: skipping incompatible /usr/lib/libtinfo.so when searching for -ltinfo /usr/bin/ld: cannot find -ltinfo In the past, I would symlink libtinfo to libncurses to get past this, but this seems to no longer work. |
Quote:
|
So I removed my libtinfo hacks, and reinstalled the ncurses package, as you suggested. I then ran into problems with the mariadb build provided by mariadb:
mysql mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory Looked a bit closer and found: ldd mysql libncurses.so.5 => not found libtinfo.so.5 => not found The build provided by Mariadb appears to have been compiled against the .5 version of libncurses and libtinfo. I looked at the version that comes with Slackware: ldd mysql libncurses.so.6 => /lib64/libncurses.so.6 (0x00007f9e2624a000) libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007f9e26219000) So I built mariadb using the slackbuilds script, and it worked. I then built it from source, modifying the mysql_release.cmake to not use PAM, and again it works. Cleaning up my ncurses and libtinfo mess seems to have fixed the problem. Lesson learned: Don't rely on the build provided by Mariadb. This is not the first time I got bit by trying to use their build, I guess I did not learn my lesson the first time. |
That's the thing about running other people's binaries, they aren't compiled for your distribution. It's probably built on an older Ubuntu or something.
I expect that more often than not, with third party binaries and if I take such a shortcut, I expect it to fail one day after library changes. It's best to compile, or use a package built for the correct version of your distro. |
Quote:
I wish i could have a dollar for every botched Windows update I've seen... |
Quote:
|
All times are GMT -5. The time now is 11:38 PM. |