Correct location for st_geometry.so on Ubuntu + PostgreSQL?

1060
3
01-19-2013 06:20 AM
RyanClark
New Contributor II
I run PostgreSQL on an Ubuntu server. Through ArcCatalog 10.1 I can connect to the database (although it is empty right now). When trying to "Enable Geodatabase" I get the following error:
You must copy the latest ST_GEOMETRY and dependent libraries to the PostgreSQL software location. Refer to the ArcGIS help topics for more details.

I've copied st_geometry.so from the ArcGIS install location on my Windows machine to the Ubuntu server. I placed the file in /usr/lib/postgresql/9.1/lib/, alongside a set of other .so files (including postgis.so).
Still, I get the same error message. Is there something else I have to do in order to have the ST_GEOMETRY library "installed"? I don't even want to use that geometry type -- I want PostGIS in my database. An option to disable ST_GEOMETRY would be fabulous.
0 Kudos
3 Replies
VinceAngelo
Esri Esteemed Contributor
Each PostgreSQL could have a different directory location, which is why the command
to determine the location provided at compile time is included in the documentation.

Is your PostgreSQL install 64-bit?  The 64-bit library for ST_GEOMETRY support will
only work with a 64-bit PostgreSQL.  As of 10.1, Esri doesn't publish any 32-bit DLLs.

- V
0 Kudos
RyanClark
New Contributor II
Can you point me at the documentation where I can find this command to determine the library location? I haven't found that in my search.

The OS is 64-bit, and PostgreSQL was installed via "apt-get install postgresql-9.1-postgis". I'll look into whether or not that would be a 64-bit version of PostgreSQL.

Thanks!
0 Kudos
VinceAngelo
Esri Esteemed Contributor
I haven't committed the PG documentation to memory, so I don't recall the
command to report the EXT directory with which the 'configure' script was
executed, but it's embedded in the postgres binaries.  I run dual-boot, so
I don't have access to my Linux install at the moment.

You can test the architecture of binaries with the 'file' command.  Generally,
if the package doesn't have "64" in it, it isn't 64-bit, but there are scores of
naming conventions (which is precisely why I always build my own PG binaries
from source).

- V
0 Kudos