続いて、C++のソースのコンパイル環境を生成していましたが、
make[1]: g++: Command not found
make[1]: *** [obj/Linux/test.o] Error 127
のエラー。

「あれっ? gccパッケージは入れたのになあ…」
と思っていたので、念のため確認してみても…
[root@coutest]
gcc-4.8.3-9.el7.x86_64
libgcc-4.8.3-9.el7.x86_64
…と入っていました。
ただ、よくよく考えると、g++ (C++のコンパイラ) は、「gcc」パッケージではなく「gcc-c++」パッケージを入れないといけないようで…。
これも忘れていましたね。
ということで、さっそく「gcc-c++」をインストール。
[root@coutest]
=====================================================================
Package Arch Version Repository Size
=====================================================================
Installing:
gcc-c++ x86_x64 4.8.3-9.el7 TestRepository 7.2 M
Installing for deppendencies:
libstdc++-devel x86_x64 4.8.3-9.el7 TestRepository 1.5 M
そしてコンパイルしてみると…
/usr/bin/ld: /home/cou/src/obj/ThreadTest.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/usr/bin/ld: note: 'pthread_create@@GLIBC_2.2.5' is defined is DSO /lib64/libpthread.so.0 so try adding it to the linker command line
/lib64/libpthread.so.0: could not read symbols: Invalid operation
collect2: error: id returned 1 exit status
今度はシンボルが見つからないエラー…。
RHELの古いバージョンだと動いていたので、gcc-c++のバージョンが変わったことが影響しているのでしょうか。このあたりはちょっとわからないですね。
ただ、これはコンパイルオプションに
-pthread
をつけてコンパイルしないと、リンクがうまくできないようです。
何か不便ですね…。実際追加することでうまくいきました。
ホント、こういうのって一回作ると、再構築する機会がなかなかないので、すぐに忘れてしまいます。
備忘録として残していないと、また次回忘れますからね。