ยง2023-07-21

Failed, 7 | #error GCC 11.3 or newer is required to build MongoDB. On Bullseye gcc version is gcc (Debian 10.2.1-6) 10.2.1 20210110


  1. Requirements
$ sudo apt update && sudo apt -y upgrade
$ sudo apt -y install build-essential libcurl4-openssl-dev liblzma-dev libssl-dev python3-dev git

  1. Python3
$ python3 --version
Python 3.9.2
$ sudo apt install python3.9-venv
$ python3 -m venv ~/PYTHON-3.9.2
$ source ~/PYTHON-3.9.2/bin/activate
(PYTHON-3.9.2) orangepi@orangepi5plus:~$ 
  1. git clone mongo
 $ git clone https://github.com/mongodb/mongo.git && cd mongo
 $ git checkout r7.0.0-rc8 -b test
Updating files: 100% (10380/10380), done.
Switched to a new branch 'test'
  1. pip requirements
$ pip3 install -r etc/pip/compile-requirements.txt
...
Successfully installed Cheetah3-3.2.6.post1 PyYAML-6.0 anyio-3.7.1 boto3-1.28.8 botocore-1.31.8 certifi-2023.5.7 cffi-1.15.1 charset-normalizer-2.0.12 cryptography-36.0.2 distro-1.8.0 dnspython-2.4.0 exceptiongroup-1.1.2 gitdb-4.0.10 gitpython-3.1.32 h11-0.14.0 httpcore-0.17.3 idna-3.4 jmespath-1.0.1 mongo-ninja-python-1.11.1.5 mongo-tooling-metrics-1.0.8 packaging-21.3 psutil-5.8.0 pycparser-2.21 pydantic-1.10.11 pymongo-4.3.3 pymongo-auth-aws-1.1.0 pyparsing-3.1.0 python-dateutil-2.8.2 regex-2021.11.10 requests-2.26.0 requirements-parser-0.3.1 s3transfer-0.6.1 setuptools-58.5.3 six-1.16.0 smmap-5.0.0 sniffio-1.3.0 types-PyYAML-6.0.12.11 types-setuptools-57.4.18 typing-extensions-4.7.1 urllib3-1.26.16
  1. make it
$ cat ~/scripts/buildMongo.sh 
#!/bin/bash

# -j number of CPUS, no plus 2, odroid-n2 -j 6, odroid-hc4 -j4, orangePi5 -j 8
# execute form git clone https://github.com/mongodb/mongo.git && cd mongo
# under python3 eviromental control
# git checkout r7.0.0-rc8 -b test
time python3 buildscripts/scons.py install-core -j 4 --ssl --linker=gold CFLAGS="-march=armv8-a+crc -mtune=generic" --disable-warnings-as-errors

#   install-mongod
#   install-mongos
#   install-core (includes only mongod and mongos)
#   install-servers (includes all server components)
#   install-devcore (includes mongod, mongos, and jstestshell (formerly mongo shell))
#   install-all (includes a complete end-user distribution and tests)
#    install-all-meta (absolutely everything that can be built and installed)
#
  1. makr it
(PYTHON-3.9.2) alexlai@N2Bullseye:~/build/mongo$ ~/scripts/buildMongo.sh
Checking if C++ compiler is GCC 11.3 or newer...no
ERROR: Refusing to build with compiler that does not meet requirements
See /home/alexlai/build/mongo/build/scons/config.log for details

real    0m2.431s
user    0m2.015s
sys     0m0.410s

gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.