我正在尝试在 CentOS7 ( https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source ) 上构建 MongoDB v4.0,并且不熟悉用于构建的 python 工具集。该工具集需要 gcc8.2 或更高版本,我已经安装了devtoolset-8-gcc
和devtoolset-8-g++
。我使用scl enable devtoolset-8 bash
并按照构建指南执行 scons 构建来启用工具集,但是 scons 似乎构建了自己的环境,其中不包括/opt/rh/devtoolset-8/
.
[user@localhost mongo.git]$ sudo scl enable devtoolset-8 bash
[sudo] password for user:
[root@localhost mongo.git]# gcc --version
gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
Copyright (C) 2018 Free Software Foundation, Inc.
...
[root@localhost mongo.git]# ./buildscripts/scons.py
scons: Reading SConscript files ...
scons version: 2.5.0
python version: 2 7 5 'final' 0
...
Checking if C compiler is GCC 8.2 or newer...no
Checking if C++ compiler is GCC 8.2 or newer...no
ERROR: Refusing to build with compiler that does not meet requirements
See /opt/mongodb/mongo.git/build/scons/config.log for details
日志文件内容可在https://pastebin.com/jB2q4NxN获得。
我尝试修改 python 脚本以包含每个 scons 手册的路径,但又遇到了另一个错误:
[root@localhost mongo.git]# buildscripts/scons.py all
Traceback (most recent call last):
File "buildscripts/scons.py", line 7, in <module>
env = Environment(ENV = {'PATH' : os.environ['PATH']})
NameError: name 'Environment' is not defined
添加行后
import os
env = Environment(ENV = {'PATH' : os.environ['PATH']})
到我的buildscripts/scons.py
档案。也许我在错误的地方添加了这个?为什么环境变量不可用?
谢谢。