Обсуждение: AIX 7.2 install psqlodbc with error
Dear Guru,
The issue happened when I do below with 'Illegal instruction(coredump):
>isql -v test_pg
Illegal instruction(coredump)
>odbcinst -j
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /etc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Illegal instruction(coredump)
My Questions:
1. Does psqlodbc is not supported to install or use with AIX 64bit server as remote connecting to other postgres server?
2. My download of psqlodbc is wrong?
3. Any clues my steps in-correct or any good way to install psqlodbc ? (I eventally need this driver to configure AIX oracle DBlink to read Postgres Data)
Below are the setup step I did:
I download psqlodbc-13.02.0000.tar.gz from https://ftp.postgresql.org/pub/odbc/versions.old/src/psqlodbc-13.02.0000.tar.gz
cd psqlodbc-13.02.0000
chown -R root:system *
autoconfig -i
./configure ODBCVER=0x0351 CPPFLAGS="-DSQLCOLATTRIBUTE_SQLLEN" --with-libpq=/usr/local/pgsql --with-unixodbc=/opt/freeware/bin --disable-dependency-tracking --prefix=/usr/local \
--build=powerpc-ibm-aix --host=powerpc-ibm-aix CC="gcc -maix64" CXX="g++ -maix64"
...
checking for library containing SQLGetPrivateProfileString... -lodbcinst
checking for pthread_create in -lpthreads... yes
checking for PQsetSingleRowMode in -lpq... no
configure: error: libpq library version >= 9.2 is required <==== [found no solution to fix error like this]
Thus, then try manual compile:
# Build object files individually
for file in *.c; do
if [ "$file" != "odbcapi30.c" ]; then
gcc $CFLAGS -c -fPIC $file -o ${file%.c}.o
fi
done
gcc $CFLAGS -DSQLColAttribute=my_SQLColAttribute -c -fPIC odbcapi30.c -o odbcapi30.o
gcc -maix64 -shared -o psqlodbc.so *.o $LDFLAGS $LIBS -Wl,-G -Wl,-brtl
>ls psqlodbc*
psqlodbc.c psqlodbc.def psqlodbc.dsp psqlodbc.h psqlodbc.o psqlodbc.rc psqlodbc.reg psqlodbc.sln psqlodbc.so psqlodbc.vcproj psqlodbca.def
My environment
I target to have psqlodbc installing to AIX7.2:
>oslevel -s
7200-04-02-2028
>prtconf -c
CPU Type: 64-bit
>bootinfo -K
64
ODBC driver version 2.3.9
PostgreSQL version 11.9
Due to AIX 7.2 available psqlodbc that I can find and trying the download psqlodbc-13.02.0000 download

Currently has unixodbc installed and OK to use.


resulted coredump

>file /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so: 64-bit XCOFF executable or object module not stripped
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
>dump -Hv -X64 /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so:
***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x00000268 0x0000063b 0x00000096
#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000007 0x00009da8 0x00002bca 0x00009e3e
***Import File Strings***
INDEX PATH BASE MEMBER
0 /opt/freeware/lib:/usr/lib:/lib
1 libpq.a libpq.so.5
2 libodbc.a libodbc.so.2
3 libodbcinst.a libodbcinst.so.2
4 libgcc_s.a shr.o
5 libc.a shr_64.o
6 ..
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
>
>ldd /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so needs:
/opt/freeware/lib/libpq.a(libpq.so.5)
/opt/freeware/lib/libodbc.a(libodbc.so.2)
/opt/freeware/lib/libodbcinst.a(libodbcinst.so.2)
/opt/freeware/lib/libgcc_s.a(shr.o)
/usr/lib/libc.a(shr_64.o)
/opt/freeware/lib/libtcl8.6.a(libtcl8.6.so)
/opt/freeware/lib/libldap_r.a(libldap_r-2.4.so.2)
/opt/freeware/lib/libintl.a(libintl.so.8)
/usr/lib/libpthreads.a(shr_xpg5_64.o)
/opt/freeware/lib/libcrypto.a(libcrypto.so.1.0.2)
/opt/freeware/lib/libssl.a(libssl.so.1.0.2)
/opt/freeware/lib/libiconv.a(libiconv.so.2)
/usr/lib/libpthread.a(shr_xpg5_64.o)
/unix
/usr/lib/libcrypt.a(shr_64.o)
/usr/lib/libdl.a(shr_64.o)
/opt/freeware/lib/liblber.a(liblber-2.4.so.2)
/opt/freeware/lib/libsasl2.a(libsasl2.so.3)
/usr/lib/libs.a(shr_64.o)
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
I very appreciate you shed a light to this issue.
Regards
Hilda
The issue happened when I do below with 'Illegal instruction(coredump):
>isql -v test_pg
Illegal instruction(coredump)
>odbcinst -j
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /etc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Illegal instruction(coredump)
My Questions:
1. Does psqlodbc is not supported to install or use with AIX 64bit server as remote connecting to other postgres server?
2. My download of psqlodbc is wrong?
3. Any clues my steps in-correct or any good way to install psqlodbc ? (I eventally need this driver to configure AIX oracle DBlink to read Postgres Data)
Below are the setup step I did:
I download psqlodbc-13.02.0000.tar.gz from https://ftp.postgresql.org/pub/odbc/versions.old/src/psqlodbc-13.02.0000.tar.gz
cd psqlodbc-13.02.0000
chown -R root:system *
autoconfig -i
./configure ODBCVER=0x0351 CPPFLAGS="-DSQLCOLATTRIBUTE_SQLLEN" --with-libpq=/usr/local/pgsql --with-unixodbc=/opt/freeware/bin --disable-dependency-tracking --prefix=/usr/local \
--build=powerpc-ibm-aix --host=powerpc-ibm-aix CC="gcc -maix64" CXX="g++ -maix64"
...
checking for library containing SQLGetPrivateProfileString... -lodbcinst
checking for pthread_create in -lpthreads... yes
checking for PQsetSingleRowMode in -lpq... no
configure: error: libpq library version >= 9.2 is required <==== [found no solution to fix error like this]
Thus, then try manual compile:
# Build object files individually
for file in *.c; do
if [ "$file" != "odbcapi30.c" ]; then
gcc $CFLAGS -c -fPIC $file -o ${file%.c}.o
fi
done
gcc $CFLAGS -DSQLColAttribute=my_SQLColAttribute -c -fPIC odbcapi30.c -o odbcapi30.o
gcc -maix64 -shared -o psqlodbc.so *.o $LDFLAGS $LIBS -Wl,-G -Wl,-brtl
>ls psqlodbc*
psqlodbc.c psqlodbc.def psqlodbc.dsp psqlodbc.h psqlodbc.o psqlodbc.rc psqlodbc.reg psqlodbc.sln psqlodbc.so psqlodbc.vcproj psqlodbca.def
My environment
I target to have psqlodbc installing to AIX7.2:
>oslevel -s
7200-04-02-2028
>prtconf -c
CPU Type: 64-bit
>bootinfo -K
64
ODBC driver version 2.3.9
PostgreSQL version 11.9
Due to AIX 7.2 available psqlodbc that I can find and trying the download psqlodbc-13.02.0000 download

Currently has unixodbc installed and OK to use.


resulted coredump

>file /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so: 64-bit XCOFF executable or object module not stripped
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
>dump -Hv -X64 /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so:
***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x00000268 0x0000063b 0x00000096
#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000007 0x00009da8 0x00002bca 0x00009e3e
***Import File Strings***
INDEX PATH BASE MEMBER
0 /opt/freeware/lib:/usr/lib:/lib
1 libpq.a libpq.so.5
2 libodbc.a libodbc.so.2
3 libodbcinst.a libodbcinst.so.2
4 libgcc_s.a shr.o
5 libc.a shr_64.o
6 ..
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
>
>ldd /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so needs:
/opt/freeware/lib/libpq.a(libpq.so.5)
/opt/freeware/lib/libodbc.a(libodbc.so.2)
/opt/freeware/lib/libodbcinst.a(libodbcinst.so.2)
/opt/freeware/lib/libgcc_s.a(shr.o)
/usr/lib/libc.a(shr_64.o)
/opt/freeware/lib/libtcl8.6.a(libtcl8.6.so)
/opt/freeware/lib/libldap_r.a(libldap_r-2.4.so.2)
/opt/freeware/lib/libintl.a(libintl.so.8)
/usr/lib/libpthreads.a(shr_xpg5_64.o)
/opt/freeware/lib/libcrypto.a(libcrypto.so.1.0.2)
/opt/freeware/lib/libssl.a(libssl.so.1.0.2)
/opt/freeware/lib/libiconv.a(libiconv.so.2)
/usr/lib/libpthread.a(shr_xpg5_64.o)
/unix
/usr/lib/libcrypt.a(shr_64.o)
/usr/lib/libdl.a(shr_64.o)
/opt/freeware/lib/liblber.a(liblber-2.4.so.2)
/opt/freeware/lib/libsasl2.a(libsasl2.so.3)
/usr/lib/libs.a(shr_64.o)
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
I very appreciate you shed a light to this issue.
Regards
Hilda
Вложения
Hello,
We don't have an AIX machine to test on.
I would try the latest version, you can get it https://github.com/postgresql-interfaces/psqlodbc
I'd also post this there as there may be someone using AIX that can help out.
Dave Cramer
www.postgres.rocks
On Fri, 31 Oct 2025 at 08:07, <hlloo@hko.gov.hk> wrote:
Dear Guru,
The issue happened when I do below with 'Illegal instruction(coredump):
>isql -v test_pg
Illegal instruction(coredump)
>odbcinst -j
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /etc/odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
Illegal instruction(coredump)
My Questions:
1. Does psqlodbc is not supported to install or use with AIX 64bit server as remote connecting to other postgres server?
2. My download of psqlodbc is wrong?
3. Any clues my steps in-correct or any good way to install psqlodbc ? (I eventally need this driver to configure AIX oracle DBlink to read Postgres Data)
Below are the setup step I did:
I download psqlodbc-13.02.0000.tar.gz from https://ftp.postgresql.org/pub/odbc/versions.old/src/psqlodbc-13.02.0000.tar.gz
cd psqlodbc-13.02.0000
chown -R root:system *
autoconfig -i
./configure ODBCVER=0x0351 CPPFLAGS="-DSQLCOLATTRIBUTE_SQLLEN" --with-libpq=/usr/local/pgsql --with-unixodbc=/opt/freeware/bin --disable-dependency-tracking --prefix=/usr/local \
--build=powerpc-ibm-aix --host=powerpc-ibm-aix CC="gcc -maix64" CXX="g++ -maix64"
...
checking for library containing SQLGetPrivateProfileString... -lodbcinst
checking for pthread_create in -lpthreads... yes
checking for PQsetSingleRowMode in -lpq... no
configure: error: libpq library version >= 9.2 is required <==== [found no solution to fix error like this]
Thus, then try manual compile:
# Build object files individually
for file in *.c; do
if [ "$file" != "odbcapi30.c" ]; then
gcc $CFLAGS -c -fPIC $file -o ${file%.c}.o
fi
done
gcc $CFLAGS -DSQLColAttribute=my_SQLColAttribute -c -fPIC odbcapi30.c -o odbcapi30.o
gcc -maix64 -shared -o psqlodbc.so *.o $LDFLAGS $LIBS -Wl,-G -Wl,-brtl
>ls psqlodbc*
psqlodbc.c psqlodbc.def psqlodbc.dsp psqlodbc.h psqlodbc.o psqlodbc.rc psqlodbc.reg psqlodbc.sln psqlodbc.so psqlodbc.vcproj psqlodbca.def
My environment
I target to have psqlodbc installing to AIX7.2:
>oslevel -s
7200-04-02-2028
>prtconf -c
CPU Type: 64-bit
>bootinfo -K
64
ODBC driver version 2.3.9
PostgreSQL version 11.9
Due to AIX 7.2 available psqlodbc that I can find and trying the download psqlodbc-13.02.0000 download
Currently has unixodbc installed and OK to use.
resulted coredump
>file /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so: 64-bit XCOFF executable or object module not stripped
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
>dump -Hv -X64 /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so:
***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x00000268 0x0000063b 0x00000096
#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000007 0x00009da8 0x00002bca 0x00009e3e
***Import File Strings***
INDEX PATH BASE MEMBER
0 /opt/freeware/lib:/usr/lib:/lib
1 libpq.a libpq.so.5
2 libodbc.a libodbc.so.2
3 libodbcinst.a libodbcinst.so.2
4 libgcc_s.a shr.o
5 libc.a shr_64.o
6 ..
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
>
>ldd /oracle/psqlodbc-13.02.0000/psqlodbc.so
/oracle/psqlodbc-13.02.0000/psqlodbc.so needs:
/opt/freeware/lib/libpq.a(libpq.so.5)
/opt/freeware/lib/libodbc.a(libodbc.so.2)
/opt/freeware/lib/libodbcinst.a(libodbcinst.so.2)
/opt/freeware/lib/libgcc_s.a(shr.o)
/usr/lib/libc.a(shr_64.o)
/opt/freeware/lib/libtcl8.6.a(libtcl8.6.so)
/opt/freeware/lib/libldap_r.a(libldap_r-2.4.so.2)
/opt/freeware/lib/libintl.a(libintl.so.8)
/usr/lib/libpthreads.a(shr_xpg5_64.o)
/opt/freeware/lib/libcrypto.a(libcrypto.so.1.0.2)
/opt/freeware/lib/libssl.a(libssl.so.1.0.2)
/opt/freeware/lib/libiconv.a(libiconv.so.2)
/usr/lib/libpthread.a(shr_xpg5_64.o)
/unix
/usr/lib/libcrypt.a(shr_64.o)
/usr/lib/libdl.a(shr_64.o)
/opt/freeware/lib/liblber.a(liblber-2.4.so.2)
/opt/freeware/lib/libsasl2.a(libsasl2.so.3)
/usr/lib/libs.a(shr_64.o)
~root@gapoc1:/oracle/psqlodbc-13.02.0000~
I very appreciate you shed a light to this issue.
Regards
Hilda