ubuntu-20.04lts docker 中的 Gcc-4.8 编译问题
我正在尝试使用下面的 dockerfile 在 ubuntu-20.04 docker 中编译 gcc-4.8 。
# Pull base image.
FROM ubuntu:20.04
..............
...................
........................
## Get gcc 4.8.5 and build it
RUN wget http://mirror.keystealth.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz \
&& tar xzf gcc-4.8.5.tar.gz && \
cd gcc-4.8.5 && \
./contrib/download_prerequisites && \
cd .. && mkdir gccbuild && cd gccbuild && \
../gcc-4.8.5/configure \
--prefix="/opt/gcc" \
--enable-shared --with-system-zlib --enable-threads=posix \
--enable-__cxa_atexit --enable-checking --enable-gnu-indirect-function \
--enable-languages="c,c++" --disable-bootstrap \
&& make all && make install
当我构建图像时,make all
显示以下错误消息。
在 ../../gcc-4.8.5/gcc/cp/ except.c:1008 包含的文件中: cfns.gperf:101:1: 错误:'const char* libc_name_p(const char*, unsigned int)' 使用 'gnu_inline' 属性重新声明为内联 cfns.gperf:26:14: 注意:'const char* libc_name_p(const char*, 无符号 int)' 先前在此声明 cfns.gperf:26:14: 警告: 内联 使用了函数“const char* libc_name_p(const char*, unsigned int)”,但是 从未定义 make[2]: 离开目录 '/gccbuild/gcc' make[2]: *** [Makefile:1059: cp/ except.o] 错误 1 make[1]: 离开目录 '/gccbuild' make[1]: *** [Makefile:3920: all-gcc] 错误 2 make: *** [Makefile:865: all] 错误 2 命令 '/bin/sh -c wget http://mirror.keystealth。 org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz &&焦油 xzf gcc-4.8.5.tar.gz && cd gcc-4.8.5 && sed -i 's/ftp/http/g' contrib/download_precessions && ./contrib/download_precessions && cd ..&& mkdir gccbuild && cd gccbuild && ../gcc-4.8.5/配置 --prefix="/opt/gcc" --enable-shared --with-system-zlib --enable-threads=posix --enable-__cxa_atexit --enable-checking --enable-gnu-indirect-function --启用语言=“c,c ++”--禁用引导&&使所有 && make install' 返回一个非零代码:2
我需要这个特定的操作系统和 GCC 版本来构建我们的旧源代码。寻找在 ubuntu-20.04-LTS 中安装 Gcc-4.8
的任何建议。
提前致谢。
I'm trying to compile gcc-4.8
in ubuntu-20.04 docker using below dockerfile.
# Pull base image.
FROM ubuntu:20.04
..............
...................
........................
## Get gcc 4.8.5 and build it
RUN wget http://mirror.keystealth.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz \
&& tar xzf gcc-4.8.5.tar.gz && \
cd gcc-4.8.5 && \
./contrib/download_prerequisites && \
cd .. && mkdir gccbuild && cd gccbuild && \
../gcc-4.8.5/configure \
--prefix="/opt/gcc" \
--enable-shared --with-system-zlib --enable-threads=posix \
--enable-__cxa_atexit --enable-checking --enable-gnu-indirect-function \
--enable-languages="c,c++" --disable-bootstrap \
&& make all && make install
When i build the image, make all
shows below error message.
In file included from ../../gcc-4.8.5/gcc/cp/except.c:1008:
cfns.gperf:101:1: error: 'const char* libc_name_p(const char*,
unsigned int)' redeclared inline with 'gnu_inline' attribute
cfns.gperf:26:14: note: 'const char* libc_name_p(const char*, unsigned
int)' previously declared here cfns.gperf:26:14: warning: inline
function 'const char* libc_name_p(const char*, unsigned int)' used but
never defined make[2]: Leaving directory '/gccbuild/gcc' make[2]: ***
[Makefile:1059: cp/except.o] Error 1 make[1]: Leaving directory
'/gccbuild' make[1]: *** [Makefile:3920: all-gcc] Error 2 make: ***
[Makefile:865: all] Error 2 The command '/bin/sh -c wget
http://mirror.keystealth.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz && tar
xzf gcc-4.8.5.tar.gz && cd gcc-4.8.5 && sed -i 's/ftp/http/g'
contrib/download_prerequisites && ./contrib/download_prerequisites &&
cd .. && mkdir gccbuild && cd gccbuild && ../gcc-4.8.5/configure
--prefix="/opt/gcc" --enable-shared --with-system-zlib --enable-threads=posix --enable-__cxa_atexit --enable-checking --enable-gnu-indirect-function --enable-languages="c,c++" --disable-bootstrap && make all && make install' returned a non-zero code: 2
I need this particular OS and GCC version to build our old source code. Looking for any suggestions to install Gcc-4.8
in ubuntu-20.04-LTS.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论