我正在尝试使用目标powerpc-e500mc-eabi为PowerPC e500mc构建交叉编译器。正如一些网站所提到的,我首先构建了一个bootstrap编译器。然后尝试用它编译newlib。但我得到了一些错误,
from pandas import read_hdf, DatetimeIndex
from datetime import timedelta
import pytz
def getRows(file, dataset, index):
if len(index) == 1:
start = index.date[0]
end = (index.date + timedelta(days=1))[0]
else:
start = index.date.min()
end = (index.date.max() + timedelta(days=1))
where = '(index >= "' + str(start) + '") & (index < "' str(end) + '")'
df = read_hdf(file, dataset, where=where)
df = df.groupby(level=0).last().reindex(index, method='pad')
return df
我想知道,我们可以在没有newLib的情况下直接编译GCC交叉编译器。此外,任何人都可以告诉我powerpc e500mc架构的确切先决条件。我有GMP,MPC,MPFR,BinUtils不确定是否需要newLib。
答案 0 :(得分:1)
你可以在没有任何C库的情况下构建gcc,不需要newlib。请从下面的crosstool-ng构建中找到依赖项列表。
您可以手动构建所有内容,这显然是您尝试做的事情。这是可能的,但要记住各种约束,例如,如果您的文件系统不区分大小写或者您在源目录中构建,则构建可能会失败。除了所有依赖项及其版本。
你让crosstool-ng构建你的交叉工具链。 Crosstool-ng主要是自包含的,几乎没有外部依赖。它将为您下载并构建正确版本的所有依赖项,并提供各种示例配置。它将检查像不区分大小写的文件系统之类的障碍。它允许您以与配置Linux内核类似的方式配置交叉工具链。我已经在几个主机系统上使用它多年来构建了各种交叉工具链而没有任何问题,包括Linux,OS X(自制程序)和Windows(cygwin)。你可以在这里找到它:http://crosstool-ng.org/。
我将列出通过crosstool-ng构建交叉工具链所需的步骤。我今天在Windows(cygwin)上使用来自git的crosstool-ng测试了这个设置。
按照
中的步骤操作docs / 2 - 安装crosstool-NG.txt。
按照
中的步骤操作docs / 3 - 配置toolchain.txt。
mkdir powerpc-e500v2-eabi
cd powerpc-e500v2-eabi
ct-ng powerpc-e500v2-linux-gnuspe
最后一步将从样本中创建一个配置,我认为该配置与您想要的相似。在下一步中,我们将调整此配置,标准为
ct-ng menuconfig
ct-ng build.4
Crosstool-ng将下载并构建以下依赖项。
它将在
中安装交叉工具链${HOME}/x-tools/powerpc-e500v2-eabi.
您可以在配置中指定其他安装前缀。
答案 1 :(得分:0)
可以通过创建指向 powerpc-e500mc-eabi-gcc 的符号链接 powerpc-e500mc-eabi-cc 来修复此构建问题。