FreeBSD Python 缺少头文件

FreeBSD Python 缺少头文件

我正在使用 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命令来查看它是如何构建的。这应该可以让您了解手动编译时做错了什么。

相关内容