New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Only do library version check in Windows environment #678
Conversation
Interesting, I had not read the full history of that code before. Makes sense to make it Windows-only. |
Please squash to one commit and rebase. |
Unix systems using libtool do not need to do a version check against the client version string as the libraries themselves are versioned.
155026c
to
860bc79
Compare
Done |
Only do library version check in Windows environment
Hi We are having a similar problem. We are upgrading to foreman 1.10 and have percona cluster db installed. When trying to bring up foreman, we get this error
We were told to rebuild the foreman tfm-rubygem-mysql2-0.3.19-3.el7.x86_64.rpm using the native libmyslqclient provided by percona. |
The RPM packaging is not maintained here, you should be able to get a source RPM from The Foreman repos. |
Thx for replying yes i got the source rpm and tried to build using our libmysqlclient.so, i used the mock file provided by foreman but the build fails with this error Any help in this regard will be very helpful RROR: Error installing /builddir/build/SOURCES/mysql2-0.3.19.gem:
checking for ruby/thread.h... no ▽ checking for rb_intern3()... yesUsing mysql_config at /usr/bin/mysql_configchecking for mysql.h... yes checking for mysqld_error.h... yesDon't know how to set rpath on your system, if MySQL libraries are not in path mysql2 may not loadSetting libpath to /usr/lib64creating Makefile |
That's an interesting error. I remember writing it, but I don't remember the scenario that causes it 😨 |
I am attaching the mock file I used and the build output files , if you can let me know if anything wrong thx. |
Hi Sodabrew, any help u can provide to get over this issue thx |
Please paste the full output on your build system for |
[root@spc02 ~]# mysql_config --help |
Hi Sodabrew, did the output help, let me know if u want me to try anything on my local. |
Hi Sodabrew, we tried adding LD_PATH, LD_LIB_PATH etc, but still hitting the error,is it possible to comment out the lib version check path if where in code we can do it |
Unix systems using libtool do not need to do a version check against the
client version string as the libraries themselves are versioned:
libmysqlclient.so.14 = MySQL 4.1
libmysqlclient.so.15 = MySQL 5.0
libmysqlclient.so.16 = MySQL 5.1
libmysqlclient.so.18 = MySQL 5.5/5.6
libmysqlclient.so.20 = MySQL 5.7
The current test causes failures when attempting to use MariaDB with packages that were built against MySQL (libmysqlclient.so.16 and MySQL 5.1, but MariaDB advertises as 5.3 in the same so.16 library). Same will happen with MySQL 5.5/5.6 which use the same .so.18 libtool versioned library.
Libtool versioning should prevent the library version failure scenarios that this test is checking for...it appears to have been added specifically for Windows clients where the DLLs are not versioned. This change limits this version test to the Windows platform.