如何使用自定义OpenSSL编译Python 3.4?

斯科特·弗雷泽(Scott Frazer)

我在非标准位置安装了自己的OpenSSL(/my/path出于本示例的目的),并且我希望针对源代码编译Python 3.4时可以以此为基础进行构建。我试过的是这个(目录缩写)

CPPFLAGS="-I/my/path/include -I/my/path/include/openssl" ./configure --prefix=/my/path/

我也尝试了用C_INCLUDE_PATH冒号分隔的路径。

然后,我运行make并得到以下信息:

building '_ssl' extension
gcc -pthread -fPIC -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I./Include -I. -IInclude -I/my/path/include -I/my/path/include/openssl -I/usr/local/include -I/my/path/Python-3.4.0/Include -I/my/path/Python-3.4.0 -c /my/path/Python-3.4.0/Modules/_ssl.c -o build/temp.linux-x86_64-3.4/my/path/Python-3.4.0/Modules/_ssl.o
gcc -pthread -shared build/temp.linux-x86_64-3.4/my/path/Python-3.4.0/Modules/_ssl.o -L/my/path/lib -L/usr/local/lib -lssl -lcrypto -o build/lib.linux-x86_64-3.4/_ssl.cpython-34m.so
*** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-x86_64-3.4/_ssl.cpython-34m.so: undefined symbol: SSL_get0_next_proto_negotiated

它正在寻找SSL_get0_next_proto_negotiated,但是最确定的是:

$ grep SSL_get0_next_proto_negotiated /my/path/include/openssl/*
/my/path/include/openssl/ssl.h:void SSL_get0_next_proto_negotiated(const SSL *s,

我不确定自己在做什么错,有什么想法吗?

斯科特·弗雷泽(Scott Frazer)

经过大量的梳理,我设法弄清楚了。这是一堆环境变量...我想我可能做得有些过分,但这基本上可以解决问题:

# OpenSSL 1.0.1g
./config shared --prefix=/my/path --openssldir=/my/path/openssl
make
make install

# Python 3.4
export LDFLAGS="-L/my/path/lib/ -L/my/path/lib64/"
export LD_LIBRARY_PATH="/my/path/lib/:/my/path/lib64/"
export CPPFLAGS="-I/my/path/include -I/my/path/include/openssl"
./configure --prefix=/my/path/
make
make install

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Azure B2c 中使用 IdentityServer3 或 4 作为自定义策略

来自分类Dev

D3js v4。如何确定自定义事件?

来自分类Dev

如何使用CSS自定义属性每3秒将4个孩子在90度的圆周上旋转并转换?

来自分类Dev

jqgrid 4-4-3版本可以自定义asc desc

来自分类Dev

使用自定义Lucene Analyzer的Neo4j 3x和旧版node_auto_indexing

来自分类Dev

使用自定义openssl版本编译python时的Coredump

来自分类Dev

使用自定义的openssl版本编译python时的Coredump

来自分类Dev

如何在flask的模板文件中使用python3自定义函数?

来自分类Dev

Bootstrap 3:如何编译和下载960px的自定义宽度?如何更新?

来自分类Dev

如何在openssl中使用自定义迭代和密钥大小解密使用CryptoJs3 +库加密的文件

来自分类Dev

单击自定义按钮将被执行3-4次

来自分类Dev

Python 3中的自定义排序

来自分类Dev

Log4Net自定义附加程序:如何记录将使用自定义附加程序写入的消息?

来自分类Dev

如何使用NumPy创建自定义4x4数组?

来自分类Dev

如何使用python3应用中的GCP监控记录自定义性能指标

来自分类Dev

无法在Python 3中打印列表(range(4 ** 4 ** 4))

来自分类Dev

scala-如何使用json4s使用SimpleDateFormat自定义日期格式

来自分类Dev

CKEDITOR 4如何在使用自定义命令使用CTRL + Z撤消之前制作快照

来自分类Dev

使用自定义的“ bind3rd”函数时,c ++编译时带有模板错误

来自分类Dev

Galaxy S2,S3和S4上的自定义布局重绘问题

来自分类Dev

如何配置Neo4j浏览器以使用自定义REST端点?

来自分类Dev

如何使用Hibernate 4实现自定义线程安全序列?

来自分类Dev

如何在ANTLR 4中使用自定义标记和上下文

来自分类Dev

如何使用launch4j与Java自定义运行时的形象?

来自分类Dev

如何使用背包V4创建自定义存储方法

来自分类Dev

Gmaps4Rails第2版:如何使用自定义属性删除标记?

来自分类Dev

Laravel 4:如何使Auth组件使用users表中的自定义ID

来自分类Dev

如何使用Hibernate 4实现自定义线程安全序列?

来自分类Dev

如何在ANTLR 4中使用自定义标记和上下文

Related 相关文章

  1. 1

    如何在 Azure B2c 中使用 IdentityServer3 或 4 作为自定义策略

  2. 2

    D3js v4。如何确定自定义事件?

  3. 3

    如何使用CSS自定义属性每3秒将4个孩子在90度的圆周上旋转并转换?

  4. 4

    jqgrid 4-4-3版本可以自定义asc desc

  5. 5

    使用自定义Lucene Analyzer的Neo4j 3x和旧版node_auto_indexing

  6. 6

    使用自定义openssl版本编译python时的Coredump

  7. 7

    使用自定义的openssl版本编译python时的Coredump

  8. 8

    如何在flask的模板文件中使用python3自定义函数?

  9. 9

    Bootstrap 3:如何编译和下载960px的自定义宽度?如何更新?

  10. 10

    如何在openssl中使用自定义迭代和密钥大小解密使用CryptoJs3 +库加密的文件

  11. 11

    单击自定义按钮将被执行3-4次

  12. 12

    Python 3中的自定义排序

  13. 13

    Log4Net自定义附加程序:如何记录将使用自定义附加程序写入的消息?

  14. 14

    如何使用NumPy创建自定义4x4数组?

  15. 15

    如何使用python3应用中的GCP监控记录自定义性能指标

  16. 16

    无法在Python 3中打印列表(range(4 ** 4 ** 4))

  17. 17

    scala-如何使用json4s使用SimpleDateFormat自定义日期格式

  18. 18

    CKEDITOR 4如何在使用自定义命令使用CTRL + Z撤消之前制作快照

  19. 19

    使用自定义的“ bind3rd”函数时,c ++编译时带有模板错误

  20. 20

    Galaxy S2,S3和S4上的自定义布局重绘问题

  21. 21

    如何配置Neo4j浏览器以使用自定义REST端点?

  22. 22

    如何使用Hibernate 4实现自定义线程安全序列?

  23. 23

    如何在ANTLR 4中使用自定义标记和上下文

  24. 24

    如何使用launch4j与Java自定义运行时的形象?

  25. 25

    如何使用背包V4创建自定义存储方法

  26. 26

    Gmaps4Rails第2版:如何使用自定义属性删除标记?

  27. 27

    Laravel 4:如何使Auth组件使用users表中的自定义ID

  28. 28

    如何使用Hibernate 4实现自定义线程安全序列?

  29. 29

    如何在ANTLR 4中使用自定义标记和上下文

热门标签

归档