2014-04-02 14 views
5

I Can not run Spring. Ecco il registro degli errori.Spring non funziona. [costante non inizializzata Spring :: SID :: DL]

myid-no-MacBook-Pro:myid$ spring 
/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:17:in `fiddle_func': uninitialized constant Spring::SID::DL (NameError) 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:30:in `sid' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/sid.rb:39:in `pgid' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/server.rb:76:in `set_pgid' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/server.rb:33:in `boot' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/server.rb:19:in `boot' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:33:in `block in boot_server' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:31:in `fork' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:31:in `boot_server' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:16:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/command.rb:7:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client.rb:23:in `run' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/bin/spring:6:in `<top (required)>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `load' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `<main>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `eval' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>' 
^C/Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:35:in `sleep': Interrupt 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:35:in `boot_server' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/run.rb:16:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client/command.rb:7:in `call' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/lib/spring/client.rb:23:in `run' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/spring-0.0.10/bin/spring:6:in `<top (required)>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `load' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/spring:19:in `<main>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `eval' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>' 

io uso:

  • di Ruby 1.9.3-p484
  • Rails3.2.17
  • Primavera 0.0.10
  • OSX 10.9
  • rbenv

Ho provato altri test. Penso che questo problema sia specifico per l'1.9.3.

myid-no-MacBook-Pro:~ myid$ ruby -v 
ruby 1.9.2p326 (2013-12-23 revision 44353) [x86_64-darwin13.1.0] 
myid-no-MacBook-Pro:~ myid$ irb 
irb(main):001:0> require 'fiddle' 
=> true 
irb(main):002:0> DL 
=> DL 
irb(main):003:0> require 'dl' 
=> false 
irb(main):004:0> DL 
=> DL 
irb(main):005:0> DL.fiddle? 
=> true 
irb(main):006:0> exit 




myid-no-MacBook-Pro:~ myid$ rbenv global 1.9.3-p484 
myid-no-MacBook-Pro:~ myid$ irb 
irb(main):001:0> require 'fiddle' 
LoadError: cannot load such file -- dl 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/fiddle.rb:4:in `<top (required)>' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from (irb):1 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/irb:12:in `<main>' 
irb(main):002:0> DL 
NameError: uninitialized constant DL 
    from (irb):2 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/irb:12:in `<main>' 
irb(main):003:0> require 'dl' 
LoadError: cannot load such file -- dl 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from /Users/myid/.rbenv/versions/1.9.3-p484/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from (irb):3 
    from /Users/myid/.rbenv/versions/1.9.3-p484/bin/irb:12:in `<main>' 
irb(main):004:0> exit 




myid-no-MacBook-Pro:~ myid$ rbenv global 2.1.0 
myid-no-MacBook-Pro:~ myid$ irb 
irb(main):001:0> require 'fiddle' 
=> true 
irb(main):002:0> DL 
NameError: uninitialized constant DL 
    from (irb):2 
    from /Users/myid/.rbenv/versions/2.1.0/bin/irb:11:in `<main>' 
irb(main):003:0> require 'dl' 
DL is deprecated, please use Fiddle 
=> true 
irb(main):004:0> DL 
=> DL 
irb(main):005:0> DL.fiddle? 
=> true 
irb(main):006:0> 
+0

Si sta facendo per molti altri utenti https://github.com/rails/spring/issues/274 può riprova con Ruby 1.9.2 –

+0

Cercherò il tuo suggerimento, ma ho bisogno di rubino 1.9.3-p484 lavorare che viene utilizzato nel mio ambiente di produzione. – tkymtk

risposta

5

Ho trovato una soluzione.

Nel mio caso, dopo aver modificato il compilatore c da clang a apple-gcc42 ha funzionato perfettamente. Ecco i comandi che ho usato.

$ rbenv uninstall 1.9.3-p484 
$ which gcc-4.2 
/usr/local/bin/gcc-4.2 
$ CC=/usr/local/bin/gcc-4.2 
$ rbenv install 1.9.3-p484 
$ rbenv rehash 

Link correlati: https://github.com/rails/spring/issues/274

2

Questo problema sembra essere limitato a una gamma di Ruby 1.9.3 livelli di patch, compilate su un Mac, utilizzando l'Apple fornito compilatore.

  • Rubino 1.9.3-P125, compilato con LLVM di Apple, primavera 1.1.3, funziona
  • di Ruby 1.9.3-P547 (ultima versione stabile al momento della scrittura), LLVM, Primavera 1.1.3 - fallisce .

Ho un paio di patch successive di Ruby (2.0, 2.1.2) all'ultima versione stabile, LLVM. Lavorano.

Quindi, ad un certo punto della serie 1.9.3, dopo p125, la molla smette di funzionare quando si utilizza LLVM. A un certo punto, almeno 2.0.0-p481, versioni successive di Ruby e versioni secondarie, e versioni minuscole, riprendono a funzionare, con LLVM. IOW, sembra un problema di regressione di Ruby 1.9.3, probabilmente un problema di regressione di Ruby 2.0.0. Ho documentato ciò che ho trovato su Github come un problema di primavera.

In questo momento, se hai bisogno di 1.9.3 e hai bisogno di Spring su un Mac ... considera Zeus. ;)

Problemi correlati