我正在尝试在运行Linux 2.6.31.8 armv5tel的Buffalo LinkStation Pro Duo(unlocking之后)编译GCC 4.7.2。
不幸的是,make
会引发一些错误,从
gcc -c -DIN_GCC_FRONTEND -g -fkeep-inline-functions -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-formIn file included from ../../gcc-4.7.2/gcc/tree.h:32,
from ../../gcc-4.7.2/gcc/c-lang.c:27:
../../gcc-4.7.2/gcc/real.h:53: error: 'SIZEOF_LONG' undeclared here (not in a function)
In file included from ../../gcc-4.7.2/gcc/tree.h:32,
from ../../gcc-4.7.2/gcc/c-lang.c:27:
../../gcc-4.7.2/gcc/real.h:87:5: error: division by zero in #if
../../gcc-4.7.2/gcc/real.h:87:5: error: division by zero in #if
../../gcc-4.7.2/gcc/real.h:90:6: error: division by zero in #if
real.h
的第53行读取unsigned long sig[SIGSZ];
,其中SIGSZ
在第40行定义为
#define SIGSZ (SIGNIFICAND_BITS / HOST_BITS_PER_LONG)
第87行是#if REAL_WIDTH == 1
,REAL_WIDTH
定义从第72行开始为
#define REAL_WIDTH \
(REAL_VALUE_TYPE_SIZE/HOST_BITS_PER_WIDE_INT \
+ (REAL_VALUE_TYPE_SIZE%HOST_BITS_PER_WIDE_INT ? 1 : 0)) /* round up */
这似乎归结为HOST_BITS_PER_*
为零。我是否必须使用某个configure
参数手动定义这些参数,或者如何解决此问题?
更新
config.log
包含以下错误:
conftest.c:10:19: error: ppl_c.h: No such file or directory
conftest.c: In function 'main':
conftest.c:16: error: 'choke' undeclared (first use in this function)
conftest.c:16: error: (Each undeclared identifier is reported only once
conftest.c:16: error: for each function it appears in.)
conftest.c:16: error: expected ';' before 'me'
configure:5708: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define LT_OBJDIR ".libs/"
| /* end confdefs.h. */
| #include "ppl_c.h"
| int
| main ()
| {
|.
| #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 11
| choke me
| #endif
|.
| ;
| r
答案 0 :(得分:1)
SIZEOF_LONG
应#define
d configure
位于文件auto-host.h
中auto-host.h
。您的/* The size of `long', as computed by sizeof. */
#ifndef USED_FOR_TARGET
#define SIZEOF_LONG 8
#endif
应包含以下内容:
config.log
如果上述内容不存在(在您的情况下看起来确实如此),请检查checking size of long
是否有错误。搜索字符串{{1}}周围的错误。
答案 1 :(得分:1)
config.log
以发现conftest.c:10:19: error: ppl_c.h: No such file or directory
configure
创建Makefile并返回成功错误代码)。第一个谷歌点击this post,显示我没有提供ppl dependency。checked_float.inlines.hh:1012: error: 'frexpl' was not declared in this scope
make
向我提出了另一个“有用”错误:gcc/../libcpp/include/line-map.h:66: error: 'CHAR_BIT'
C_INCLUDE_PATH
ending with a colon(我已经遇到该帖子中提到的checking LIBRARY_PATH variable... contains current directory
错误,但没有考虑检查其他变量) 编译仍在运行,到目前为止还没有错误......