我正在使用 FreeBSD 11、Python 3.7 和 clang 8.0.0,并且我正在尝试使用pip
.但是,例如,当我尝试安装软件包时pycurl
,我收到一条错误消息,指出找不到 C 头文件limits.h
。
我使用这个命令来安装pycurl
:
pip3.7 install pycurl
错误:
In file included from src/pycurl.h:5:<br/>
/usr/local/include/python3.7m/Python.h:11:10: fatal error: 'limits.h' file not found
#include <limits.h>
^~~~~~~~~~
1 error generated.
error: command 'cc' failed with exit status 1
为了获取丢失的头文件,我安装了以下 FreeBSD 软件包:
- amd64-binutils-2.33.1_2,1
- amd64-gcc-6.4.0_8
- amd64-xtoolchain-gcc-0.4_1
- llvm-devel-11.0.d20200519 # 是的,我知道这没有帮助,但我越来越绝望
- mpc-1.1.0_2
- mpfr-4.0.2
- xtoolchain-llvm80-0.1
这会安装该limits.h
文件,但现在当我编译时找不到syslimits.h
.
我用这个命令来安装pycurl
:
pip3.7 install --global-option=build_ext --global-option=/x86_64-portbllib/gcc9/gcc/x86_64-portbld-tools/include/" pycurl
错误:
In file included from /usr/local/include/python3.7m/Python.h:11:
/usr/local/lib/gcc/x86_64-unknown-freebsd11.3/6.4.0/install-tools/include/limits.h:34:10: fatal error: 'syslimits.h' file not found
#include "syslimits.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'cc' failed with exit status 1
我需要安装哪些包才能安装 Python 包?
答案1
官方 FreeBSD 软件包已经包含ftp/py-pycurl
软件包。真的需要自己编译吗?
如果你这样做,我建议安装 FreeBSD Ports 树并运行make -C /usr/ports/ftp/py-pycurl build
命令来查看它是如何构建的。这应该可以让您了解手动编译时做错了什么。