Opened 10 years ago

Closed 3 years ago

#31840 closed defect (fixed)

rb-builder: destroot fails on Mac OS X 10.5.8

Reported by: kaltree@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: leopard Cc:
Port: rb-builder

Description (last modified by ryandesign (Ryan Schmidt))

I'm running into a problem installing this gem. I get the following error upon install:

bash-3.2# port install rb-builder
--->  Computing dependencies for rb-builder
--->  Staging rb-builder into destroot
Error: Target org.macports.destroot returned: shell command failed (see log for details)
Log for rb-builder is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-builder/rb-builder/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

I have the other ruby-related items installed:

  • ruby @1.8.7-p352_2+thread_hooks
  • rb-libxml2 @1.1.3_0
  • rb-rake @0.8.7_0
  • rb-rubygems @1.3.7_0

I've installed this successfully on Snow Leopard and Lion, but it is failing consistently on several Leopard systems. Any suggestions? Attached is the 'main.log' file.

Attachments (1)

main.log (12.8 KB) - added by kaltree@… 10 years ago.
Log file saved to '/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-builder/rb-builder/main.log'.

Download all attachments as: .zip

Change History (6)

Changed 10 years ago by kaltree@…

Attachment: main.log added

Log file saved to '/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-builder/rb-builder/main.log'.

comment:1 Changed 10 years ago by kaltree@…

Cc: kaltree@… added

Cc Me!

comment:2 Changed 10 years ago by kaltree@…

Note: I was successful in getting the gem installed, using the gem executable. I made sure I was using the executable stored at '/opt/local/bin/gem'. It did report an error installing the 'builder' gem, but this time it was during the ruby documentation generation. I'm curious if there is a bug in the port definition that reports an overall failure if any sub portion of the port script fails.

comment:3 Changed 10 years ago by ryandesign (Ryan Schmidt)

Cc: kaltree@… removed
Description: modified (diff)
Keywords: leopard added; rb-builder ruby gem install fail removed
Summary: Port "rb-builder" failed install on Mac OS X 10.5.8rb-builder: destroot fails on Mac OS X 10.5.8

The relevant error from your log seems to be:

:info:destroot WARNING: builder-2.1.2 has an invalid nil value for @cert_chain
:info:destroot ERROR:  While generating documentation for builder-2.1.2
:info:destroot ... MESSAGE:   Unhandled special: Special: type=17, text="<!-- HI -->"
:info:destroot ... RDOC args: --ri --op /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-builder/rb-builder/work/destroot/opt/local/lib/ruby/gems/1.8/doc/builder-2.1.2/ri --title Builder -- Easy XML Building --main README --line-numbers lib CHANGES Rakefile README doc/releases/builder-1.2.4.rdoc doc/releases/builder-2.0.0.rdoc doc/releases/builder-2.1.1.rdoc --title builder-2.1.2 Documentation --quiet

I'm not familiar with ruby though and I don't know what this means or what to do about it.

comment:4 Changed 10 years ago by kaltree@…

Thanks for the prompt response. Here is my understanding of what's happening - not sure if it's accurate, but just my thoughts...

The port 'rb-builder' is basically a script that invokes a ruby utility called 'gem' with some parameters - a utility that allows end users to manage ruby add-ons called 'gems'. If I install the 'builder' add-on using the 'gem' utiliity, it succeeds - however I still see the nil cert_chain warning and documentation generation error.

When invoking the gem utility directly (not using MacPorts) to install this add-on, the end result is I get the fore mentioned log messages showing in the terminal, but the gem is still installed and usable from within ruby. When attempting the install using MacPorts, the port install appears to abort installation at the first failure. In this case, the failure is happening during documentation generation and while it's important - it's probably okay to still allow the install, but inform the end user that some of the post install setup failed.

One thought on expected behavior in this case is to allow the install to proceed since the failure isn't a catastrophic failure, but warn the user that portions of the port install may have failed. In this case, the error likely lies within the ruby gem 'builder' script that the port script is executing. I'm not sure what the best behavior is for MacPorts, in the case where a non-critical failure occurs while processing a port script.

Thanks, Kevin

comment:5 Changed 3 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

There is an archive of rb-builder for Darwin 9 available now, so I can only assume this was fixed at some point.

Note: See TracTickets for help on using tickets.