Python and OpenSSL don't work together

Started by PostgreSQL Bugs Listabout 25 years ago2 messagesbugs
Jump to latest
#1PostgreSQL Bugs List
pgsql-bugs@postgresql.org

Justin Clift (jclift@iprimus.com.au) reports a bug with a severity of 3
The lower the number the more severe it is.

Short Description
Python and OpenSSL don't work together

Long Description
Hi,

When testing which ./configure options work, I've just discovered that something in the ./configure process generates the incorrect options when with --with-python and --with-openssl are given, such that the python interface doesn't find the openssl headers when it wants them.

OpenSSL is definitely compiled and working correctly in /opt/openssl, and the ssl.h file is truly at /opt/openssl/include/openssl/ssl.h

Please see the attached code for what I mean (below).

Sample Code
./configure --p=/opt/postgresql71 --enable-syslog --with-openssl=/opt/openssl --with-python --with-perl
<snip successfull configure messages>
<snip general make messages>
make[4]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpq'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpq'
make -f Makefile all
make[4]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
make[4]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
make[3]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/perl5'
make[3]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/python'
make -C ../../../src/interfaces/libpq all
make[4]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpq'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/libpq'
make -f Makefile
make[4]: Entering directory `/archive/install/postgresql-7.1RC1/src/interfaces/python'
gcc -I../../../src/interfaces/libpq -I../../../src/include -g -O2 -I/usr/local/include/python1.5 -I/usr/local/include/python1.5 -DHAVE_CONFIG_H -c ./pgmodule.c
In file included from ./pgmodule.c:31:
../../../src/interfaces/libpq/libpq-fe.h:29: openssl/ssl.h: No such file or directory
make[4]: *** [pgmodule.o] Error 1
make[4]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/python'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces/python'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/archive/install/postgresql-7.1RC1/src/interfaces'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/archive/install/postgresql-7.1RC1/src'
make: *** [all] Error 2
$

No file was uploaded with this report

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PostgreSQL Bugs List (#1)
Re: Python and OpenSSL don't work together

Justin Clift (jclift@iprimus.com.au) reports a bug with a severity of 3
When testing which ./configure options work, I've just discovered that something in the ./configure process generates the incorrect options when with --with-python and --with-openssl are given, such that the python interface doesn't find the openssl headers when it wants them.

Looks like interface/python's GNUmakefile and Setup.in.raw need to
cooperate to pass additional -I fields to the compiler. Perhaps

-e 's%@INCLUDES@%$(filter -I%, $(CPPFLAGS))%g' \

in GNUmakefile and the obvious thing in Setup.in.raw. Would this allow
removing either of the explicit -I switches in Setup.in.raw?

regards, tom lane