我正在尝试为pymssql创建一个whl,其中包括支持GNUTLS的FreeTDS。我的版本在docker上的cflinuxfs2上,它基于ubuntu 14.04。这个图像包括gnutls,我使用选项编译了FreeTDS R1_00:
--enable-msdblib \
--enable-sspi \
--sysconfdir=/etc/freetds \
--with-tdsver=7.1 \
--disable-apps \
--enable-static \
--disable-shared \
--disable-server \
--disable-pool \
--disable-odbc \
--with-gnutls \
我试图通过使用-fPIC集合来遵循他们遵循的PYMSSQL documentation步骤中的指示来创建公共whl(没有tls)。
我已经设定:
LDFLAGS="-Wl,-Bstatic -Bsymbolic -l:libsybdb.a -Wl,-Bdynamic -lgnutls -Wl,-Bdynamic"
在运行设置之前。 PYMSSQL库中的PY和生成的whl不包括gnutls符号。当我导入pymssql时,我得到:
ImportError:/usr/lib64/python2.7/site-packages/pymssql.so:undefined symbol:gnutls_pem_base64_decode
如何在pymssql.so中包含对FreeTDS中使用的gnutls符号的动态引用?
有没有更好的方法来做任何这个?在一天结束时,我需要一个包含TLS支持FreeTDS的whl,所以我可以将它包含在一个烧录应用程序中,该应用程序将在cloudfoundry上的python_buildpack上运行。