Opened 19 years ago

Closed 18 years ago

#5491 closed defect (fixed)

BUG: rb-rubygems-0.8.11 destroot probs / install failures

Reported by: gad@… Owned by: yuhei@…
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc: markd@…
Port:

Description

I noticed this problem on both 10.3 and 10.4 systems. It even happened with a fresh install of the darwinports 1.1 dmg on a 10.4 system, followed by 'port sync', and 'port selfupdate'.

If you are starting darwinports on a new machine, and if you want to install 'rb-rubygems', it will successfully build and install several other ports, only to fail on the actual install of ruby gems. There is an error message about not having write-access to a very long path which includes 'rsync' in the name. So, I did a 'port clean rb-rubygems', 'port install rsync', 'port install rb-rubygems', and this time the installation worked.

Change History (6)

comment:1 Changed 19 years ago by mww@…

Owner: changed from darwinports-bugs@… to yuhei@…
Summary: rb-rubygems port missing dependency on rsyncBUG: rb-rubygems port missing dependency on rsync

comment:2 Changed 19 years ago by yuhei@…

Thank you for reporting.

I tried installing rb-rubygems on my second machine but I couldn't confirm the problem. I'd like to see the verbose log when the problem happens. The log can be generated with '-v' option.

$ port -v install <portname>

comment:3 Changed 19 years ago by gad@…

Well, there is some kind of bug in rb-rubygems, but it has nothing to do with the rsync port. I made a clean install of tiger, updated it, installed darwin ports from the .dmg file. What I did next is available in:

http://www.rpi.edu/~drosehn/DarwinPort-rb-rubygems

Note that I did the 'sudo port -v install rb-rubygems' twice in a row. The first one failed, the second one worked. I did not install rsync between the two attempts.

comment:4 Changed 18 years ago by markd@…

Cc: markd@… added

rubygems has a destroot problem and I'll bet that is the cause of the "you do not have permissions" error. In any case it is a problem.

If you do a 'port destroot rb-rubygems' you will see that /opt/local/lib/ruby/gems directory is written directly to the DP tree at the destroot phase.

The source of the problem must be this post-patch statement that tries to make it destroot correctly.

reinplace "s%Gem.dir%'${destroot}'+&%" ${worksrcpath}/post-install.rb

Looks like it should be:

reinplace "s%Gem.dir%'${destroot}${prefix}/lib/ruby/gems'%" ${worksrcpath}/post-install.rb

comment:5 Changed 18 years ago by markd@…

Summary: BUG: rb-rubygems port missing dependency on rsyncBUG: rb-rubygems-0.8.11 destroot probs / install failures

Changing summary line to accurately reflect problem.

comment:6 Changed 18 years ago by pguyot (Paul Guyot)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.