Opened 9 years ago

Closed 7 years ago

#29113 closed defect (fixed)

rb-rubygems +ruby19 does not install

Reported by: misty.de.meo@… Owned by: mr_bond@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: kimuraw (kimura wataru)
Port: rb-rubygems

Description

rb-rubygems +ruby19 is meant to depend on the ruby19 package, and not the main ruby package. However, it won't install because one of the install commands tries to execute /opt/local/bin/ruby which doesn't exist if the main ruby package isn't installed. With the +ruby19 variant, it should execute /opt/local/bin/ruby1.9 instead.

Change History (6)

comment:1 Changed 9 years ago by mf2k (Frank Schima)

Owner: changed from macports-tickets@… to mr_bond@…

comment:2 Changed 8 years ago by ddebernardy@…

It's equally broken when installing ruby19 +nosuffix

comment:3 Changed 8 years ago by ddebernardy@…

Full install log:

version:1
:debug:main epoch: in tree: 0 installed: 0
:debug:main ruby19 1.9.2-p180_0 exists in the ports tree
:debug:main ruby19 1.9.2-p180_0  is the latest installed
:debug:main ruby19 1.9.2-p180_0 +nosuffix is active
:debug:main Merging existing variants '+nosuffix' into variants
:debug:main new fully merged portvariants: nosuffix +
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/ruby19
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main universal variant already exists, so not adding the default one
:debug:main Executing variant nosuffix provides nosuffix
:debug:main No need to upgrade! ruby19 1.9.2-p180_0 >= ruby19 1.9.2-p180_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main libiconv 1.13.1_0 exists in the ports tree
:debug:main libiconv 1.13.1_0  is the latest installed
:debug:main libiconv 1.13.1_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/textproc/libiconv
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main universal variant already exists, so not adding the default one
:debug:main No need to upgrade! libiconv 1.13.1_0 >= libiconv 1.13.1_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main readline 6.2.000_0 exists in the ports tree
:debug:main readline 6.2.000_0  is the latest installed
:debug:main readline 6.2.000_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/readline
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main universal variant already exists, so not adding the default one
:debug:main No need to upgrade! readline 6.2.000_0 >= readline 6.2.000_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main ncurses 5.9_0 exists in the ports tree
:debug:main ncurses 5.9_0  is the latest installed
:debug:main ncurses 5.9_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/ncurses
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! ncurses 5.9_0 >= ncurses 5.9_0
:debug:main epoch: in tree: 1 installed: 1
:debug:main openssl 1.0.0d_0 exists in the ports tree
:debug:main openssl 1.0.0d_0  is the latest installed
:debug:main openssl 1.0.0d_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/openssl
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main universal variant already exists, so not adding the default one
:debug:main No need to upgrade! openssl 1.0.0d_0 >= openssl 1.0.0d_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main zlib 1.2.5_0 exists in the ports tree
:debug:main zlib 1.2.5_0  is the latest installed
:debug:main zlib 1.2.5_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/archivers/zlib
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/xcodeversion-1.0.tcl
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! zlib 1.2.5_0 >= zlib 1.2.5_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main libyaml 0.1.3_0 exists in the ports tree
:debug:main libyaml 0.1.3_0  is the latest installed
:debug:main libyaml 0.1.3_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/libyaml
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! libyaml 0.1.3_0 >= libyaml 0.1.3_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main libffi 3.0.9_0 exists in the ports tree
:debug:main libffi 3.0.9_0  is the latest installed
:debug:main libffi 3.0.9_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants: 
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/libffi
:debug:main OS darwin/10.7.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/ports/_resources/port1.0/variant_descriptions.conf
:debug:main universal variant already exists, so not adding the default one
:debug:main No need to upgrade! libffi 3.0.9_0 >= libffi 3.0.9_0
:msg:main --->  Computing dependencies for rb-rubygems:info:main .:debug:main Searching for dependency: ruby19
:debug:main Found Dependency: receipt exists for ruby19
:msg:main 
:debug:main Executing org.macports.main (rb-rubygems)
:debug:main Skipping completed org.macports.fetch (rb-rubygems)
:debug:main Skipping completed org.macports.checksum (rb-rubygems)
:debug:main Skipping completed org.macports.extract (rb-rubygems)
:debug:main Skipping completed org.macports.patch (rb-rubygems)
:debug:main Skipping completed org.macports.configure (rb-rubygems)
:debug:main Skipping completed org.macports.build (rb-rubygems)
:msg:main --->  Staging rb-rubygems into destroot
:info:main . missing (directory not created: File exists)
:info:main ./Applications missing (directory not created: File exists)
:info:main ./Developer missing (directory not created: File exists)
:info:main ./Library missing (directory not created: File exists)
:debug:destroot destroot phase started at Sun Jun 19 14:16:11 CEST 2011
:debug:destroot Executing org.macports.destroot (rb-rubygems)
:debug:destroot Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6'
:debug:destroot Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7" && /opt/local/bin/ruby setup.rb install --prefix=/opt/local --destdir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/destroot --vendor DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/destroot'
:info:destroot /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/source_index.rb:58:in `from_installed_gems'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:883:in `source_index'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/gem_path_searcher.rb:81:in `init_gemspecs'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/gem_path_searcher.rb:13:in `initialize'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:841:in `new'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:841:in `block in searcher'
:info:destroot 	from <internal:prelude>:10:in `synchronize'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:840:in `searcher'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:479:in `find_files'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:983:in `load_plugins'
:info:destroot 	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:1139:in `<top (required)>'
:info:destroot 	from <internal:lib/rubygems/custom_require>:29:in `require'
:info:destroot 	from <internal:lib/rubygems/custom_require>:29:in `require'
:info:destroot 	from setup.rb:24:in `<main>'
:info:destroot shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7" && /opt/local/bin/ruby setup.rb install --prefix=/opt/local --destdir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/destroot --vendor DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/destroot " returned error 1
:error:destroot Target org.macports.destroot returned: shell command failed (see log for details)
:debug:destroot Backtrace: shell command failed (see log for details)
    while executing
"command_exec destroot"
    (procedure "portdestroot::destroot_main" line 2)
    invoked from within
"$procedure $targetname"
:info:destroot Warning: the following items did not execute (for rb-rubygems): org.macports.activate org.macports.destroot org.macports.install
:notice:destroot Log for rb-rubygems is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/main.log

comment:4 Changed 8 years ago by ddebernardy@…

I think I'm getting closer. The error seems to be:

DB:/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7 $ /opt/local/bin/ruby setup.rb install --prefix=/opt/local --destdir=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/destroot --vendor DESTDIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/destroot
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/source_index.rb:68:in `installed_spec_directories': undefined method `path' for Gem:Module (NoMethodError)
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/source_index.rb:58:in `from_installed_gems'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:883:in `source_index'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/gem_path_searcher.rb:81:in `init_gemspecs'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems/gem_path_searcher.rb:13:in `initialize'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:841:in `new'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:841:in `block in searcher'
	from <internal:prelude>:10:in `synchronize'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:840:in `searcher'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:479:in `find_files'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:983:in `load_plugins'
	from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_ruby_rb-rubygems/work/rubygems-1.3.7/lib/rubygems.rb:1139:in `<top (required)>'
	from <internal:lib/rubygems/custom_require>:29:in `require'
	from <internal:lib/rubygems/custom_require>:29:in `require'
	from setup.rb:24:in `<main>'

comment:5 Changed 8 years ago by ddebernardy@…

Per:

http://help.rubygems.org/discussions/problems/286-error-while-executing-gem-errnoeinval-invalid-argument-c

http://www.ruby-forum.com/topic/213689

"As commented before by Ruby-Core members, installation of RubyGems on top of RUby 1.9.2/1.9.3 is not supported."

On a separate note, "ruby19 +nosuffix" actually installed gem, i.e. this port is not needed for such versions and should error out with an adequate message that says so.

comment:6 Changed 7 years ago by kimuraw (kimura wataru)

Resolution: fixed
Status: newclosed

I removed "ruby19" variant from port:rb-rubygems at r104114.

we should use ruby19 built-in gem|rubygems.

Note: See TracTickets for help on using tickets.