如何解决pyenv 如何在 OpenBSD 上检测ereadline?
OpenBSD 基础安装中附带的 GCC 和 readline 非常旧。要解决此问题,用户可以使用 pkg_add
安装更新版本(gcc 8.4 和 readline 7)。但是,它们被重命名为 /usr/local/bin/egcc
和 /usr/local/include/ereadline
,这会在 pyenv 下构建 Python 时产生问题。
我可以通过设置 CC 变量 (export CC=/usr/local/bin/egcc
) 来让 pyenv 使用 egcc,但是我找不到让它检测 ereadline 的方法。这意味着每个构建都会发出错误 WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
如何扩展 pyenv 构建的库检测以获取 /usr/local/include/ereadline
?
为了记录,(e)readline 在 OpenBSD 上的布局如下所示:
/usr/local/include/ereadline/readline/chardefs.h
/usr/local/include/ereadline/readline/history.h
/usr/local/include/ereadline/readline/keymaps.h
/usr/local/include/ereadline/readline/readline.h
/usr/local/include/ereadline/readline/rlconf.h
/usr/local/include/ereadline/readline/rlstdc.h
/usr/local/include/ereadline/readline/rltypedefs.h
/usr/local/include/ereadline/readline/tilde.h
/usr/local/info/ehistory.info
/usr/local/info/ereadline.info
/usr/local/info/erluserman.info
/usr/local/lib/libehistory.a
/usr/local/lib/libehistory.so.2.0
/usr/local/lib/libereadline.a
/usr/local/lib/libereadline.so.2.0
/usr/local/man/man3/ehistory.3
/usr/local/man/man3/ereadline.3
/usr/local/share/doc/readline/CHANGES
/usr/local/share/doc/readline/INSTALL
/usr/local/share/doc/readline/README
/usr/local/share/readline/excallback.c
/usr/local/share/readline/fileman.c
/usr/local/share/readline/hist_erasedups.c
/usr/local/share/readline/hist_purgecmd.c
/usr/local/share/readline/histexamp.c
/usr/local/share/readline/manexamp.c
/usr/local/share/readline/rl-callbacktest.c
/usr/local/share/readline/rl-fgets.c
/usr/local/share/readline/rl.c
/usr/local/share/readline/rlbasic.c
/usr/local/share/readline/rlcat.c
/usr/local/share/readline/rlevent.c
/usr/local/share/readline/rlptytest.c
/usr/local/share/readline/rltest.c
/usr/local/share/readline/rlversion.c
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。