首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Ubuntu 14.04中编译GCC 3.4.6时出错

在Ubuntu 14.04中编译GCC 3.4.6时出错
EN

Stack Overflow用户
提问于 2014-10-15 05:57:57
回答 1查看 5.4K关注 0票数 10

我试图在Ubuntu14.04 x64中编译GCC 3.4.6。它已经有了更新版本的GCC-4.8.2。

我负责./configure --prefix=/usr/local/gcc-3.4make

我最终犯了几个错误,我可以在搜索中找到解决方案。

错误1

误差2

最后,我在这个错误中结束了,我找不到任何解决方案。

代码语言:javascript
复制
../../gcc/unwind-dw2.c: In function `uw_frame_state_for':
../../gcc/unwind-dw2.c:1031: error: field `info' has incomplete type
make[2]: *** [libgcc/32/unwind-dw2.o] Error 1
make[2]: Leaving directory `/home/hp-11/Documents/gcc-3.4.6/build/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/home/hp-11/Documents/gcc-3.4.6/build/gcc'
make: *** [all-gcc] Error 2

有人知道怎么修吗?如果需要更多的细节,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-15 06:19:44

这是众所周知的老问题,关于siginfo和siginfo_t。

你所需要的就是看看你GCC的资料,所有地方都是这样

代码语言:javascript
复制
struct rt_sigframe {            \
  int sig;              \
  struct siginfo *pinfo;          \
  void *puc;              \
  struct siginfo info;            \
  struct ucontext uc;           \
} *rt_ = (CONTEXT)->cfa;          \
sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;   \

这个在gcc/config/i 386/linux.h内部,但是您的拱形可能不同。

手动将struct siginfo *替换为siginfo_t *,将struct siginfo替换为siginfo_t,使其兼容最新的POSIX。在每个rt_sigframe声明中,最常见的有两个这样的地方,包括您的info问题字段。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26375445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档