Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm getting used to Linux, and currently making a switch to Backtrack 5 to start practicing for school in security. I'm running msfupdate, which installs a bunch of gem files. While installing PG from gem I get this error. How can I go about fixing it?

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=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/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=${pg-dir}/include
    --with-pg-lib
    --without-pg-lib=${pg-dir}/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.
share|improve this question

1 Answer 1

up vote 1 down vote accepted

As the error points out, the problem is that configure can't find libpq-fe.h. As Backtrack is based on Debian you can get that header installing libpq-dev package. So install it before

$ sudo apt-get install libpq-dev

and try again.

share|improve this answer
    
That fixed the issue for attempting to install pg separately using gem, but msfupdate still returns the exact same error. Really getting lost here. –  Dboy1612 May 3 '13 at 22:35
    
Can you provide the output of /opt/metasploit/ruby/lib/ruby/gems/1.9.1/gems/pg-0.15.0/ext/gem_make.out? –  Salem May 3 '13 at 22:52
1  
@Dboy1612 have you solved your problem? –  Salem May 7 '13 at 12:14

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.