Tengo una aplicación que ejecuta Ruby 1.9.2, Rails 3 y postgreSQL 8.3. Originalmente se configuró y se trabajó con postgreSQL 9.1, pero desinstalé 9.1 e instalé y cambié a 8.3 para garantizar la compatibilidad en una configuración de base de datos compartida de Heroku. Que estaba funcionando bien, pero no es ahoraRuby on Rails/PostgreSQL - Error de biblioteca no cargada al iniciar server-libq.5.dylib
Ahora, cuando se trabaja en esta aplicación, cuando corro una actualización de la base de datos me sale este error:
dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib
Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Y cuando trato de ejecutar el servidor me sale esto mensaje de error:
/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `require': dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError)
Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
Reason: no suitable image found. Did find:
/usr/lib/libpq.5.dylib: no matching architecture in universal wrapper - /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `<top (required)>'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require'
from /Users/michaeljmccoy/.rvm/gems/[email protected]/gems/bundler-1.0.21/lib/bundler.rb:122:in `require'
from /Users/michaeljmccoy/www/mikemccoy/config/application.rb:7:in `<top (required)>'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `require'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:53:in `block in <top (required)>'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `tap'
from /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.2.0.rc2/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Sé que son errores muy similares y probablemente tengan que ver con una ruta que falta. Sin embargo, cuando agrego la ruta a mi archivo .profile y reinicio la ventana del terminal, obtengo los mismos errores.
Tus controles 'PATH' donde el shell busca ejecutables. Sus controles 'LD_LIBRARY_PATH' donde el shell busca bibliotecas. Dicho esto, me parece que tu pg joya se compiló con una versión diferente de la biblioteca PostgreSQL que la que tienes ahora. Probablemente solo necesites reinstalar pg. –
Quité la gema actual de pg e intento volver a instalarla; sin embargo, recibo lo que parece ser un error bastante común con respecto a las bibliotecas de postgres que faltan. Esto es lo que estoy viendo: 'comprobación de pg_config ... sí Usando los valores de configuración de /Library/PostgreSQL/8.3/bin/pg_config comprobación de libpq-fe.h ... sí comprobación de libpq/libpq -fs.h ... sí buscando pg_config_manual.h ... sí buscando PQconnectdb() en -lpq ... no buscando PQconnectdb() en -llibpq ... no buscando PQconnectdb() en -lms/libpq ... no No se puede encontrar la biblioteca de cliente de PostgreSQL (libpq) *** extconf.rb falló *** –
Recuerdo haber tenido que resolver esto en algún momento del pasado, y eso equivalía a tener que suministrar banderas manualmente al generador de gemas para indicarle dónde buscar los encabezados y las bibliotecas, No tengo la información disponible en este momento. –