Greetings, I''m trying to set up a minimal CentOS 4 kickstart that installs puppet during the %post and then use puppet to build up the rest of the configuration. I''ve gotten things so that puppet 0.20.1-2 will install using yum during the %post in the kickstart, but now I''m seeing this error when it tries to run during %post and after I reboot the newly installed machine: /usr/sbin/puppetd:152:in ''require'': no such file to load -- puppet (LoadError) from /usr/sbin/puppetd:152 I''m very familiar with ruby so I''m not sure how to go about debugging this. I have ruby-1.8.4-1.c4 and ruby-libs-1.8.4-1.c4 installed from CentOS 4 development and puppet 0.20.1-2 RPM from dlutter''s site. --[Lance] -- GPG Fingerprint: 409B A409 A38D 92BF 15D9 6EEE 9A82 F2AC 69AC 07B9 CACert.org Assurer
Lance A. Brown wrote:> I''m very familiar with ruby so I''m not sure how to go about debugging this."I''m NOT very familiar..." Grrrr... --[Lance] -- Celebrate The Circle http://www.celebratethecircle.org/ Carolina Spirit Quest http://www.carolinaspiritquest.org/ My LiveJournal http://www.livejournal.com/users/labrown/ GPG Fingerprint: 409B A409 A38D 92BF 15D9 6EEE 9A82 F2AC 69AC 07B9 CACert.org Assurer
On Tue, 2006-11-21 at 16:29 -0500, Lance A. Brown wrote:> I''ve gotten things so that puppet 0.20.1-2 will install using yum during > the %post in the kickstart, but now I''m seeing this error when it tries > to run during %post and after I reboot the newly installed machine: > > /usr/sbin/puppetd:152:in ''require'': no such file to load -- puppet > (LoadError) > from /usr/sbin/puppetd:152Basically, ruby is looking for a file ''puppet.rb'' somewhere in it''s library path. You can see what that path is with ruby -e ''puts $:'' Which arch is your machine (i386 or x86_64) ? If it is multilib, make sure that the arch for the puppet package matches the arch for ruby. David
David Lutterkort said the following on 11/21/2006 6:16 PM:> On Tue, 2006-11-21 at 16:29 -0500, Lance A. Brown wrote: >> I''ve gotten things so that puppet 0.20.1-2 will install using yum during >> the %post in the kickstart, but now I''m seeing this error when it tries >> to run during %post and after I reboot the newly installed machine: >> >> /usr/sbin/puppetd:152:in ''require'': no such file to load -- puppet >> (LoadError) >> from /usr/sbin/puppetd:152 > > Basically, ruby is looking for a file ''puppet.rb'' somewhere in it''s > library path. You can see what that path is with > ruby -e ''puts $:'' > > Which arch is your machine (i386 or x86_64) ? If it is multilib, make > sure that the arch for the puppet package matches the arch for ruby.It''s a straight i386 machine, in a VMPlayer for now. I''ve found the problem: In the CentOS4 box running under VMPlayer: [root@xavier-vm ~]# ruby -e ''puts $:'' /usr/lib/site_ruby/1.8 /usr/lib/site_ruby/1.8/i386-linux /usr/lib/site_ruby /usr/lib/ruby/1.8 /usr/lib/ruby/1.8/i386-linux . [root@xavier-vm ~]# find /usr/lib/ruby -name puppet.rb /usr/lib/ruby/site_ruby/1.8/puppet.rb So, the RPM put puppet into /usr/lib/ruby/site_ruby/1.8/puppet and ruby is expecting /usr/lib/site_ruby/1.8/puppet. Looks like the spec file needs further adjustment or something. --[Lance] -- GPG Fingerprint: 409B A409 A38D 92BF 15D9 6EEE 9A82 F2AC 69AC 07B9 CACert.org Assurer
On Tue, 2006-11-21 at 19:12 -0500, Lance A. Brown wrote:> David Lutterkort said the following on 11/21/2006 6:16 PM: > [root@xavier-vm ~]# find /usr/lib/ruby -name puppet.rb > /usr/lib/ruby/site_ruby/1.8/puppet.rb > > So, the RPM put puppet into /usr/lib/ruby/site_ruby/1.8/puppet and ruby > is expecting /usr/lib/site_ruby/1.8/puppet.Which rpm exactly did you install ? The RHEL4 RPM puts puppet files into /usr/lib/site_ruby/1.8 .. are you using the ones from http://people.redhat.com/dlutter/yum/rhel4/ ? If you are building RPM''s yourself, you _must_ make sure that the ruby version on the machine that you build the rpm on is the same as the ruby version on the machine that you are going to run on. (Or use mock to set up proper buildroots) The location where puppet is going to be installed is determined on the first line of the spec file. David
David Lutterkort said the following on 11/21/2006 9:03 PM:> If you are building RPM''s yourself, you _must_ make sure that the ruby > version on the machine that you build the rpm on is the same as the ruby > version on the machine that you are going to run on. (Or use mock to set > up proper buildroots)*ding* I built that RPM on a FC4 box and am testing it on a CentOS4 box. My mistake. --[Lance] -- Celebrate The Circle http://www.celebratethecircle.org/ Carolina Spirit Quest http://www.carolinaspiritquest.org/ My LiveJournal http://www.livejournal.com/users/labrown/ GPG Fingerprint: 409B A409 A38D 92BF 15D9 6EEE 9A82 F2AC 69AC 07B9 CACert.org Assurer