Puppet Enteprise installation fails due to missing mysql.rb driver
|Assignee:||Matthaus Owens||% Done:|
|Target version:||Commercial edition - PE 2.5.x|
|Keywords:||amazon linux mysql gem||Affected URL:|
|Branch:||Affected PE version:|
Installation of the Puppet Enterprise currently fails with the following error (at least on rpm based systems):
. . .
Setting up the console…¶
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! libmysqlclient.so.16: cannot open shared object file: No such file or directory – /opt/puppet/lib/ruby/site_ruby/1.8/x86_64-linux/mysql.so
(See full trace by running task with —trace)
!! ERROR: Cancelling installation
ADDITIONAL INFO – both PE 2.5 and 2.0 are affected – it is not possible to install the required gem as instructed as the custom installation of ruby doesn’t ship with C header files necessary for the compilation of the binary parts of the mysql.rb driver
#3 Updated by Justin Stoller over 1 year ago
This is Very strange, and I haven’t seen this issue before, Michal.
Exactly what flavor/version of Enterprise Linux are you running? We currently test with RHEL, CentOS, Scientific, OEL and SLES. The mysql ruby driver is vendored within PE and should be installed as part of a normal installation.
You can actually install the gem manually if you’d like (that’s how some install Postgresql support) by installing the
pe-ruby-devel package in the afore mentioned packages directory and then using
This is NOT a recommended solution, and before you go down that road please let us know your platform/version/configuration and we’ll address that as a bug if its on a supported platform. If it’s not on a supported platform version you can vote for it to become one here: #11838
#4 Updated by Michal Ruzicka over 1 year ago
- Status changed from Unreviewed to Closed
I was trying that on Amazon linux 2011.09 which is close to RHEL 6, but not exactly the same – there seems to be a newer version of mysql-libs, which contains libmysqlclient.so.18 rather than libmysqlclient.so.16 required by the /opt/puppet/lib/ruby/site_ruby/1.8/x86_64-linux/mysql.so that does ship with Puppet Enterprise.
It turns out that the mysql51-libs package contains the required library and pre-installing this package before the puppet enterprise installation script is run fixes the problem.
#5 Updated by Tyler Walters over 1 year ago
- Status changed from Closed to Re-opened
- Target version set to PE 2.5.x
We’re experiencing the same issue in Amazon Linux 64 image. If this were the open source version, no biggie, but it seems that this should be addressed automatically in the Enterprise binary, especially for the #1-used image on one of the top cloud providers.
Technically the workaround is easy and effective, but from an account management / business perspective, this does not help our case when trying to sell the point to clients that Puppet is “Enterprise-Ready”.
At minimum, please perform this check at the start of the install process. As-is, the install goes through the whole config prompt wizard and modifies the system with a bunch of installs before the fail. Then subsequent runs respond that puppet is already installed and needs to be upgraded.
#9 Updated by Matthaus Owens over 1 year ago
- Status changed from Re-opened to In Topic Branch Pending Review
The following pull should address the issue by installing mysql51 instead of mysql (which defaults to mysql55). https://github.com/puppetlabs/enterprise-dist/pull/592
#10 Updated by Moses Mendoza over 1 year ago
- Status changed from In Topic Branch Pending Review to Merged - Pending Release