RHEL 5: Stuck on Puppet 2.7

655 views
Skip to first unread message

Dan White

unread,
Oct 3, 2012, 9:12:18 AM10/3/12
to Pupper Users Mailing List
Running a Puppetmaster on a Red Hat Enterprise Linux 5 server using the Stealthy Monkeys RPM's for Passenger.

First the setup:

yum wants to update from :

puppet.noarch 2.7.19-1.el5 installed
puppet-server.noarch 2.7.19-1.el5 installed
ruby.x86_64 1.8.5-24.el5 installed
ruby-devel.i386 1.8.5-24.el5 installed
ruby-devel.x86_64 1.8.5-24.el5 installed
ruby-irb.x86_64 1.8.5-24.el5 installed
ruby-libs.i386 1.8.5-24.el5 installed
ruby-libs.x86_64 1.8.5-24.el5 installed
ruby-rdoc.x86_64 1.8.5-24.el5 installed

to :

puppet.noarch 3.0.0-1.el5 puppetlabs-products
puppet-server.noarch 3.0.0-1.el5 puppetlabs-products
ruby.x86_64 1.8.7.370-1.el5 puppetlabs-deps
ruby-devel.x86_64 1.8.7.370-1.el5 puppetlabs-deps
ruby-irb.x86_64 1.8.7.370-1.el5 puppetlabs-deps
ruby-libs.x86_64 1.8.7.370-1.el5 puppetlabs-deps
ruby-rdoc.x86_64 1.8.7.370-1.el5 puppetlabs-deps

So, the attempted update ends like this:

1:rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64 from installed has depsolving problems
--> Missing Dependency: ruby = 1.8.5 is needed by package 1:rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64 (installed)
Error: Missing Dependency: ruby = 1.8.5 is needed by package 1:rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64 (installed)

OK, a bit of Google-ing says that Passenger 3.0.14 was released in July
http://blog.phusion.nl/2012/07/22/phusion-passenger-3-0-14-released/#.UGsb6-c547w

But the latest RPM on http://passenger.stealthymonkeys.com/rhel/5Server/x86_64/
is rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64.rpm -- which is what I currently have.

Suggestions ? I sent an email to Erik Ogan, owner of Stealth Monkeys, but have not received a response.


“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)

Stefan Heijmans

unread,
Oct 3, 2012, 3:36:49 PM10/3/12
to puppet...@googlegroups.com
How about switching to the gem version of passenger;
gem install passenger

jcbollinger

unread,
Oct 4, 2012, 8:56:46 AM10/4/12
to puppet...@googlegroups.com


On Wednesday, October 3, 2012 8:19:59 AM UTC-5, Ygor wrote:
[...]

1:rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64 from installed has depsolving problems
  --> Missing Dependency: ruby = 1.8.5 is needed by package 1:rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64 (installed)
Error: Missing Dependency: ruby = 1.8.5 is needed by package 1:rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64 (installed)

OK, a bit of Google-ing says that Passenger 3.0.14 was released in July
http://blog.phusion.nl/2012/07/22/phusion-passenger-3-0-14-released/#.UGsb6-c547w

But the latest RPM on http://passenger.stealthymonkeys.com/rhel/5Server/x86_64/
is rubygem-passenger-native-libs-3.0.12-1.el5.centos_1.8.5.x86_64.rpm -- which is what I currently have.

Suggestions ?  I sent an email to Erik Ogan, owner of Stealth Monkeys, but have not received a response.


Download the source RPM, modify the requirement to, for example, ruby >= 1.8.7, increment the release number, and rebuild.  Probably no other changes are needed.


John

Jo Rhett

unread,
Oct 4, 2012, 3:06:01 PM10/4/12
to puppet...@googlegroups.com
Actually, it's not specified in the source RPM. And just recompiling the source RPM solves the problem. I ran into the same thing, just grabbed the SRPMs and built them and it worked fine.  Something weird about dependancies encoded in the RPM details *shrug*

-- 
Jo Rhett
Net Consonance : net philanthropy to improve open source and internet projects.



Dan White

unread,
Oct 6, 2012, 6:39:45 PM10/6/12
to puppet...@googlegroups.com
Actually, it is.


ruby_version_patch -- lines 55-67, line 86, and line 238

It looks for the version that is already installed.  So how do I update ruby ?

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Jo Rhett

unread,
Oct 8, 2012, 3:13:15 PM10/8/12
to puppet...@googlegroups.com
Actually, it's not specified in the source RPM. And just recompiling the source RPM solves the problem. I ran into the same thing, just grabbed the 

On Oct 6, 2012, at 3:39 PM, Dan White wrote:
Actually, it is.


ruby_version_patch -- lines 55-67, line 86, and line 238

It looks for the version that is already installed.

Saying "use the current version" generally means "not specified" ;-)  Especially when I was responding to your query about what to fix.

So how do I update ruby ?


I am trying to be helpful, but all of this is very google-able.

Dan White

unread,
Oct 8, 2012, 5:44:06 PM10/8/12
to puppet...@googlegroups.com
I think you miss the point.
I do not need to hand-build Ruby -- it is available from the puppetlabs-deps repo

It is a chicken-egg dilemma with Ruby and Passenger.

Passenger depends on the installed version of Ruby.
Trying to update Ruby causes a dependency error from Passenger.

I tried re-building Passenger from SRPM, but ran into problems.

It would be nice if the maintainer of the Passenger RPM's would surface and help out, but ...?

If I force Ruby to update to 1.8.7.x, will yum continue to complain about a dependency problem with Passenger or will it re-examine the system and "see" the currently installed version ?

Craig White

unread,
Oct 9, 2012, 11:26:35 AM10/9/12
to puppet...@googlegroups.com
If you install ruby from one source, you can't use rpm's from another source and expect them to always work. Chances are that the libraries use to build ruby are not the same libraries to build passenger.

If you want to ensure a working passenger when using a non-official CentOS ruby, then just use gem to install passenger (ie… 'gem install passenger') and once passenger is installed, you can use passenger's installer scripts for apache or nginx ('passenger-install-apache-module')

Craig
> --
> You received this message because you are subscribed to the Google Groups "Puppet Users" group.
> To post to this group, send email to puppet...@googlegroups.com.
> To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

--
Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ craig...@ttiltd.com
1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ www.ttiassessments.com

Register Now!
TTI Winners' Conference 2013
January 20th - 22nd
The Earlier You Register the More FREE Product You Receive
Click here for more information!


Jakov Sosic

unread,
Oct 9, 2012, 12:02:11 PM10/9/12
to puppet...@googlegroups.com
On 10/09/2012 05:26 PM, Craig White wrote:
> If you install ruby from one source, you can't use rpm's from another source and expect them to always work. Chances are that the libraries use to build ruby are not the same libraries to build passenger.
>
> If you want to ensure a working passenger when using a non-official CentOS ruby, then just use gem to install passenger (ie� 'gem install passenger') and once passenger is installed, you can use passenger's installer scripts for apache or nginx ('passenger-install-apache-module')

It is maybe the easiest way, but I would strongly suggest against it. It
is unwise to mix up two package managers like that, it's better to built
your own packages.


--
Jakov Sosic
www.srce.unizg.hr

Craig White

unread,
Oct 9, 2012, 1:48:29 PM10/9/12
to puppet...@googlegroups.com
different strokes for different folks.

ruby and the various gem packages move so fast that no packaging system really has a chance of keeping up. It's also extremely likely that what we are talking about is a puppet master where you will have to resort to gem packaging anyway to install rails/rack and other things anyway.

Craig

On Oct 9, 2012, at 9:02 AM, Jakov Sosic wrote:

> On 10/09/2012 05:26 PM, Craig White wrote:
>> If you install ruby from one source, you can't use rpm's from another source and expect them to always work. Chances are that the libraries use to build ruby are not the same libraries to build passenger.
>>
>> If you want to ensure a working passenger when using a non-official CentOS ruby, then just use gem to install passenger (ie… 'gem install passenger') and once passenger is installed, you can use passenger's installer scripts for apache or nginx ('passenger-install-apache-module')

Jo Rhett

unread,
Oct 9, 2012, 3:09:26 PM10/9/12
to puppet...@googlegroups.com
Dude, seriously. Install Ruby, then build the passenger RPMs. It just works.

No, you can't use passenger between the time you update Ruby and before you update Passenger. You are updating interlocked dependancies. Install them both at once.

On Oct 8, 2012, at 2:44 PM, Dan White wrote:
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.

Jakov Sosic

unread,
Oct 13, 2012, 8:43:45 PM10/13/12
to puppet...@googlegroups.com
On 10/09/2012 07:48 PM, Craig White wrote:
> different strokes for different folks.
>
> ruby and the various gem packages move so fast that no packaging
> system really has a chance of keeping up. It's also extremely
> likely that what we are talking about is a puppet master where
> you will have to resort to gem packaging anyway to install rails/rack
> and other things anyway.

Yeah tell me about it... I'm building RPMs for few ruby-on-rails apps,
and this is a net result for RedMine 2.0 only:

http://ftp.srce.hr/srce-redhat/test/el6/x86_64/

it took me 2 days to get it done.


But then again - this way I have a clean and maintainable way of both
deploying and upgrading stuff on my servers, so although it's time
consuming, if you have to replicate the solution on more then 1 server
and if your server runs ANYTHING other then (in this example) RedMine,
then it's worth it.


Do-it-and-forget-it...


--
Jakov Sosic
www.srce.unizg.hr
Reply all
Reply to author
Forward
0 new messages