1

I am trying to get a i686 compiled binary to run on my x86_64 CentOS7 install. When starting it complains it cannot find (dynammically load) the libpq library.

I tried installing the i686 Postgres repository to install the libraries, from there, but this failed:

[root@host bin]# yum localinstall http://yum.postgresql.org/9.3/redhat/rhel-6-i386/pgdg-centos93-9.3-1.noarch.rpm
Loaded plugins: fastestmirror
pgdg-centos93-9.3-1.noarch.rpm                                                                                                                           | 5.2 kB  00:00:00     
Examining /var/tmp/yum-root-36JlJy/pgdg-centos93-9.3-1.noarch.rpm: pgdg-centos93-9.3-1.noarch
/var/tmp/yum-root-36JlJy/pgdg-centos93-9.3-1.noarch.rpm: does not update installed package.
Nothing to do

How can I get this program to run?

Bart Friederichs
  • 353
  • 1
  • 6
  • 23
  • It's 2015! How did you end up with a 32-bit binary? – Michael Hampton Jan 30 '15 at 14:28
  • @MichaelHampton Legacy code that isn't ported (and probably never will). – Bart Friederichs Jan 30 '15 at 14:39
  • Hmm. EL7 is 64-bit _only_. There's no 32 bit version. If you intend to use this thing forever, your best bet is to recompile it and fix any issues that arise. Or use EL6, and plan to replace the legacy app completely within the next few years. – Michael Hampton Jan 30 '15 at 14:46
  • @MichaelHampton both not possible (server has to be running again by monday). I migrated back to Postgres 9.2, which has all the necessary libraries in 32bit format, in the Base repo for CentOS7. The legacy application will certainly be replaced sometime this year and we will be using the latest version of our (64 bit) libraries then. – Bart Friederichs Jan 30 '15 at 16:15

1 Answers1

2

I'm not sure what's in the pgdg package, but if you want i686 libraries for PostgreSQL, just install the postgresql-libs.i686 package. That should give you the libpq library in 32-bit version that your program is looking for.

John
  • 8,920
  • 1
  • 28
  • 34
  • That package is not available ... I was thinking the pgdg file would install the correct repo, where I could find that package. – Bart Friederichs Jan 30 '15 at 13:13
  • Then there's something else wrong - probably with the source of your updates or with how the system is registered to get those updates. The postgresql-libs.i686 package is part of the base channel for CentOS 7. – John Jan 30 '15 at 13:15
  • Ah, wait, the Postgres installtion guide tells me to exclude those package for the pgdg repo. Because I want to use PgSQL 9.3 – Bart Friederichs Jan 30 '15 at 13:17
  • Then you'll need to find the 32 bit packages somewhere else - how that works with the upstream installer, I'm not at all sure. – John Jan 30 '15 at 13:26
  • it looks like I am out of luck and the CentOS 7 i386 9.3 packages are not supplied by Postgres. – Bart Friederichs Jan 30 '15 at 13:28
  • Reverted back to postgres 9.2, all seems to be working now. – Bart Friederichs Jan 30 '15 at 16:15