Build and install gcc on FEDORA 14 X84_64

本文详细说明了如何在Fedora 8上安装GCC 4.7.0及其所需的依赖库GMP、MPFR、MPC和Zlib,包括下载源代码、配置、编译和安装的全过程。
This is a summary from the network.

1) Download gcc source code tarball gcc-4.7.0.tar.bz2 and mpfr source code tarball mpfr-3.1.0.tar.bz2 from ftp://gcc.gnu.org/pub/gcc/ and then unpack them.
2) Enter the gcc-4.7.0 directory, create a new build dir, say "mkdir build".
3) Enter "build" dir, configure gcc as below (errors are expected, we need install mpfr and gmp first):

[root@localhost build]#  ../configure --with-pkgversion=4.7.0 --prefix=/opt/gcc-4.7.0/ --program-suffix=47 --enable-threads=posix --disable-checking --enable-languages=c,c++
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
...
...
checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
http://gcc.gnu.org/install/prerequisites.html for additional info.  If
you obtained GMP, MPFR and/or MPC from a vendor distribution package,
make sure that you have installed both the libraries and the header
files.  They may be located in separate packages.

4) Enter unpacked mpfr dir, configure mpfr as below (error is expected, mpfr depends on gmp package installed):

[nasadmin@localhost mpfr-3.1.0]$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
...

checking for TLS support... yes
checking for gmp.h... no
configure: error: gmp.h can't be found, or is unusable.


5) yum install "gmp-devel.x86_64"

6) Configure mpfr again, and then build, install

[nasadmin@localhost mpfr-3.1.0]$ ./configure
...
[nasadmin@localhost mpfr-3.1.0]$make
...
su to root and then make install
[root@localhost mpfr-3.1.0]$make install

7) Clean mpfr, and move the source code to gcc dir.
[nasadmin@localhost mpfr-3.1.0]# make distclean
[nasadmin@localhost work]$ mv mpfr-3.1.0 gcc-4.7.0

8) Configure gcc again.
[root@localhost build]#../configure --with-pkgversion=4.7.0 --prefix=/opt/gcc-4.7.0/ --program-suffix=47 --enable-threads=posix --disable-checking --enable-languages=c,c++

9) Compile the source code.
[root@localhost build]#make
....
In file included from ../../gcc/builtins.c:29:0:
../../gcc/realmpfr.h:27:17: fatal error: mpc.h: No such file or directory

10) [root@localhost work]# yum install libmpc-devel.x86_64

11) root@localhost build]#make
....
gcc -c   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I/usr/share/doc/gmp-4.3.1/include -I/home/nasadmin/work/gcc-4.7.0/build/./mpfr -I/home/nasadmin/work/gcc-4.7.0/mpfr  -I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/bid -I../libdecnumber    ../../gcc/lto-compress.c -o lto-compress.o
../../gcc/lto-compress.c:28:18: fatal error: zlib.h: No such file or directory

12) [root@localhost work]# yum install zlib-devel.x86_64

13) root@localhost build]#make

14) Install new gcc.
[root@localhost build]#make install

http://www.linuxquestions.org/questions/linux-software-2/installing-gcc-4-4-2-on-fedora-8-a-780791/
http://www.mjmwired.net/resources/mjm-fedora-gcc.html
http://blog.youkuaiyun.com/bokee/article/details/5380044
ERROR: Command errored out with exit status 1: command: /usr/bin/python3 /home/bai/.local/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp2gh9fvpu cwd: /tmp/pip-install-7ez5y2ya/mpi4py_dbbe3fbfa1e74600b3ef13255a947286 Complete output (62 lines): running bdist_wheel running build running build_src using Cython 3.0.12 cythonizing 'src/mpi4py/MPI.pyx' -> 'src/mpi4py/MPI.c' running build_py creating build creating build/lib.linux-x86_64-3.6 creating build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/typing.py -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/__main__.py -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/bench.py -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/__init__.py -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/run.py -> build/lib.linux-x86_64-3.6/mpi4py creating build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/__main__.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/util.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/_core.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/server.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/pool.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/aplus.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/_base.py -> build/lib.linux-x86_64-3.6/mpi4py/futures copying src/mpi4py/futures/__init__.py -> build/lib.linux-x86_64-3.6/mpi4py/futures creating build/lib.linux-x86_64-3.6/mpi4py/util copying src/mpi4py/util/pkl5.py -> build/lib.linux-x86_64-3.6/mpi4py/util copying src/mpi4py/util/pool.py -> build/lib.linux-x86_64-3.6/mpi4py/util copying src/mpi4py/util/dtlib.py -> build/lib.linux-x86_64-3.6/mpi4py/util copying src/mpi4py/util/sync.py -> build/lib.linux-x86_64-3.6/mpi4py/util copying src/mpi4py/util/__init__.py -> build/lib.linux-x86_64-3.6/mpi4py/util copying src/mpi4py/MPI.pxd -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/__init__.pxd -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/libmpi.pxd -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/MPI.h -> build/lib.linux-x86_64-3.6/mpi4py copying src/mpi4py/MPI_api.h -> build/lib.linux-x86_64-3.6/mpi4py creating build/lib.linux-x86_64-3.6/mpi4py/include creating build/lib.linux-x86_64-3.6/mpi4py/include/mpi4py copying src/mpi4py/include/mpi4py/mpi4py.h -> build/lib.linux-x86_64-3.6/mpi4py/include/mpi4py copying src/mpi4py/include/mpi4py/pycapi.h -> build/lib.linux-x86_64-3.6/mpi4py/include/mpi4py copying src/mpi4py/include/mpi4py/mpi4py.i -> build/lib.linux-x86_64-3.6/mpi4py/include/mpi4py copying src/mpi4py/include/mpi4py/mpi.pxi -> build/lib.linux-x86_64-3.6/mpi4py/include/mpi4py running build_ext MPI configuration: [mpi] from 'mpi.cfg' checking for MPI compile and link ... x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -c _configtest.c -o _configtest.o _configtest.c:2:10: fatal error: mpi.h: 没有那个文件或目录 #include <mpi.h> ^~~~~~~ compilation terminated. failure. removing: _configtest.c _configtest.o error: Cannot compile MPI programs. Check your configuration!!! Installing mpi4py requires a working MPI implementation. If you are running on a supercomputer or cluster, check with the system administrator or refer to the system user guide. Otherwise, if you are running on a laptop or desktop computer, your may be missing the MPICH or Open MPI development package: * On Fedora/RHEL systems, run: $ sudo dnf install mpich-devel # for MPICH $ sudo dnf install openmpi-devel # for Open MPI * On Debian/Ubuntu systems, run: $ sudo apt install libmpich-dev # for MPICH $ sudo apt install libopenmpi-dev # for Open MPI ---------------------------------------- ERROR: Failed building wheel for mpi4py Failed to build mpi4py ERROR: Could not build wheels for mpi4py, which is required to install pyproject.toml-based projects
08-01
copying pyarrow/tests/data/parquet/v0.7.1.some-named-index.parquet -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/data/parquet creating build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/__init__.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/common.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/conftest.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/encryption.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_basic.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_compliant_nested_type.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_data_types.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_dataset.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_datetime.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_encryption.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_metadata.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_pandas.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_parquet_file.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet copying pyarrow/tests/parquet/test_parquet_writer.py -> build/lib.linux-x86_64-cpython-312/pyarrow/tests/parquet running build_ext creating /tmp/pip-install-dl5m4829/pyarrow_931e5c2bca224624822e920044173860/build/temp.linux-x86_64-cpython-312 -- Running cmake for pyarrow cmake -DPYTHON_EXECUTABLE=/home/mlkj/miniconda3/envs/llm/bin/python3.12 -DPython3_EXECUTABLE=/home/mlkj/miniconda3/envs/llm/bin/python3.12 "" -DPYARROW_BUILD_CUDA=off -DPYARROW_BUILD_FLIGHT=off -DPYARROW_BUILD_GANDIVA=off -DPYARROW_BUILD_DATASET=off -DPYARROW_BUILD_ORC=off -DPYARROW_BUILD_PARQUET=off -DPYARROW_BUILD_PARQUET_ENCRYPTION=off -DPYARROW_BUILD_PLASMA=off -DPYARROW_BUILD_S3=off -DPYARROW_BUILD_HDFS=off -DPYARROW_USE_TENSORFLOW=off -DPYARROW_BUNDLE_ARROW_CPP=off -DPYARROW_BUNDLE_BOOST=off -DPYARROW_GENERATE_COVERAGE=off -DPYARROW_BOOST_USE_SHARED=on -DPYARROW_PARQUET_USE_SHARED=on -DCMAKE_BUILD_TYPE=release /tmp/pip-install-dl5m4829/pyarrow_931e5c2bca224624822e920044173860 error: command 'cmake' failed: No such file or directory [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for pyarrow Failed to build pyarrow error: failed-wheel-build-for-install × Failed to build installable wheels for some pyproject.toml based projects ╰─> pyarrow
最新发布
11-22
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值