是否可以在CPython中禁用_FILE_OFFSET_BITS == 64(作为Yocto / Poky包)?

时间:2017-05-24 19:00:28

标签: python yocto cpython

我有一个依赖Python2.7的bitbake配方。

我正在尝试编译一个C文件(由CFFI生成),该文件包含Python.h和一个包含fts.h的库标题。它失败了

#error "<fts.h> cannot be used with -D_FILE_OFFSET_BITS==64"

我注意到_FILE_OFFSET_BITS中的64设置为pyconfig.h:1136,并且该文件是自动生成的,因此我想知道是否可以阻止此#define从被包括在内,代价是无法访问文件&gt; 2GB。

为了记录,Python正在通过

包含在内

RDEPENDS_${PN} += "python"

文件中的

/common/recipes-core/packagegroups/nativesdk-packagegroup-swi-toolchain.bb

1 个答案:

答案 0 :(得分:2)

哦,结果很简单!

文件/禁用-lfs.patch

--- Python-2.7.3.orig/configure.in
+++ Python-2.7.3/configure.in
@@ -1449,7 +1449,7 @@
 # structures (such as rlimit64) without declaring them. As a
 # work-around, disable LFS on such configurations

-use_lfs=yes
+use_lfs=no
 AC_MSG_CHECKING(Solaris LFS bug)
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #define _LARGEFILE_SOURCE 1

蟒天然_%。bbappend

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://disable-lfs.patch"