Обсуждение: EnterpriseDB install of Postgres on Ubuntu 10.04 library path issues - no version information available (required by /lib/libblkid.so.1)

Поиск
Список
Период
Сортировка
Downloaded http://get.enterprisedb.com/postgresql/postgresql-9.1.3-1-linux.run
Ran it.  Install went fine.
StackBuilder install of PostGIS 1.5 failed.  No error given.  I can't
find it in the logs. So I ran /tmp/edb_postgis_1_5_pg91.bin by hand.
Everything went fine there.

Then I wanted to install psycopg2 (2.4.5) so I can use PG with Python:

$ python setup.py build
running build
running build_py
running build_ext
Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

$ export PATH=$PATH:/opt/PostgreSQL/9.1/bin/

Then the build worked fine.

# export PATH=$PATH:/opt/PostgreSQL/9.1/bin/
# python setup.py install

That worked.

Then try to import it in Python:

$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/psycopg2/__init__.py",
line 67, in <module>
    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: libpq.so.5: cannot open shared object file: No such file
or directory
>>>

So I think I need to add the library path to ldconfig.

/etc/ld.so.conf.d# echo "/opt/PostgreSQL/9.1/lib/">postgresql.conf
root@schapman-desktop:/etc/ld.so.conf.d# ldconfig
/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libproj.so.0 is not a symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libpgtypes.so.3 is not a
symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libgeos-3.3.0.so is not a
symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libgeos_c.so.1 is not a
symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libpq.so.5 is not a symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libecpg.so.6 is not a symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libecpg_compat.so.3 is
not a symbolic link

Now I can import psycopg2 into Python and all seems well.

So I was working with stuff and went to unmount my usb stick:

$ umount /media/patriot

and I got this wierd error:
umount: /opt/PostgreSQL/9.1/lib/libuuid.so.1: no version information
available (required by /lib/libblkid.so.1)

And I'm stumped.  I think the EnterpriseDB build is using a different
version of some library than Ubuntu 10.04 has?

If I undo the ldconfig change, the error goes away, but psycopg2 won't load.

Clues appreciated!

Scott

On Thu, Apr 5, 2012 at 4:11 AM, Scott Chapman <scott@mischko.com> wrote:
Downloaded http://get.enterprisedb.com/postgresql/postgresql-9.1.3-1-linux.run
Ran it.  Install went fine.
StackBuilder install of PostGIS 1.5 failed.  No error given.  I can't
find it in the logs. So I ran /tmp/edb_postgis_1_5_pg91.bin by hand.
Everything went fine there.

Then I wanted to install psycopg2 (2.4.5) so I can use PG with Python:

$ python setup.py build
running build
running build_py
running build_ext
Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:

   python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.

$ export PATH=$PATH:/opt/PostgreSQL/9.1/bin/

Then the build worked fine.

# export PATH=$PATH:/opt/PostgreSQL/9.1/bin/
# python setup.py install

That worked.

Then try to import it in Python:

$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/usr/local/lib/python2.6/dist-packages/psycopg2/__init__.py",
line 67, in <module>
   from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: libpq.so.5: cannot open shared object file: No such file
or directory
>>>

So I think I need to add the library path to ldconfig.

/etc/ld.so.conf.d# echo "/opt/PostgreSQL/9.1/lib/">postgresql.conf
root@schapman-desktop:/etc/ld.so.conf.d# ldconfig
/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libproj.so.0 is not a symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libpgtypes.so.3 is not a
symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libgeos-3.3.0.so is not a
symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libgeos_c.so.1 is not a
symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libpq.so.5 is not a symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libecpg.so.6 is not a symbolic link

/sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libecpg_compat.so.3 is
not a symbolic link

Now I can import psycopg2 into Python and all seems well.

So I was working with stuff and went to unmount my usb stick:

$ umount /media/patriot

and I got this wierd error:
umount: /opt/PostgreSQL/9.1/lib/libuuid.so.1: no version information
available (required by /lib/libblkid.so.1)

And I'm stumped.  I think the EnterpriseDB build is using a different
version of some library than Ubuntu 10.04 has?
Yeah.
That's the case.
And, one of the reason, we (EnterpriseDB Installer team) do not include the PostgreSQL path in the ldconfig.

If I undo the ldconfig change, the error goes away, but psycopg2 won't load. 
Can reconfigure the psycopg2 with this rpath?
  python setup.py clean
  python setup.py build_ext --pg-config <PG_CONFIG_PATH> --rpath <PG_LIB_DIR> ..
  
i.e.
  python setup.py build_ext --pg-config /opt/PostgreSQL/9.0/bin/pg_config --rpath /opt/PostgreSQL/9.0/lib ...

Hope - this will help.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: 
Enterprise PostgreSQL Company

 

http://www.linkedin.com/in/asheshvashi


Clues appreciated!

Scott

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

(Please CC to the list... This could be useful to other people too..)

On Thu, Apr 5, 2012 at 9:52 PM, Scott Chapman <scott@mischko.com> wrote:
Thanks! That worked great.
Nice to hear that it solved the issue.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: 
Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi 


On Wed, Apr 4, 2012 at 11:39 PM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> On Thu, Apr 5, 2012 at 4:11 AM, Scott Chapman <scott@mischko.com> wrote:
>>
>> Downloaded
>> http://get.enterprisedb.com/postgresql/postgresql-9.1.3-1-linux.run
>> Ran it.  Install went fine.
>> StackBuilder install of PostGIS 1.5 failed.  No error given.  I can't
>> find it in the logs. So I ran /tmp/edb_postgis_1_5_pg91.bin by hand.
>> Everything went fine there.
>>
>> Then I wanted to install psycopg2 (2.4.5) so I can use PG with Python:
>>
>> $ python setup.py build
>> running build
>> running build_py
>> running build_ext
>> Error: pg_config executable not found.
>>
>> Please add the directory containing pg_config to the PATH
>> or specify the full executable path with the option:
>>
>>    python setup.py build_ext --pg-config /path/to/pg_config build ...
>>
>> or with the pg_config option in 'setup.cfg'.
>>
>> $ export PATH=$PATH:/opt/PostgreSQL/9.1/bin/
>>
>> Then the build worked fine.
>>
>> # export PATH=$PATH:/opt/PostgreSQL/9.1/bin/
>> # python setup.py install
>>
>> That worked.
>>
>> Then try to import it in Python:
>>
>> $ python
>> Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56)
>> [GCC 4.4.3] on linux2
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import psycopg2
>> Traceback (most recent call last):
>>  File "<stdin>", line 1, in <module>
>>  File "/usr/local/lib/python2.6/dist-packages/psycopg2/__init__.py",
>> line 67, in <module>
>>    from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
>> ImportError: libpq.so.5: cannot open shared object file: No such file
>> or directory
>> >>>
>>
>> So I think I need to add the library path to ldconfig.
>>
>> /etc/ld.so.conf.d# echo "/opt/PostgreSQL/9.1/lib/">postgresql.conf
>> root@schapman-desktop:/etc/ld.so.conf.d# ldconfig
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libproj.so.0 is not a
>> symbolic link
>>
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libpgtypes.so.3 is not a
>> symbolic link
>>
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libgeos-3.3.0.so is not a
>> symbolic link
>>
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libgeos_c.so.1 is not a
>> symbolic link
>>
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libpq.so.5 is not a symbolic
>> link
>>
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libecpg.so.6 is not a
>> symbolic link
>>
>> /sbin/ldconfig.real: /opt/PostgreSQL/9.1/lib/libecpg_compat.so.3 is
>> not a symbolic link
>>
>> Now I can import psycopg2 into Python and all seems well.
>>
>> So I was working with stuff and went to unmount my usb stick:
>>
>> $ umount /media/patriot
>>
>> and I got this wierd error:
>> umount: /opt/PostgreSQL/9.1/lib/libuuid.so.1: no version information
>> available (required by /lib/libblkid.so.1)
>>
>> And I'm stumped.  I think the EnterpriseDB build is using a different
>> version of some library than Ubuntu 10.04 has?
>
> Yeah.
> That's the case.
> And, one of the reason, we (EnterpriseDB Installer team) do not include the
> PostgreSQL path in the ldconfig.
>>
>>
>> If I undo the ldconfig change, the error goes away, but psycopg2 won't
>> load.
>
> Can reconfigure the psycopg2 with this rpath?
>   python setup.py clean
>   python setup.py build_ext --pg-config <PG_CONFIG_PATH> --rpath
> <PG_LIB_DIR> ..
>
> i.e.
>   python setup.py build_ext --pg-config /opt/PostgreSQL/9.0/bin/pg_config
> --rpath /opt/PostgreSQL/9.0/lib ...
>
> Hope - this will help.
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>
>
>
> http://www.linkedin.com/in/asheshvashi
>
>
>> Clues appreciated!
>>
>> Scott
>>
>> --
>> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>
>