47 MacPorts の g++ トラブル

(しばらく工事中)

ちょっと目を離したすきに、 C++ プログラムが g++ (GCC) でコンパイルできなくなっている。

CommandLineTools を更新したけれど、それが原因らしい。

どっちが悪いのか分からないけれど、とりあえずは回避策を見つけないと。

https://discourse.cmake.org/t/issue-between-cmake-mpi-macos-xcode-16-and-gcc/11711/9

export CC=gcc-14 CXX=g++-14 FC=gfortran-14
export SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/

えーと
% ls -l /Library/Developer/CommandLineTools/SDKs
total 0
lrwxr-xr-x  1 root  wheel   14 10  2 20:55 MacOSX.sdk@ -> MacOSX15.0.sdk
drwxr-xr-x  7 root  wheel  224  8  1  2022 MacOSX12.1.sdk/
drwxr-xr-x  7 root  wheel  224  6  4  2023 MacOSX12.3.sdk/
lrwxr-xr-x  1 root  wheel   14  6  4  2023 MacOSX12.sdk@ -> MacOSX12.3.sdk
drwxr-xr-x  7 root  wheel  224 10  2 20:56 MacOSX14.5.sdk/
lrwxr-xr-x  1 root  wheel   14 10  2 20:54 MacOSX14.sdk@ -> MacOSX14.5.sdk
drwxr-xr-x  7 root  wheel  224 10  2 20:55 MacOSX15.0.sdk/
lrwxr-xr-x  1 root  wheel   14 10  2 20:54 MacOSX15.sdk@ -> MacOSX15.0.sdk
%
となっているけれど、一つ前のを使う、ということ。 (…なんか古いのが残っているなあ。)

次のような警告が出る。
% g++ -I/usr/local/include -O nantoka.cpp
ld: warning: -ld_classic is deprecated and will be removed in a future release
% 
これについてはしばらく目をつぶることにする。


環境変数 SDKROOT については、 もともと .profile の中で次のように設定していた。

export SDKROOT=`xcrun --sdk macosx --show-sdk-path`

しばらくは、これを上書きする、ということである。



桂田 祐史