Linux - Gem Ошибка при установке PG

2320
Dustin

Я привыкаю к ​​Linux и в настоящее время переключаюсь на Backtrack 5, чтобы начать практиковать в школе безопасность. Я запускаю msfupdate, которая устанавливает кучу гем-файлов. При установке PG из gem я получаю эту ошибку. Как я могу исправить это?

Installing pg (0.15.0) with native extensions  Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.  /opt/metasploit/ruby/bin/ruby extconf.rb  checking for pg_config... yes Using config values from /opt/metasploit/postgresql/bin/pg_config checking for libpq-fe.h... *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options.  Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=$/include --with-opt-lib --without-opt-lib=$/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/opt/metasploit/ruby/bin/ruby --with-pg --without-pg --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=$/include --with-pg-lib --without-pg-lib=$/lib --with-pg-config --without-pg-config --with-pg_config --without-pg_config /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:970:in `block in find_header' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:254:in `open' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:254:in `open' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:280:in `postpone' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for' from /opt/metasploit/ruby/lib/ruby/1.9.1/mkmf.rb:969:in `find_header' from extconf.rb:43:in `<main>'   Gem files will remain installed in /opt/metasploit/ruby/lib/ruby/gems/1.9.1/gems/pg-0.15.0 for inspection. Results logged to /opt/metasploit/ruby/lib/ruby/gems/1.9.1/gems/pg-0.15.0/ext/gem_make.out An error occured while installing pg (0.15.0), and Bundler cannot continue. Make sure that `gem install pg -v '0.15.0'` succeeds before bundling. 
2

1 ответ на вопрос

1
Salem

Как указывает на ошибку, проблема в том, что configure не может найти libpq-fe.h. Поскольку Backtrack основан на Debian, вы можете получить libpq-devпакет установки этого заголовка . Так что установите его раньше

$ sudo apt-get install libpq-dev 

и попробуй еще раз.

Это исправило проблему с попыткой установить pg отдельно, используя gem, но msfupdate по-прежнему возвращает точно такую ​​же ошибку. Действительно заблудился здесь. Dustin 11 лет назад 0
Можете ли вы предоставить вывод `/ opt / metasploit / ruby ​​/ lib / ruby ​​/ gems / 1.9.1 / gems / pg-0.15.0 / ext / gem_make.out`? Salem 11 лет назад 0
@ Dboy1612 ты решил свою проблему? Salem 11 лет назад 1

Похожие вопросы