Instalacja gema Postgres w Ubuntu

Przy próbie samodzielnej kompilacji gema postgres kompilacja kończy się niestety tak:

~ # gem install postgres

...

Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
   ERROR: Failed to build gem native extension.

...

gcc -I. -I. -I/usr/lib/ruby/1.8/x86_64-linux -I.   \
 -DHAVE_SYS_UN_H -DHAVE_SOCKET -DHAVE_GETHOSTNAME \
 -DHAVE_PQSETCLIENTENCODING -DHAVE_PG_ENCODING_TO_CHAR \
 -DHAVE_PQESCAPESTRING  -fPIC   -c  postgres.c
postgres.c:18:22: error: libpq-fe.h: No such file or directory
postgres.c:19:70: error: libpq/libpq-fs.h: No such file or directory

...

make: *** [postgres.o] Błąd 1

Gem files will remain installed in /usr/lib/ruby/gems/1.8/
 gems/postgres-0.7.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/
 gems/postgres-0.7.1/gem_make.out

Na początek musisz się upewnić, że masz zainstalowane biblioteki developerskie PostgreSQL-a:

~ # apt-get install libpq-dev
Czytanie list pakietów... Gotowe
Budowanie drzewa zależności
Reading state information... Gotowe
libpq-dev jest już w najnowszej wersji.
0 aktualizowanych, 0 nowo instalowanych, 0 usuwanych i 0 nieaktualizowanych.

Problem z instalacją GEMa wynika z tego, że gem oczekuje, że nagłówki do bibliotek postgresa będą w głównym katalogu nagłównów (/usr/include), natomiast w Ubuntu nagłówki te znajdują się w podakatalogu /usr/include/postgres i Ruby ich nie potrafi znaleźć.

GEMa możesz zainstalować w następujący sposób - wskazując katalog z nagłówkami:

~ # POSTGRES_INCLUDE=/usr/include/postgresql gem install postgres
Building native extensions.  This could take a while...
Successfully installed postgres-0.7.1

Miłej zabawy z Rubym!