Thread: Build ODBC Drivers for Solaris with TLS support
Hello,
I’m supporting a project that is migrating a database from on-prem Oracle to Azure PostgreSQL. There are DB links from one oracle DB to the one that is migrating. The on-prem Oracle DB is on Solaris, so we have built unixODBC, and pulled the source for the ODBC PostgreSQL drivers and built them too.
Using isql to try and connect we received an error about setting SSL options because the Azure system is set to require SSL on the connections. If I add sslmode = require in the odbc.ini, we get and error about using ssl options are invalid when SSL support is not compiled in. I see mention the ODBC driver supports SSL, but cannot see how to run configure to have it compiled it.
Is there any direction you can provide on this? It would be much appreciated.
Thank you!
David
David Jensen
Senior Professional: Programmer Analyst, Global Outsourcing Services
T +1 610.624.3401
djensen8@dxc.com
DXC Technology
Virtual Office
Pen Argyl, PA 18072
dxc.technology / Twitter / Facebook / LinkedIn
On 23/10/2020 02:16, Jensen, David E wrote: > Hello, > > I'm supporting a project that is migrating a database from on-prem > Oracle to Azure PostgreSQL. There are DB links from one oracle DB to > the one that is migrating. The on-prem Oracle DB is on Solaris, so > we have built unixODBC, and pulled the source for the ODBC PostgreSQL > drivers and built them too. > > Using isql to try and connect we received an error about setting SSL > options because the Azure system is set to require SSL on the > connections. If I add sslmode = require in the odbc.ini, we get and > error about using ssl options are invalid when SSL support is not > compiled in. I see mention the ODBC driver supports SSL, but cannot > see how to run configure to have it compiled it. > > Is there any direction you can provide on this? It would be much > appreciated. Hi! The psqlODBC driver uses PostgreSQL's libpq library for connecting to the server. It sounds like you're using a version of libpq that's not built with OpenSSL. Are you using a pre-built package for libpq or building it from sources? If you're building libpq from PostgreSQL sources, you need to pass the "configure --with-openssl" flag to PostgreSQL's configure. - Heikki
Heikki, Thank you for the quick response. To build the ODBC drivers, I used the package from the PostgreSQL site for solaris10-sparc64- https://ftp.postgresql.org/pub/binary/v11.9/solaris/solaris10/sparc/postgresql-11.9-S10.sparc-64.tar.bz2 After I send this message to the list I started wondering about the PG install itself, so I guess I was on the right track. Are those packages not built with SSL support? Regards, David David Jensen Senior Professional: Programmer Analyst, Global Outsourcing Services T +1 610.624.3401 djensen8@dxc.com DXC Technology Virtual Office Pen Argyl, PA 18072 dxc.technology / Twitter / Facebook / LinkedIn -----Original Message----- From: Heikki Linnakangas <hlinnaka@iki.fi> Sent: Friday, October 23, 2020 6:13 AM To: Jensen, David E <djensen8@dxc.com>; pgsql-odbc@postgresql.org Subject: Re: Build ODBC Drivers for Solaris with TLS support On 23/10/2020 02:16, Jensen, David E wrote: > Hello, > > I'm supporting a project that is migrating a database from on-prem > Oracle to Azure PostgreSQL. There are DB links from one oracle DB to > the one that is migrating. The on-prem Oracle DB is on Solaris, so we > have built unixODBC, and pulled the source for the ODBC PostgreSQL > drivers and built them too. > > Using isql to try and connect we received an error about setting SSL > options because the Azure system is set to require SSL on the > connections. If I add sslmode = require in the odbc.ini, we get and > error about using ssl options are invalid when SSL support is not > compiled in. I see mention the ODBC driver supports SSL, but cannot > see how to run configure to have it compiled it. > > Is there any direction you can provide on this? It would be much > appreciated. Hi! The psqlODBC driver uses PostgreSQL's libpq library for connecting to the server. It sounds like you're using a versionof libpq that's not built with OpenSSL. Are you using a pre-built package for libpq or building it from sources? If you're building libpq from PostgreSQL sources, you need to pass the "configure --with-openssl" flag to PostgreSQL's configure. - Heikki
On 23/10/2020 15:19, Jensen, David E wrote: > Heikki, > > Thank you for the quick response. To build the ODBC drivers, I used the package from the PostgreSQL site for solaris10-sparc64- https://ftp.postgresql.org/pub/binary/v11.9/solaris/solaris10/sparc/postgresql-11.9-S10.sparc-64.tar.bz2 > > After I send this message to the list I started wondering about the PG install itself, so I guess I was on the right track. Are those packages not built with SSL support? I don't know, unfortunately. Does Solaris have 'ldd' or similar, to check what libraries libpq.so depends on? On my Linux system: $ ldd <path to pgsql installation>/lib/libpq.so linux-vdso.so.1 (0x00007ffef63f6000) libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007facf52d9000) libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007facf4ff0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007facf4fcf000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007facf4e0e000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007facf4e09000) /lib64/ld-linux-x86-64.so.2 (0x00007facf53e7000) The libssl and libcrypto dependencies come from building with OpenSSL. - Heikki
David Jensen
Senior Professional: Programmer Analyst, Global Outsourcing Services
T +1 610.624.3401
djensen8@dxc.com
DXC Technology
Virtual Office
Pen Argyl, PA 18072
dxc.technology / Twitter / Facebook / LinkedIn
Sent: Friday, October 23, 2020 9:22 AM
To: Jensen, David E <djensen8@dxc.com>; pgsql-odbc@postgresql.org <pgsql-odbc@postgresql.org>
Subject: Re: Build ODBC Drivers for Solaris with TLS support
> Heikki,
>
> Thank you for the quick response. To build the ODBC drivers, I used the package from the PostgreSQL site for solaris10-sparc64 - https://ftp.postgresql.org/pub/binary/v11.9/solaris/solaris10/sparc/postgresql-11.9-S10.sparc-64.tar.bz2
>
> After I send this message to the list I started wondering about the PG install itself, so I guess I was on the right track. Are those packages not built with SSL support?
I don't know, unfortunately. Does Solaris have 'ldd' or similar, to
check what libraries libpq.so depends on? On my Linux system:
$ ldd <path to pgsql installation>/lib/libpq.so
linux-vdso.so.1 (0x00007ffef63f6000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1
(0x00007facf52d9000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
(0x00007facf4ff0000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007facf4fcf000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007facf4e0e000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007facf4e09000)
/lib64/ld-linux-x86-64.so.2 (0x00007facf53e7000)
The libssl and libcrypto dependencies come from building with OpenSSL.
- Heikki
On 23/10/2020 17:01, Jensen, David E wrote: > It does 🙂. It would appear that they aren't built with SSL - so I > guess my only option would be to build from source myself then? Yeah, I'm afraid so. - Heikki
I figured that would be the answer. Thanks for the help and information. David Jensen Senior Professional: Programmer Analyst, Global Outsourcing Services T +1 610.624.3401 djensen8@dxc.com DXC Technology Virtual Office Pen Argyl, PA 18072 dxc.technology / Twitter / Facebook / LinkedIn -----Original Message----- From: Heikki Linnakangas <hlinnaka@iki.fi> Sent: Friday, October 23, 2020 10:08 AM To: Jensen, David E <djensen8@dxc.com>; pgsql-odbc@postgresql.org Subject: Re: Build ODBC Drivers for Solaris with TLS support On 23/10/2020 17:01, Jensen, David E wrote: > It does 🙂. It would appear that they aren't built with SSL - so I > guess my only option would be to build from source myself then? Yeah, I'm afraid so. - Heikki