gem install pg ne peut pas se lier à libpq
-
26-10-2019 - |
Question
Après la mise à niveau à Ruby 1.9.3 (de 1.9.2 à l'aide du système RVM) sur Ubuntu 10.04.3, je retire tous mes bijoux, et a tenté de réinstaller pg (ala bundle install pg
).
Il a ensuite jeté une erreur et m'a informé que je devrais regarder mkmf.log, qui sont tous deux inclus dans ce point essentiel:
La solution J'ai le même problème dans mon cas était à l'intérieur de la lib .rvm / usr / lib qui a été prise à cette compilation au lieu de lib du système de. Je ne sais pas pourquoi cela se produit et pourquoi il ne fonctionne pas (dans mon cas sur Ubuntu 10.04 x86_64) mais pour le résoudre simplement: pendant un certain temps ou pour toujours;) Si quelqu'un va chercher à savoir pourquoi cela se produire, je vais apprécier.
Cordialement. mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm
Autres conseils
Regardez le mkmf.log
autour de la ligne 39:
"gcc -o conftest -I/usr/local/rvm/rubies/ruby-1.9.3-p0/include/ruby-1.9.1/i686-linux -I/usr/local/rvm/rubies/ruby-1.9.3-p0/include/ruby-1.9.1/ruby/backward -I/usr/local/rvm/rubies/ruby-1.9.3-p0/include/ruby-1.9.1 -I. -I/usr/local/rvm/usr/include -D_FILE_OFFSET_BITS=64 -I/usr/include/postgresql -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -fPIC conftest.c -L. -L/usr/local/rvm/rubies/ruby-1.9.3-p0/lib -Wl,-R/usr/local/rvm/rubies/ruby-1.9.3-p0/lib -L/usr/local/rvm/usr/lib -Wl,-R/usr/local/rvm/usr/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib -Wl,-R -Wl,/usr/local/rvm/rubies/ruby-1.9.3-p0/lib -L/usr/local/rvm/rubies/ruby-1.9.3-p0/lib -lruby -lpq -lpthread -lrt -ldl -lcrypt -lm -lc"
/usr/lib/libpq.so: undefined reference to `X509_STORE_set_flags@OPENSSL_0.9.8'
/usr/lib/libpq.so: undefined reference to `CRYPTO_set_locking_callback@OPENSSL_0.9.8'
/usr/lib/libpq.so: undefined reference to `ENGINE_init@OPENSSL_0.9.8'
/usr/lib/libpq.so: undefined reference to `ENGINE_free@OPENSSL_0.9.8'
/usr/lib/libpq.so: undefined reference to `ENGINE_load_private_key@OPENSSL_0.9.8'
...
Ça sent comme un manque OpenSSL. Je ne vois pas aussi un -lssl
dans la liste bibliothèque, mais les symboles manquants suggère qu'il devrait être là.
Donc, essayez d'installer les bibliothèques OpenSSL (version 0.9.8 par le regard des choses). Ensuite, voir si pg_config --libs
contient -lssl
ou similaires et essayez à nouveau. Si tout cela fonctionne, alors vous voudrez peut-être envoyer un rapport de bug au peuple Ubuntu afin qu'ils puissent corriger les dépendances libpq-dev.
Désolé, je n'ai pas mis un Ubuntu ne importe où accessible en ce moment donc il y a quelques devinettes qui se passe ici.
Ne vous laissez pas berner par le SSL lib étant installé - jetez un oeil à votre Ruby construire et vérifier le journal de la construction il ssl. J'ai été mordu par celui-là avant. D'autres bibliothèques qui, parfois, ne se sont pas chargés les GZip. Cela peut ne pas être le problème, mais un coup d'oeil.
Mise à jour:
Vous avez besoin des bibliothèques -dev.
Ces jours-ci j'utilise rbenv ou l'un des autres outils de construction rubis et de suivre tout ce que les messages qu'ils crachent.