[postgis-users] Postgis on AIX

Derek Jones scunacc at yahoo.com
Wed Jan 20 12:38:10 PST 2010


Hi folks,

I have a need to run postgis on AIX.

I already have postgis on x86 working just fine - has for a long while.

Now I need to duplicate the DB on AIX, but the backend server process 
dies when loading the postgis shared lib. I've tried truss on it, but to 
no real help. Wondered if anyone had a compile tip that I am missing.

Here are the details:

-----

Base OS is AIX 5.3
Compiler is xlc

IBM XL C/C++ Enterprise Edition for AIX, V9.0

I have a compiled and working 8.4.2 postgresql. I have data loaded, I 
can do selects, inserts, etc. Just fine.

I have compiled up geos and proj

geos-3.2.0
proj-4.7.0

postgis is version 1.4.1

----

Bear in mind I have already compiled up and worked with postgis just 
fine on x86 for some years. The problem is AIX specific.

I am not sure if there is some peculiar command line option I need to 
use on AIX - esp. with xlc. (Can't easily use gcc on this machine).

Here's part of the truss dump of what happens when the thing runs:


213446: statx("/usr1/local/lib/postgresql/postgis-1.4", 0x2FF1DCB0, 128, 
010) Err#2 ENOENT
213446: statx("/usr1/local/lib/postgresql/postgis-1.4.so", 0x2FF1DCB0, 
128, 010) = 0
213446: statx("/usr1/local/lib/postgresql/postgis-1.4.so", 0x2FF1DCF0, 
128, 010) = 0
213446: __loadx(0x014801C0, 0x2FF1C8C0, 0x00000960, 0xF0253C80, 
0x00000000) = 0xF0230B00
213446: __loadx(0x02000000, 0x2FF1D300, 0x00000960, 0xF0230B00, 
0x00000000) = 0x00000000
213446: __loadx(0x07000000, 0xF0253C74, 0x00000006, 0xF0230B00, 
0x00000000) = 0xF0507F60
213446: __loadx(0x07000000, 0xF0253C90, 0x00000006, 0xF0230B00, 
0x00000000) = 0xF0508188
213446: __loadx(0x02000000, 0x2FF1D300, 0x00000960, 0x00000000, 
0x00000000) = 0x00000000
213446: loadquery(2, 0x2021B178, 0x00001000) = 0
213446: kfcntl(0, F_GETFL, 0x00000000) = 67108866
213446: kfcntl(1, F_GETFL, 0x00000000) = 67108866
213446: kfcntl(2, F_GETFL, 0x00000000) = 67108866
213446: kfcntl(2, F_GETFL, 0x00000000) = 67108866
213446: __loadx(0x014D0080, 0x2FF1C850, 0x00000960, 0x20199408, 
0x00000000) = 0x20228400
213446: __loadx(0x0A040000, 0xD058B834, 0x2FF22FFC, 0x0000D0B2, 
0x00000000) = 0x00000000
213446: loadquery(2, 0x2021B178, 0x00001000) = 0
213446: __loadx(0x02000200, 0xF0508CC8, 0x00003E80, 0x20228400, 
0x00000000) = 0x00000000
213446: __loadx(0x07000000, 0x1053D350, 0x00000009, 0x20228400, 
0x20199560) = 0x2022D438
213446: __loadx(0x07000000, 0x1053D3D4, 0x00000009, 0x20228400, 
0x00000000) = 0x00000000
213446: access("/usr/lib/nls/msg/en_US/libc.cat", 0) = 0
213446: _getpid() = 213446
213446: open("/usr/lib/nls/msg/en_US/libc.cat", O_RDONLY) = 41
213446: kioctl(41, 22528, 0x00000000, 0x00000000) Err#25 ENOTTY
213446: kfcntl(41, F_SETFD, 0x00000001) = 0
213446: kioctl(41, 22528, 0x00000000, 0x00000000) Err#25 ENOTTY
213446: kread(41, "\0\001 ?\007\007 I S O 8".., 4096) = 4096
213446: lseek(41, 0, 1) = 4096
213446: lseek(41, 0, 1) = 4096
213446: lseek(41, 0, 1) = 4096
213446: _getpid() = 213446
213446: lseek(41, 0, 1) = 4096
213446: lseek(41, 8069, 0) = 8069
213446: kread(41, " T h e s y s t e m c".., 4096) = 4096
213446: close(41) = 0
213446: __loadx(0x07000000, 0x20218D70, 0x00000009, 0x20228400, 
0x00000029) = 0x2022F124
213446: __loadx(0x07000000, 0x20218DF8, 0x00000009, 0x20228400, 
0x20218E09) = 0x2022F070
213446: Received signal #4, SIGILL [default]
213446: *** process killed ***


It doesn't appear to complete the postgis shared lib load. Compared with 
the same o/p from strace on x86, where it goes on to load up geos and 
then proj just fine.

Any thoughts appreciated. Stuck with an 18CPU partition and 64G of 
memory and can't use it until I fix this :-)

Kind regards

Derek.






More information about the postgis-users mailing list