私は調査方法がわからないという奇妙な現象が起こっています。私は誰かがすでにこのANに遭遇したことを願っています
私はgitlab ciを使ってQTベースのプロジェクトを構築しています。 GitLab Runnerは、My Env Devの「ME」として手動で実行するとうまく機能するBuild.shという名前のスクリプトを呼び出します。ただし、ランナーは「プロジェクトエラー:コンパイラ 'g ++」を実行できません。環境を設定するのを忘れた場合があります。だから私は、G ++が利用可能であることを確認しました(G ++ - VersionはOK)、そしてG ++では経路にあるがPBMはまだそこにある。
これが問題が存在するスクリプトの一部と私が実行した調査
echo ">>>>>> now generating makefiles for ${PROJECT_FILE} <<<<<<"
export QTDIR=/usr/lib64/qt5
echo $QTDIR
echo QMAKESPEC is
qmake-qt5 -query QMAKE_SPEC
echo gcc version is
gcc --version
g++ --version
echo $PWD
whoami
$cmd_qMake -v
$cmd_qMake -makefile -o qMakefile ../src/${PROJECT_FILE}
echo PATH is $PATH
echo QMAKESPEC is
qmake-qt5 -query QMAKE_SPEC
echo gcc version is
gcc --version
g++ --version
_
そしてここでは出力です(申し訳ありませんが、これはデバッグモードです)
>>>>>> now generating makefiles for Communication.pro <<<<<<
+ export QTDIR=/usr/lib64/qt5
+ QTDIR=/usr/lib64/qt5
+ echo /usr/lib64/qt5
/usr/lib64/qt5
+ echo QMAKESPEC is
QMAKESPEC is
+ qmake-qt5 -query QMAKE_SPEC
linux-g++
+ echo gcc version is
gcc version is
+ gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 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.
+ g++ --version
g++ (GCC) 7.3.0
Copyright (C) 2017 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.
+ echo /root/builds/3188cf72/0/EGNOS_V3/AIV-P/AIV-P/Shared/Communication/.buildchain
/root/builds/3188cf72/0/EGNOS_V3/AIV-P/AIV-P/Shared/Communication/.buildchain
+ whoami
root
+ qmake-qt5 -v
QMake version 3.1
Using Qt version 5.9.2 in /usr/lib64
+ qmake-qt5 -makefile -o qMakefile ../src/Communication.pro
Project ERROR: Cannot run compiler 'g++'. Maybe you forgot to setup the environment?
+ echo PATH is /opt/gcc-7.3.0/bin:/usr/bin:/usr/sbin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/bin
PATH is /opt/gcc-7.3.0/bin:/usr/bin:/usr/sbin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/bin
+ echo QMAKESPEC is
QMAKESPEC is
+ qmake-qt5 -query QMAKE_SPEC
linux-g++
+ echo gcc version is
gcc version is
+ gcc --version
gcc (GCC) 7.3.0
Copyright (C) 2017 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.
+ g++ --version
g++ (GCC) 7.3.0
Copyright (C) 2017 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.
+ for target in '"${TARGETS[@]}"'
_
あなたが見ることができるように、G ++が利用可能であるように見えます。
ご協力いただきありがとうございます
ザルーム
私は同じエラーがありましたSudo apt install build-essential
は私のために働いた。
まあ、ついにそれを見つけました!
エラーメッセージがまったく解釈されない、または少なくとも解釈の対象となることがわかりました。見つけることができなかったGCCに関する問題ではありませんでした。しかしそれは私のenvの問題でした。
Rootユーザーは/ usr/local/libがld_library_path内の(私が持っていたとき)を持っていませんでした。必要な理由は私には不明確ですが、私はこれが私のqmake_ccであるGCC 7.3.0に必要であるlibislと関係があると思われます。
これが誰かに役立つことを願っています
ザルーム