在Alpine上从源代码安装GCC

22

尝试在Alpine上安装GCC 6.4.0时,我遇到了以下问题:

checking for the correct version of gmp.h... yes
checking for the correct version of mpfr.h... yes
checking for the correct version of mpc.h... yes
checking for the correct version of the gmp/mpfr/mpc libraries... no

但是在/usr/lib中,这似乎是标准的查找目录,我有:

libgmp.a
libgmp.so
libgmp.so.10
libgmp.so.10.3.2
libmpc.so.3
libmpc.so.3.0.0
libmpfr.so.4
libmpfr.so.4.1.5

可能出了什么问题?


1
config.log 可能会详细说明检查失败的原因。 - larsks
3个回答

61

解决了我在Alpine上使用Emacs Org-Roam时遇到的问题。我一直收到以下错误信息:“没有emacsql sqlite可用的二进制文件,中止”。尝试直接安装gcc和cmake并没有起作用,但上述方法有效。谢谢。 - undefined

16

gcc源代码目录中使用./contrib/download_prerequisites脚本是安装编译gcc所需的所有库的最佳方法。这将下载支持库并创建符号链接,使它们成为gcc构建过程的一部分自动构建。

在Alpine Linux上编译gcc版本6.4.0的步骤如下:

apk add --no-cache make build-base
wget https://ftp.gnu.org/gnu/gcc/gcc-6.4.0/gcc-6.4.0.tar.gz
tar -xzvf gcc-6.4.0.tar.gz
cd gcc-6.4.0
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
./../gcc-6.4.0/configure --prefix=$HOME/GCC-6.4.0 --disable-multilib
make all-gcc
make all-target-libgcc
make install-gcc
make install-target-libgcc

3

事实证明,在这种特定情况下,需要安装mpc1-dev、gmp-dev或mpfr-dev。我缺少的是mpc1-dev。

sudo apk add mpc1-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接