プログラムを作るとき,画面に
n=100 t=23.333
とか表示しますよね.でもMPIだと, 同時にメッセージを書くと
n=100 t=2n=100 t=23.333n=.333231n=
読めないですよ普通.このようなものはmasterCPUだけが表示すれば良いが,スレーブノードの進行状況も同時に見たい,とか思うだろう君も.
でも48CPUなら画面が48枚必要・・・無理だし.ノード別にファイルを開いて出力すると,バッファーに溜まってすぐに出てこないので,全然見当違いなデバッグをする羽目に陥る.
そこで,ログ書きライブラリーを使うわけですな
配布パッケージのインストール
こやつのlog4clus-新しげpkgをダウンロードしてインストールすれば,利用可能である.
LOG4CPLUS入門
上記配布パッケージの製作
配布パッケージ作成方法(2.0.6)台湾積体電路製造
TSMCのM1チップでビルドしようとすると, ARM64に対応してない,などと叫ばれるのが面倒である. そこで, 豚を育成する.
X86ビルド
X86ターミナルで実行する.
cd x86_64 tar zxf ../log4cplus-2.0.6.tar.gz cd log4cplus-2.0.6/ ./configure --prefix=/usr/local make
これで,以下のものができる
lipo -info ./libs/*dylib Non-fat file: .libs/liblog4cplus-2.0.3.dylib is architecture: x86_64 Non-fat file: .libs/liblog4cplus.dylib is architecture: x86_64 Non-fat file: .libs/liblog4cplusU-2.0.3.dylib is architecture: x86_64 Non-fat file: .libs/liblog4cplusU.dylib is architecture: x86_64
なんで2.0.3なのかは不明だ.
ARM64ビルド
ARM64ターミナルで実行する
cd arm64 tar zxf ../log4cplus-2.0.6.tar.gz cd log4cplus-2.0.6/ ./configure --prefix=/usr/local make lipo -info ./.libs/*dylib Non-fat file: ./.libs/liblog4cplus-2.0.3.dylib is architecture: arm64 Non-fat file: ./.libs/liblog4cplus.dylib is architecture: arm64 Non-fat file: ./.libs/liblog4cplusU-2.0.3.dylib is architecture: arm64 Non-fat file: ./.libs/liblog4cplusU.dylib is architecture: arm64
こっちでインストールしてしまえ
fswatch -x /usr/local/ > files.log & sudo make install
豚にする
それでは豚に変更しよう.
mkdir ../universal for file in ../../x86_64/log4cplus-2.0.6/.libs/*dylib; do lipo -create -arch x86_64 $file -arch arm64 ./.lib
s/$(basename $file) -output ../universal/$(basename $file);done
できたかな?
lipo -info ../universal/*dylib Architectures in the fat file: ../universal/liblog4cplus-2.0.3.dylib are: x86_64 arm64 Architectures in the fat file: ../universal/liblog4cplus.dylib are: x86_64 arm64 Architectures in the fat file: ../universal/liblog4cplusU-2.0.3.dylib are: x86_64 arm64 Architectures in the fat file: ../universal/liblog4cplusU.dylib are: x86_64 arm64
ではこいつらをインストール
sudo cp ../universal/liblog4cplus*dylib /usr/local/lib/ lipo -info /usr/local/lib/liblog4cplus*dylib Architectures in the fat file: /usr/local/lib/liblog4cplus-2.0.3.dylib are: x86_64 arm64 Architectures in the fat file: /usr/local/lib/liblog4cplus.dylib are: x86_64 arm64 Architectures in the fat file: /usr/local/lib/liblog4cplusU-2.0.3.dylib are: x86_64 arm64 Architectures in the fat file: /usr/local/lib/liblog4cplusU.dylib are: x86_64 arm64
よっしゃ,いいみたいだね.
kill %1 fswatch_analyze.sh -c _binary files.log pkgbuild --identifier log4cplus --root _binary log4cplus_2_0_6-osx11.2.pkg
配布パッケージ作成方法(1.1.2)Intel
暇だから,自分で配布パッケージを作成したい場合,まずはダウンロード.ほんで
cd log4cplus-1.1.2 ./configure --prefix=/usr/local fswatch -x /usr/local > files.log & sudo make install kill %1 fswatch_analyze.sh -c _binary files.log pkgbuild --identifier log4cplus --root _binary log4cplus_1_1_2-osx10.10.pkg