From 943dda0ad07abc50708deafa995fb281bf6f4179 Mon Sep 17 00:00:00 2001 From: Greg Smith Date: Sat, 22 Jan 2011 09:08:43 -0500 Subject: [PATCH] Document potential build issues on RPM --- README.rst | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README.rst b/README.rst index 18192c99..4acc9c3b 100644 --- a/README.rst +++ b/README.rst @@ -126,6 +126,56 @@ path either. The following recipe should work:: sudo PATH="/usr/pgsql-9.0/bin:$PATH" make USE_PGXS=1 install +Issues with 32 and 64 bit RPMs +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If when building, you receive a series of errors of this form:: + + /usr/bin/ld: skipping incompatible /usr/pgsql-9.0/lib/libpq.so when searching for -lpq + +This is likely because you have both the 32 and 64 bit versions of the +``postgresql90-devel`` package installed. You can check that like this:: + + rpm -qa --queryformat '%{NAME}\t%{ARCH}\n' | grep postgresql90-devel + +And if two packages appear, one for i386 and one for x86_64, that's not supposed +to be allowed. + +This can happen when using the PGDG repo to install that package; +here is an example sessions demonstrating the problem case appearing:: + + # yum install postgresql-devel + .. + Setting up Install Process + Resolving Dependencies + --> Running transaction check + ---> Package postgresql90-devel.i386 0:9.0.2-2PGDG.rhel5 set to be updated + ---> Package postgresql90-devel.x86_64 0:9.0.2-2PGDG.rhel5 set to be updated + --> Finished Dependency Resolution + + Dependencies Resolved + + ========================================================================= + Package Arch Version Repository Size + ========================================================================= + Installing: + postgresql90-devel i386 9.0.2-2PGDG.rhel5 pgdg90 1.5 M + postgresql90-devel x86_64 9.0.2-2PGDG.rhel5 pgdg90 1.6 M + +Note how both the i386 and x86_64 platform architectures are selected for +installation. Your main PostgreSQL package will only be compatible with one of +those, and if the repmgr build finds the wrong postgresql90-devel these +"skipping incompatible" messages appear. + +In this case, you can temporarily remove both packages, then just install the +correct one for your architecture. Example:: + + rpm -e postgresql90-devel --allmatches + yum install postgresql90-devel-9.0.2-2PGDG.rhel5.x86_64 + +Instead just deleting the package from the wrong platform might not leave behind +the correct files, due to the way in which these accidentally happen to interact. + Confirm software was built correctly ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~