1、安装相关库
yum -y install zlib zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel
yum -y install tk-devel gdbm-devel db4-devel libpcap-devel wget xz-devel
yum -y install gcc kernel-devel kenel-headers make bzip2 libffi libffi-devel
yum -y install expat-devel e2fsprogs-devel uuid-devel libuuid-devel tcl
yum -y install gdbm-devel tcl-devel tk-devel python-tools
2、安装libressl
官网:https://www.libressl.org/, 西寨速度比较慢,采用镜像地址
wget http://ftp.jaist.ac.jp/pub/OpenBSD/LibreSSL/libressl-2.9.2.tar.gz
tar xzvf libressl-2.9.2.tar.gz
cd libressl-2.9.2
./configure --prefix=/usr/local/ssl
make
sudo make install
sudo mv /usr/bin/openssl /usr/bin/openssl.bak
sudo mv /usr/include/openssl /usr/include/openssl.bak
sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/ssl/include/openssl /usr/include/openssl
sudo echo /usr/local/ssl/lib > /etc/ld.so.conf.d/libressl-2.9.0.conf
sudo ldconfig -v #重新加载库文件
3、下载python3.7.4并解包
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar xzvf Python-3.7.4.tgz
export LDFLAGS="-L/usr/local/ssl/lib"
export CPPFLAGS="-I/usr/local/ssl/include"
export PKG_CONFIG_PATH="/usr/local/ssl/lib/pkgconfig"
cd Python-3.7.4
4、编译python3.7.4并安装
export LDFLAGS="-L/usr/local/ssl/lib"
export CPPFLAGS="-I/usr/local/ssl/include"
export PKG_CONFIG_PATH="/usr/local/ssl/lib/pkgconfig"
./configure --prefix=/usr/local/python374 --enable-optimizations --with-uuid=ossp CFLAGS=-fPIC --enable-shared
make -j4
sudo make install
sudo ln -s /usr/local/python374/bin/python3.7 /usr/bin/python3.7.4
sudo ln -s /usr/local/python374/bin/python3.7 /usr/bin/python374
sudo ln -s /usr/local/python374/bin/pip3.7 /usr/bin/pip3.7.4
sudo ln -s /usr/local/python374/bin/pip3.7 /usr/bin/pip374
4.1编译python3.7.4并安装命令汇总:
export LDFLAGS="-L/usr/local/ssl/lib"
export CPPFLAGS="-I/usr/local/ssl/include"
export PKG_CONFIG_PATH="/usr/local/ssl/lib/pkgconfig"
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar xzvf Python-3.7.4.tgz
cd Python-3.7.4
./configure --prefix=/usr/local/python374 --enable-optimizations --with-uuid=ossp CFLAGS=-fPIC --enable-shared
make -j4
sudo make install
sudo ln -s /usr/local/python374/bin/python3.7 /usr/bin/python3.7.4
sudo ln -s /usr/local/python374/bin/python3.7 /usr/bin/python374
sudo ln -s /usr/local/python374/bin/pip3.7 /usr/bin/pip3.7.4
sudo ln -s /usr/local/python374/bin/pip3.7 /usr/bin/pip374
4.2编译python3.7.3并安装命令汇总:
export LDFLAGS="-L/usr/local/ssl/lib"
export CPPFLAGS="-I/usr/local/ssl/include"
export PKG_CONFIG_PATH="/usr/local/ssl/lib/pkgconfig"
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar xzvf Python-3.7.3.tgz
cd Python-3.7.3
sed -i "6s/endif/else/" ./Modules/_uuidmodule.c
sed -i "7d" ./Modules/_uuidmodule.c
sed -i "s/Werror=implicit-function-declaration/Wno-error/g" ./configure
./configure --prefix=/usr/local/python373 --enable-optimizations --with-uuid=ossp CFLAGS=-fPIC --enable-shared
make -j4
sudo make install
sudo ln -s /usr/local/python373/bin/python3.7 /usr/bin/python3.7.3
sudo ln -s /usr/local/python373/bin/python3.7 /usr/bin/python373
sudo ln -s /usr/local/python373/bin/pip3.7 /usr/bin/pip3.7.3
sudo ln -s /usr/local/python373/bin/pip3.7 /usr/bin/pip373
mkdir ~/.pip
vi ~/.pip/pip.conf
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
5 遗留问题 未解决:
building '_xxtestfuzz' extension
gcc -pthread -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fprofile-use -fprofile-correction -I./Include -I. -I/usr/local/ssl/include -I/usr/local/include -I/mnt/S_LINUX_DATA/my_build/Python-3.7.4/Include -I/mnt/S_LINUX_DATA/my_build/Python-3.7.4 -c /mnt/S_LINUX_DATA/my_build/Python-3.7.4/Modules/_xxtestfuzz/_xxtestfuzz.c -o build/temp.linux-x86_64-3.7/mnt/S_LINUX_DATA/my_build/Python-3.7.4/Modules/_xxtestfuzz/_xxtestfuzz.o
gcc -pthread -fPIC -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -std=c99 -Wextra -Wno-unused-result -Wno-unused-parameter -Wno-missing-field-initializers -Werror=implicit-function-declaration -fprofile-use -fprofile-correction -I./Include -I. -I/usr/local/ssl/include -I/usr/local/include -I/mnt/S_LINUX_DATA/my_build/Python-3.7.4/Include -I/mnt/S_LINUX_DATA/my_build/Python-3.7.4 -c /mnt/S_LINUX_DATA/my_build/Python-3.7.4/Modules/_xxtestfuzz/fuzzer.c -o build/temp.linux-x86_64-3.7/mnt/S_LINUX_DATA/my_build/Python-3.7.4/Modules/_xxtestfuzz/fuzzer.o
/mnt/S_LINUX_DATA/my_build/Python-3.7.4/Modules/_xxtestfuzz/fuzzer.c:177:1: 编译器内部错误:在 edge_badness 中,于 ipa-inline.c:900
}
^
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
Preprocessed source stored into /tmp/ccASZKTb.out file, please attach this to your bugreport.
The following modules found by detect_modules() in setup.py, have been
built by the Makefile instead, as configured by the Setup files:
_abc atexit pwd
time
Failed to build these modules:
_xxtestfuzz