2015-01-21 4 views
4

Я получил эту ошибку, так как обновление до 2.2.0, только произошло, когда запрос HTTP отправлен puma:Символ ошибки поиска после обновления Руби 2.2.0

puma 2.10.2 (tcp://0.0.0.0:22555): symbol lookup error: 
    /usr/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0/do_postgres-0.10.14/do_postgres/do_postgres.so: 
    undefined symbol: rb_thread_select 

Каковы причины и как исправить это?

Переход на 2.1.5 устраняет эту проблему в любом случае.

+1

Похоже, что они уже сделали [вопрос о GitHub] (https://github.com/datamapper/do/issues/74). Пока ничего не исправлено. – zwippie

ответ

5

драгоценный камень pg до версии 0.14.1 использует метод rb_thread_select. Этот метод был удален в Ruby 2.2. Согласно their history file версии 0.15.0 выпущен в марте 2013 года не использовать его больше:

== v0.15.0 [2013-03-03] Michael Granger <[email protected]> 

[...] 

Enhancements: 

- Make use of rb_thread_fd_select() on Ruby 1.9 and avoid deprecated 
    rb_thread_select(). 

[...] 

Таким образом, вы можете использовать старый pg камень. Обновление этой жемчужины по крайней мере до 0,15.0 должно устранить вашу проблему.

+0

Я использую ruby-2.3.1, который я только что обновил до использования chruby и ruby-install и получил эту ошибку /home/x/.gem/ruby/2.3.1/gems/activesupport-3.2.9/lib/ active_support/values ​​/ time_zone.rb: 270: warning: ссылка на круговой аргумент - теперь /home/x/.rubies/ruby-2.3.1/bin/ruby: ошибка поиска символа: /home/x/.gem/ruby/ 2.3.1/gems/json-1.7.6/lib/json/ext/generator.so: undefined symbol: rb_data_object_alloc Любые советы, пожалуйста? –

+0

Я не знаю, откуда эта ошибка. Попробуйте обновить json gem. Кажется, это другая проблема. Вы должны задать новый вопрос в StackOverfow. – cbliard

Смежные вопросы