无法启动 SOLR 服务器(Ruby on Rails)
我在 Rails3 应用程序中使用 sunspot_rails 和 sunspot gems,并按照步骤在 https://github.com 上安装 sunspot /outoftime/sunspot,我无法让我的太阳黑子服务器运行。
当我进入我的目录,运行bundler,然后运行rake sunspot:solr:start时,我收到以下错误
Emil@Emil-PC /cygdrive/c/work/pilarhq
$ rake sunspot:solr:start
(in /cygdrive/c/work/pilarhq)
DEPRECATION WARNING: You are using the old router DSL which will be removed in R
ails 3.1. Please check how to update your routes file at: http://www.engineyard.
com/blog/2010/the-lowdown-on-routes-in-rails-3/. (called from /cygdrive/c/work/p
ilarhq/config/routes.rb:1)
2 [main] ruby 4824 C:\cygwin\bin\ruby.exe: *** fatal error - unable to rem
ap C:\cygwin\bin\cyglber-2-3-0.dll to same address as parent: 0x360000 != 0x3800
00
Stack trace:
Frame Function Args
023F9538 6102749B (023F9538, 00000000, 00000000, 00000000)
023F9828 6102749B (61177B80, 00008000, 00000000, 61179977)
023FA858 61004AFB (611A136C, 6123FF54, 00360000, 00380000)
End of stack trace
2 [main] ruby 4500 C:\cygwin\bin\ruby.exe: *** fatal error - unable to rem
ap C:\cygwin\bin\cyglber-2-3-0.dll to same address as parent: 0x360000 != 0x3E00
00
Stack trace:
Frame Function Args
023FB0F8 6102749B (023FB0F8, 00000000, 00000000, 00000000)
023FB3E8 6102749B (61177B80, 00008000, 00000000, 61179977)
023FC418 61004AFB (611A136C, 6123FF54, 00360000, 003E0000)
End of stack trace
2 [main] ruby 4612 fork: child 4824 - died waiting for dll loading, errno
11
4 [main] ruby 580 fork: child 4500 - died waiting for dll loading, errno 1
1
/usr/lib/ruby/gems/1.8/gems/sunspot-1.2.0/lib/sunspot/server.rb:42:in `fork': Re
source temporarily unavailable - fork(2) (rake aborted!Errno::EAGAIN)
Resource temporarily unavailable - fork(2) from /usr/lib/ruby/gems/1.8/gems
/sunspot-1.2.0/lib/sunspot/server.rb:42:in `start'
$
in `fork'
from /usr/lib/ruby/gems/1.8/gems/sunspot-1.2.0/lib/sunspot/server.rb:41:
in `start'
from /usr/lib/ruby/gems/1.8/gems/sunspot_rails-1.2.0/lib/sunspot/rails/s
erver.rb:10:in `start'
from /usr/lib/ruby/gems/1.8/gems/sunspot_rails-1.2.0/lib/sunspot/rails/t
asks.rb:8
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_w
ith_call_chain'
from /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_w
ith_call_chain'ygdrive/c/work/pilarhq
$ from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_
task'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_lev
el'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_lev
el'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standar
d_exception_handling'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_lev
el'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standar
d_exception_handling'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
from /usr/bin/rake:19:in `load'
from /usr/bin/rake:19
(我在Windows计算机上使用Cygwin...如果有帮助的话)
I'm using sunspot_rails and sunspot gems in my Rails3 application and following the steps to installing sunspot on https://github.com/outoftime/sunspot, I cannot get my sunspot server to run.
When I enter my directory, run bundler and then run rake sunspot:solr:start I get the following error
Emil@Emil-PC /cygdrive/c/work/pilarhq
$ rake sunspot:solr:start
(in /cygdrive/c/work/pilarhq)
DEPRECATION WARNING: You are using the old router DSL which will be removed in R
ails 3.1. Please check how to update your routes file at: http://www.engineyard.
com/blog/2010/the-lowdown-on-routes-in-rails-3/. (called from /cygdrive/c/work/p
ilarhq/config/routes.rb:1)
2 [main] ruby 4824 C:\cygwin\bin\ruby.exe: *** fatal error - unable to rem
ap C:\cygwin\bin\cyglber-2-3-0.dll to same address as parent: 0x360000 != 0x3800
00
Stack trace:
Frame Function Args
023F9538 6102749B (023F9538, 00000000, 00000000, 00000000)
023F9828 6102749B (61177B80, 00008000, 00000000, 61179977)
023FA858 61004AFB (611A136C, 6123FF54, 00360000, 00380000)
End of stack trace
2 [main] ruby 4500 C:\cygwin\bin\ruby.exe: *** fatal error - unable to rem
ap C:\cygwin\bin\cyglber-2-3-0.dll to same address as parent: 0x360000 != 0x3E00
00
Stack trace:
Frame Function Args
023FB0F8 6102749B (023FB0F8, 00000000, 00000000, 00000000)
023FB3E8 6102749B (61177B80, 00008000, 00000000, 61179977)
023FC418 61004AFB (611A136C, 6123FF54, 00360000, 003E0000)
End of stack trace
2 [main] ruby 4612 fork: child 4824 - died waiting for dll loading, errno
11
4 [main] ruby 580 fork: child 4500 - died waiting for dll loading, errno 1
1
/usr/lib/ruby/gems/1.8/gems/sunspot-1.2.0/lib/sunspot/server.rb:42:in `fork': Re
source temporarily unavailable - fork(2) (rake aborted!Errno::EAGAIN)
Resource temporarily unavailable - fork(2) from /usr/lib/ruby/gems/1.8/gems
/sunspot-1.2.0/lib/sunspot/server.rb:42:in `start'
$
in `fork'
from /usr/lib/ruby/gems/1.8/gems/sunspot-1.2.0/lib/sunspot/server.rb:41:
in `start'
from /usr/lib/ruby/gems/1.8/gems/sunspot_rails-1.2.0/lib/sunspot/rails/s
erver.rb:10:in `start'
from /usr/lib/ruby/gems/1.8/gems/sunspot_rails-1.2.0/lib/sunspot/rails/t
asks.rb:8
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_w
ith_call_chain'
from /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_w
ith_call_chain'ygdrive/c/work/pilarhq
$ from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_
task'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_lev
el'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_lev
el'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standar
d_exception_handling'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_lev
el'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standar
d_exception_handling'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
from /usr/bin/rake:19:in `load'
from /usr/bin/rake:19
(I'm using Cygwin on a Windows machine...if that helps)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我发现 http://www.garethhunt .com/2008/02/11/cygwin-died-waiting-for-dll-loading/ 并必须执行以下操作:
rebaseall
I have found http://www.garethhunt.com/2008/02/11/cygwin-died-waiting-for-dll-loading/ and had to do the following:
rebaseall
from therein我遇到了类似的情况(Windows 7 企业版,使用 cygwin 和 Rails),发现简单的 rebaseall 方法不起作用。简而言之,问题在于 rebaseall 不一定知道它必须修复的所有 .dll 和 .so。解决方案是编写您自己的列表,并使用 -T 选项对该列表运行 rebaseall。对我来说,最终起作用的过程是:
find /bin /lib /usr -iname '*.so' > /tmp/to_rebase.lst
find /bin /lib /usr -iname '*.dll' >>> /tmp/to_rebase.lst
/bin/rebaseall -T /tmp/to_rebase.lst
I ran into something similar (Windows 7 enterprise, using cygwin and rails) and found that the simple rebaseall approach was not working. In brief, the problem is that rebaseall doesn’t necessarily know all the .dll’s and .so’s it has to fix. The solution is to compose your own list and run rebaseall against that list using the -T option. For me, the process that finally worked was:
find /bin /lib /usr -iname '*.so' > /tmp/to_rebase.lst
find /bin /lib /usr -iname '*.dll' >> /tmp/to_rebase.lst
/bin/rebaseall -T /tmp/to_rebase.lst