error with OPTION in Rails:Edge

6 views
Skip to first unread message

Cyril Mougel

unread,
Oct 2, 2007, 1:19:40 PM10/2/07
to rubyonra...@googlegroups.com
Hi,

With the announce of release to Rails 2.0 PR. I want test it on my own
web-application. So to test it, I have made as say in DHH announce[1]:

rake rails:freeze:edge TAG=rel_2-0-0_PR

But after a rake rails:update and a script/server start, I have an
error. I paste the error in pastie[2].

In my system, I have the gem of 1.2.3 Rails.

For another test I have install the gem of 2.0 PR ( gem install rails
--source http://gems.rubyonrails.org ). So after this install I have
not problem. My application run correctly.

But If I uninstall this new gem to leave the old. The error become
again. I don't know what I have this error. I have test on another PC
and no problem.

Have you an idea ?


[1] : http://weblog.rubyonrails.org/2007/9/30/rails-2-0-0-preview-release
[2] : http://pastie.caboo.se/102615

--
Cyril Mougel
http://blog.shingara.fr

Kevin Clark

unread,
Oct 2, 2007, 1:36:42 PM10/2/07
to rubyonra...@googlegroups.com
I've hit this a couple times, but I don't remember the _exact_ cause and fix.

I _believe_ that what's happening is that mongrel is being double
loaded due to a bad require (check your environment.rb). The second
time it's loaded, the OPTIONS array hasn't been modified to be an
OptionParser (which makes it a singleton), so it bails on that run.

"warning: already initialized constant OPTIONS" is an indicator.
Double check your requires in environment.rb, and you may want to just
put some printf debugging in
rails/railties/lib/commands/servers/mongrel.rb. Just have it raise,
and catch, and print the backtrace. It'll let you know where it's
being loaded twice.

And do report back. I don't remember the exact cause, but it'd be nice
to have it sitting on a mailing list somewhere to refer back to.


--
Kevin Clark
http://glu.ttono.us

Rob Sanheim

unread,
Oct 2, 2007, 1:50:01 PM10/2/07
to rubyonra...@googlegroups.com
I just hit this the same error a couple days ago against plain 1.2.3,
and I can confirm that I had a bad require in my environments.rb.

- Rob

Mislav Marohnić

unread,
Oct 2, 2007, 2:08:11 PM10/2/07
to rubyonra...@googlegroups.com
On 10/2/07, Rob Sanheim <rsan...@gmail.com> wrote:

I just hit this the same error a couple days ago against plain 1.2.3,
and I can confirm that I had a bad require in my environments.rb.

rails:freeze:edge downloads only %w(actionpack activerecord actionmailer activesupport actionwebservice), but Rails 2.0 Initializer wants to load [:active_record, : action_controller, :action_view, : action_mailer, :active_resource]. Yeah, ActiveResource breaks your apps.

Solution?

1)
config.frameworks -= [ :active_resource ]
2) do an svn checkout and symlink to it from vendor/rails (recommended, you can switch easily between trunk and PR)

Cyril Mougel

unread,
Oct 2, 2007, 3:00:08 PM10/2/07
to rubyonra...@googlegroups.com

Thanks, It's really this issue and now it's fixed.

Glenn Rempe

unread,
Oct 3, 2007, 2:49:12 PM10/3/07
to Ruby on Rails: Core
You may want to also take a look at this bug report that I filed. I
had the same problem and running the 'rake rails:freeze:edge
TAG=rel_2-0-0_PR' TWO times resolved the issue for me when upgrading a
1.2.3 app. Explanation in the bug report.

http://dev.rubyonrails.org/ticket/9743

Glenn

kamal

unread,
Oct 3, 2007, 10:33:17 PM10/3/07
to Ruby on Rails: Core
I created a patch about 3 months ago to fix the rake task. Check out
http://dev.rubyonrails.org/ticket/8717. Mislav's patch looks more
comprehensive though.
Reply all
Reply to author
Forward
0 new messages