0

I created an rvm gemset name that includes a colon, let's say project:marklar, then I do gem install rails inside that gemset. Everything goes well until it reaches json gem and throw this error:

Fetching: json-1.7.5.gem (100%)
Building native extensions.  This could take a while...
/Users/username/.rvm/rubies/ruby-1.9.3p0/lib/ruby/site_ruby/1.9.1/rubygems/ext/builder.rb:48: warning: Insecure world writable dir /usr/local/mysql/bin in PATH, mode 040777
ERROR:  Error installing rails:
  ERROR: Failed to build gem native extension.

  /Users/username/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
creating Makefile

make
Makefile:158: *** target pattern contains no `%'.  Stop.

I thought it was the ruby version that causes the problem, but when I changed into 1.9.2, it still throw the same error.

I used mac osx 10.8 mountain lion, surprisingly, when I removed the colon in the gemset name, let's say we changed it to marklar, everything goes well. Anyone noticed this behavior? Is this behavior expected or is it a bug in rvm, or in the json gem, or else?

O.O
  • 7,179
  • 1
  • 34
  • 32

1 Answers1

0

I have compared Makefile defined in 1.9.3 and in 1.9.3@some:colon - there is no difference except the paths:

127,128c127,128
< RUBYLIBDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/lib$(target_prefix)
< RUBYARCHDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194/gems/json-1.7.5/lib$(target_prefix)
---
> RUBYLIBDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194@some:colon/gems/json-1.7.5/lib$(target_prefix)
> RUBYARCHDIR = /home/mpapis/.rvm/gems/ruby-1.9.3-p194@some:colon/gems/json-1.7.5/lib$(target_prefix)

after further checking I found that space and colon are not allowed in file names: Escaping colons in filenames in a Makefile => http://www.mail-archive.com/bug-make@gnu.org/msg03318.html

Community
  • 1
  • 1
mpapis
  • 52,729
  • 14
  • 121
  • 158