ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Gem Dependency failure while installing.

Added by Seth George at 2012-10-19 09:50 pm

Good Afternoon,
I am installing chiliproject onto a virtual machine to test it out, and I am hitting a hurdle that I do not know how to get around. The OS is CentOS 5.6, and where I am getting an error is when i try to run the bundle install command. This is what I run into:

bundle install --without test development
Fetching gem metadata from http://rubygems.org/.
Error Bundler::HTTPError during request to dependency API
Fetching full source index from http://rubygems.org/
Using rake (0.9.2.2)
Installing activesupport (2.3.14)
Installing rack (1.1.3)
Installing actionpack (2.3.14)
Installing actionmailer (2.3.14)
Installing activerecord (2.3.14)
Installing activeresource (2.3.14)
Installing rails (2.3.14)
Installing acts-as-taggable-on (2.1.0)
Installing coderay (1.0.8)
Installing fastercsv (1.5.5)
Installing gravatarify (3.0.0)
Using i18n (0.4.2)
Installing json (1.7.5) with native extensions
Installing liquid (2.3.0)
Using mysql (2.8.1)
Installing mysql2 (0.2.18) with native extensions
Installing net-ldap (0.3.1)
Installing pg (0.14.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

Then when I try to install pg separately, I get this set of errors:

gem install pg -v '0.14.1'
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ree-1.8.7-2012.02/bin/ruby extconf.rb
checking for pg_config... no
No pg_config... trying anyway. If building fails, please try again with
--with-pg-config=/path/to/pg_config
checking for libpq-fe.h... no
Can't find the 'libpq-fe.h header
'*** 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=/usr/local/rvm/rubies/ree-1.8.7-2012.02/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
Gem files will remain installed in /usr/local/rvm/gems/ree-1.8.7-2012.02/gems/pg-0.14.1 for inspection.
Results logged to /usr/local/rvm/gems/ree-1.8.7-2012.02/gems/pg-0.14.1/ext/gem_make.out

I am not a native Linux user, so I am relearning / refreshing what I know, so I am not quite sure how to use the suggested "--with-pg-config=/path/to/pg_config" option. Any help would be greatly appreciated.


Replies (9)

RE: Gem Dependency failure while installing. - Added by Felix Schäfer at 2012-10-19 11:27 pm

If you don't intend to use PostgreSQL as a database backend you can just not install the pg gem by adding postgres to the --without part of bundle install:

bundle install --without test development postgres

RE: Gem Dependency failure while installing. - Added by Seth George at 2012-10-20 12:02 am

That would be possible, but I am not sure what will and won't be used. I am not the dev on this, just the Sysadmin setting up the system. I am sure the developer who will be putting this in our pipeline will want to have all options available to him.

Edit: Also, if I install without this, will I be able to install it later?

RE: Gem Dependency failure while installing. - Added by Felix Schäfer at 2012-10-20 11:16 am

Bundle will remember options you pass in the --without option until you pass it a new set, i.e. yes, you could add the pg gem later.

You probably are just missing some postgres headers, have a look in your distribution's package manager if there is package like postgres-devel or similar.

RE: Gem Dependency failure while installing. - Added by Seth George at 2012-10-22 08:35 pm

So I see:

libgda-postgres-devel.x86_64 : PostgreSQL provider for libgda pkgconfig file

under YUM, would this be what I am looking for?

RE: Gem Dependency failure while installing. - Added by Felix Schäfer at 2012-10-22 09:29 pm

Doesn't look like it, can you post the list of postgres related packages YUM provides?

RE: Gem Dependency failure while installing. - Added by Seth George at 2012-10-22 09:31 pm

This is what YUM finds for just postgres (no -devel)

libgda-postgres.x86_64 : PostgreSQL provider for libgda
libgda-postgres-devel.i386 : PostgreSQL provider for libgda pkgconfig file
libgda-postgres-devel.x86_64 : PostgreSQL provider for libgda pkgconfig file
qt-PostgreSQL.x86_64 : PostgreSQL drivers for Qt's SQL classes.
koffice-kexi-driver-pgsql.x86_64 : Postgresql driver for kexi
bind-sdb.x86_64 : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server with database backends.
bacula-director-common.x86_64 : Common Bacula Director files
bacula-director-postgresql.x86_64 : Bacula Director with PostgresSQL database support
bacula-storage-common.x86_64 : Common Bacula storage daemon files
bacula-storage-postgresql.x86_64 : PostgresSQL Bacula storage daemon files
bugzilla.noarch : Bug tracking system
callweaver-postgresql.x86_64 : PostgreSQL support for CallWeaver
check_postgres.noarch : PostgreSQL monitoring script
collectd-postgresql.x86_64 : PostgreSQL module for collectd
dbmail.x86_64 : A database backed mail storage system
dbmail-pgsql.x86_64 : A database backed mail storage system - postgresql backend
dspam-pgsql.x86_64 : PostgreSQL storage driver for libdspam
erlang-pgsql.x86_64 : Erlang PostgreSQL interface
freeradius-postgresql.x86_64 : postgresql bindings for freeradius
freeradius2-postgresql.x86_64 : Postgresql support for freeradius
gallery2.noarch : Customizable photo gallery web site
gnokii-smsd-pgsql.x86_64 : PostgreSQL support for Gnokii SMS daemon
holland-pgdump.noarch : Holland LVM snapshot backup plugin for MySQL
ipplan.noarch : Web-based IP address manager and tracker
libdbi-dbd-pgsql.x86_64 : PostgreSQL plugin for libdbi
libpqxx.i386 : C++ client API for PostgreSQL
libpqxx.x86_64 : C++ client API for PostgreSQL
limph.noarch : A PHP5-compatible network host/service poller with web interface
lua-sql.x86_64 : Database connectivity for the Lua programming language
lua-sql-postgresql.x86_64 : PostgreSQL database connectivity for the Lua programming language
mantis.noarch : Web-based issue tracking system
mod_auth_pgsql.x86_64 : Basic authentication for the Apache web server using a PostgreSQL database.
mono-data-postgresql.x86_64 : Postgresql database connectivity for Mono
mydns-pgsql.x86_64 : MyDNS compiled with PostGreSQL support
nagios-plugins-pgsql.x86_64 : Nagios Plugin - check_pgsql
netdisco.noarch : A web-based network management tool
openscada-DB-PostgreSQL.x86_64 : Open SCADA bases
openser-postgresql.x86_64 : PostgreSQL Storage Support for the OpenSER
opensips-postgresql.x86_64 : PostgreSQL Storage Support for the OpenSIPS
pdns-backend-postgresql.x86_64 : PostgreSQL backend for pdns
perl-DBD-Pg.x86_64 : A PostgresSQL interface for perl
perl-DBIx-DBSchema.noarch : Database-independent schema objects
pg_top.x86_64 : 'top' for PostgreSQL process
pgadmin3.x86_64 : Graphical client for PostgreSQL
pgfouine.noarch : PgFouine PostgreSQL log analyzer
pgtune.noarch : PostgreSQL Config Tuner
php-pdo.x86_64 : A database access abstraction module for PHP applications
php-pear-MDB2-Driver-pgsql.noarch : PostgreSQL MDB2 driver
php-pgsql.x86_64 : A PostgreSQL database module for PHP.
php53-pdo.x86_64 : A database access abstraction module for PHP applications
php53-pgsql.x86_64 : A PostgreSQL database module for PHP
phpPgAdmin.noarch : Web-based PostgreSQL administration
postgis.x86_64 : Geographic Information Systems Extensions to PostgreSQL
postgresql.x86_64 : PostgreSQL client programs and libraries.
postgresql-contrib.x86_64 : Contributed source and binaries distributed with PostgreSQL
postgresql-dbi-link.noarch : Partial implementation of the SQL/MED portion of the SQL:2003 specification
postgresql-devel.i386 : PostgreSQL development header files and libraries.
postgresql-devel.x86_64 : PostgreSQL development header files and libraries.
postgresql-docs.x86_64 : Extra documentation for PostgreSQL
postgresql-ip4r.x86_64 : IPv4 and IPv4 range index types for PostgreSQL
postgresql-jdbc.x86_64 : JDBC driver for PostgreSQL
postgresql-libs.i386 : The shared libraries required for any PostgreSQL clients.
postgresql-libs.x86_64 : The shared libraries required for any PostgreSQL clients.
postgresql-odbc.x86_64 : PostgreSQL ODBC driver.
postgresql-odbc64.x86_64 : PostgreSQL ODBC driver
postgresql-odbcng.i386 : PostgreSQL ODBCng driver
postgresql-odbcng.x86_64 : PostgreSQL ODBCng driver
postgresql-pgpool.x86_64 : Pgpool is a connection pooling/replication server for PostgreSQL
postgresql-pgpool-II.i386 : Pgpool is a connection pooling/replication server for PostgreSQL
postgresql-pgpool-II.x86_64 : Pgpool is a connection pooling/replication server for PostgreSQL
postgresql-pgpool-II-devel.i386 : The development files for pgpool-II
postgresql-pgpool-II-devel.x86_64 : The development files for pgpool-II
postgresql-pgpoolAdmin.noarch : PgpoolAdmin - web-based pgpool administration
postgresql-pl.x86_64 : The PL procedural languages for PostgreSQL.
postgresql-plruby.x86_64 : PostgreSQL Ruby Procedural Language
postgresql-plruby-doc.x86_64 : Documentation for plruby
postgresql-python.x86_64 : Development module for Python code to access a PostgreSQL DB.
postgresql-server.x86_64 : The programs needed to create and run a PostgreSQL server.
postgresql-table_log.x86_64 : Log data changes in a PostgreSQL table
postgresql-tcl.x86_64 : A Tcl client library for PostgreSQL.
postgresql-test.x86_64 : The test suite distributed with PostgreSQL.
postgresql84.x86_64 : PostgreSQL client programs
postgresql84-contrib.x86_64 : Contributed modules distributed with PostgreSQL
postgresql84-devel.i386 : PostgreSQL development header files and libraries
postgresql84-devel.x86_64 : PostgreSQL development header files and libraries
postgresql84-docs.x86_64 : Extra documentation for PostgreSQL
postgresql84-libs.i386 : The shared libraries required for any PostgreSQL clients
postgresql84-libs.x86_64 : The shared libraries required for any PostgreSQL clients
postgresql84-plperl.x86_64 : The Perl procedural language for PostgreSQL
postgresql84-plpython.x86_64 : The Python procedural language for PostgreSQL
postgresql84-pltcl.x86_64 : The Tcl procedural language for PostgreSQL
postgresql84-python.x86_64 : Development module for Python code to access a PostgreSQL DB
postgresql84-server.x86_64 : The programs needed to create and run a PostgreSQL server
postgresql84-tcl.x86_64 : A Tcl client library for PostgreSQL
postgresql84-test.x86_64 : The test suite distributed with PostgreSQL
postgresql_autodoc.noarch : PostgreSQL AutoDoc Utility
proftpd-postgresql.x86_64 : Module to add PostgreSQL support to the ProFTPD FTP server
pure-ftpd.x86_64 : Lightweight, fast and secure FTP server
python-openid.noarch : Python OpenID libraries
python-pgsql.x86_64 : Enhanced python interface to PostgreSQL
python-psycopg2.x86_64 : A PostgreSQL database adapter for Python
python-psycopg2-doc.x86_64 : Documentation for psycopg python PostgreSQL database adapter
python-psycopg2-zope.x86_64 : Zope Database Adapter ZPsycopgDA
python-shove.noarch : Common object storage frontend
python-sqlobject.noarch : SQLObject -Object-Relational Manager, aka database wrapper
python-storm.x86_64 : An object-relational mapper (ORM) for Python
python-storm-postgresql.x86_64 : PostgreSQL backend for python-storm
qt4-postgresql.x86_64 : PostgreSQL drivers for Qt's SQL classes
rhdb-utils.x86_64 : Miscellaneous utilities for PostgreSQL - CentOS Edition.
root-sql-pgsql.x86_64 : PostgreSQL client plugin for ROOT
roundcubemail.noarch : Round Cube Webmail is a browser-based multilingual IMAP client
rsyslog-pgsql.x86_64 : PostgresSQL support for rsyslog
ruby-postgres.x86_64 : A Ruby interface for the PostgreSQL database engine
rubygem-rails.noarch : Web-application framework
soci-postgresql.i386 : PostGreSQL back-end for soci
soci-postgresql.x86_64 : PostGreSQL back-end for soci
soci-postgresql-devel.i386 : PostGreSQL back-end for soci
soci-postgresql-devel.x86_64 : PostGreSQL back-end for soci
sphinx.x86_64 : Free open-source SQL full-text search engine
trytond.noarch : Server for the Tryton application framework
unixODBC.i386 : A complete ODBC driver manager for Linux
unixODBC.x86_64 : A complete ODBC driver manager for Linux
unixODBC64.x86_64 : A complete ODBC driver manager for Linux
uuid-pgsql.x86_64 : PostgreSQL support for Universally Unique Identifier library
zikula.noarch : Zikula is a free open source Web Application Framework

RE: Gem Dependency failure while installing. - Added by Felix Schäfer at 2012-10-22 09:34 pm

postgresql-devel probably is what you need. To clarify: the full name of the software is PostgreSQL, but most of the time shortened to postgres or even pg or pgsql, sorry for the confusion.

RE: Gem Dependency failure while installing. - Added by Seth George at 2012-10-22 10:04 pm

Not a problem, I will proceed with that, and give you a status update.

Thank you for the help,
Seth

RE: Gem Dependency failure while installing. - Added by Seth George at 2012-10-22 10:20 pm

Well, I am one step closer. I come back with this error now:

Your PostgreSQL is too old. Either install an older version of this gem or upgrade your database.

Would the issue be coming from using a CentOS 5.6 image?

(1-9/9)