2026年9月4日金曜日

Calibre が AlmaLinux 8.10 Threadripper 2990wx の環境ででうごかない (grub で numa=off)

 表題の通りで,Threadripper 2990wx は CentOS 7 の時は快調だったのだが,AlmaLinux 8.10 にしてからすんなり動かないツールが多い.その一つが Calibre で実行すると
% calibre -drc -hier TEST.cal > TEST.log 
% calibre -drc -hier -turbo 1 TEST.cal > TEST.log 
% calibre -drc -hier -turbo 2 TEST.cal > TEST.log 
set_mempolicy: Invalid argument
%
という感じで,マルチ CPU 実行させると死んでしまう.どうもこのメッセージは NUMA を使うときに出るらしく,2990wx は4つの CCD が OS から4つの NUMA デバイスと認識されるもうち2つしかメモリに直接アクセスできないという変態 CPU なので,Calibre がメモリのない CCD にメモリアロケーションをしようとして死んでいる可能性がある.
一方で NUMA なんて BIOS で指定した記憶無いんだけれど,と思いつつ BIOS の Memory Interleave を変えても4 NUMA デバイスとして認識されて困っていた.

で,自分で調べてもわからなかったので,今更ながら ChatGPT にログをぶち込みながら2時間ぐらい相談したら,grub で numa=off すると OS として NUMA オフにして 1 NUMA デバイスとして認識できるらしい.今回は
・Alma Linux 8.10 (kernel 4.18)という古い backport を含む Linux Kernel
・NUMA を独自実装し全 NUMA デバイスがメモリを持っていると決めつけているCalibre
・2990wx という変態 CPU
・BIOS で NUMA/UMA 制御ができない ASRock X399 Taichi
のクアッドコンボでダメだったらしい.

ということで,
% sud vim /etc/default/grub # numa=offにする
% sudo grub2-mkconfig -o /boot/grub2/grub.cfg

ということで無事 -turbo が起動するようになりました.ChatGPTすごいな.

2026年8月12日水曜日

MUNIN を使って計算機を監視する

サーバーはLinux Mint,監視対象は Alma Linux 8 です.

クライアント(監視される)側の設定

 

サーバー(監視)側の設定

 

あとはブラウザで http://localhost/munin に接続するとよい.なぜか FireFox ではだめで Chrome でないといけなかった.(http接続ができない?)

いろいろはまったこと

munin-node を入れるのだが,nothing provides perl(Digest::SHA1) と言われてしまう.
→PowerTools のリポジトリを有効にすればよいらしい.

 

ブラウザで http://localhost/munin/ にアクセスしても "Unable to connect" と表示される.また手動で munin を動かしてもプラグインがないと言われる.
 
→ Firewall-cmd でポートを開けていない.空ける設定にしたあと firewall-cmd reload していない

Telnet で接続を試しても "connection closed by foreign host" と表示され接続が閉じられる.
→munin-node 側の /etc/munin-node.conf が間違っていた.具体的には munin サーバーの IP アドレスが間違っていた

追記:RHEL9 で MUNIN を使う

epel 入れる必要がありました.

 

2026年8月5日水曜日

VNC を AlmaLinux 8.10 に導入したときにはまったこと

・ポートを空ける

% firewall-cmd --permanent --add-port=5901/tcp
% firewall-cmd --reload
% firewall-cmd --list-all

・Polkitの設定を変更

カラーマネジメントとパッケージマネジメントの更新を全ユーザに対し許可する.
% sudo vi /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
[Allow Package Management all Users]
Identity=unix-user:*
Action=org.debian.apt.*;io.snapcraft.*;org.freedesktop.packagekit.*;com.ubuntu.update-notifier.*
ResultAny=no
ResultInactive=no
ResultActive=yes


2026年8月4日火曜日

Xfce のデフォルトターミナルを変える

 Xfce のデフォルトターミナルは [メニュー]→[設定]→[デフォルトアプリケーション] で変更できる.こうするとデスクトップ右クリックで「端末で開く」のデフォルトを変える事ができる.よく忘れるのでメモ.



Linux Mint 21.2 Victoria Xfce Edition を使っているのだが,Terminalの選択肢が悩ましい.
  • デフォルトの Xfce Terminal はものすごく重い.ログが大量に出たり,Window を掴んでグリグリすると xrdp の CPU 使用率が100%になりすべてがカクカクしだす.(Intel N97 が非力説もある)
  • Gnome-terminal は軽量なのだが,一日経つとプロファイルが初期化されてしまう.Window を触った瞬間に黒背景が白背景になるので一瞬でムスカにされてしまう.
なので Kitty にしてみた.設定が奥深くてよくわからないのだけれど,ひとまずなんとか使えそうだ.

(1) ssh 接続先で backspace や Ctrl-U が効かない
正確には消えるが画面にログが残る.ログイン先の環境変数を 
% TERM=xterm
にする.





















2026年8月3日月曜日

RHEL9.7 に Virtuoso Studio を入れる

インストール先は RedHat Enterprisse Linux Server 9.7 です.Virtuoso のバイナリを起動して,表示される不足しているシェアードライブラリを入れていく.結局以下を入れればよかったよ.
 
ところが
 
Qt の xcb 関係のエラーが出た.プラグインが使っている共有ライブラリがそろっているか ldd で調べればよいらしい.
 
ここで "not found" になっているシェアードライブラリを入れればよい.dnf provides で聞いて回った結果以下を入れればよかったよ.
 
こういうのってバージョン依存を回避するために CAD のバイナリに入っているものじゃないんだね.

2026年8月2日日曜日

Cadence のライセンスサーバーを立てる

 インストール先は RedHat Enterprisse Linux Server 9.7 です.tcsh ksh が必要です.

Licesnseセットアップ

LUC25.01.002/doc/license/Cadence_License_Server_Diagnostics_Utilities.html を見ながらやってみる.

ユーザーアカウント cdsmgr を作成することが推奨されているみたい.
% sudo useradd cdsmgr
% sudo passwd cdsmgr

LUC25.01.002/share/license 以下にライセンスサーバー関係のバイナリがあるみたい../lic_config を起動する.-xを付けないとデフォルト,-xを付けるとカスタムできるらしいが,挙動は変わらない気がする...
% cd LUC25.01.002/share/license 
% ./lic_config 

(1) 最初にCadenceツールのインストールディレクトリを聞いてくる.デフォルトにする.
(2) ここにtools を作るか聞いてくる.作らせる.

ところがホスト ID (MACアドレス) は正しく認識できているのに,ライセンスファイルがここにないと表示される.lic_config を見ると,"^license."をライセンスファイルとして認識するらしい,がもらったライセンスファイルは"License_*"だ.名前を書きかえる.

% mv License_なんちゃら.txt license.dat.2027.dat
% ./lic_config 

今度はライセンスファイルを認識したが,「Validなものは SERVER,DAEMON,FEATUREしかないはずでこのライセンスファイルはおかしい」と言ってくる.たしかにライセンスファイルには行頭が"USE_SERVER"で始まっている箇所がある.これもらったものなんだけれど...

lic_config を見ると "$linetype" != "USE_SERVER" かつ "$linetype" != "#" and  "$linecont" == "1" の条件でエラーメッセージを出して異常終了するらしい.goto error をコメントアウトして継続させてしまおう.
% vi lic_config
# goto error <- コメントアウト
% ./lic_config
....
You have just configured the license files and the daemon startup script. 
と表示された,セットアップはできたみたい.いいのか.

Lisence 登録

lic_config によってデーモンの起動ファイルができているので,rc.lic を /etc にコピーする.rc.lic は書き換えられているのでマニュアルの指示に手動で書き換える必要は無い.
% sudo cp re.lic /etc/re.lic
(マニュアルは rclic.sample を /etc/rc.lic にコピーしろとあるが間違いなはず)

所有者を変える
% sudo chown cdsmgr /etc/re.lic

パーミッションを変える
% sudo chmod 6744 /etc/rc.lic

inittabに登録する
% sudo echo "cds::once:sh /etc/rc.lic" >> /etc/inittab

Lisence 起動

ユーザー cdsmgr になって実行する
% su cdsmgr
%  /etc/rc.lic 

2026年8月1日土曜日

Synopsys のライセンスサーバーを立てる

 Synopsys のライセンスサーバーを Linux Mint で立てます.RHEL 系しか保証されていないけれど,結果的には全く問題なかったよ.

Synopsys Common Licensing を入れるためにまず Synopsis Installer を入れる.ダウンロードしたバイナリに実行権限を付け,実行.
% chmod +x SynopsysInsterller.run
% ./SynopsysInsterller.run
実行中にインストールディレクトリを聞かれるので指定する.

次に,Synopsys Installer を使って Synopsys Common Licensing を入れる.
% ./installer/installer
バイナリのダウンロード先,インストール先のルートディレクトリ,Site IDを入れる.

Synopsys Common Licensing を使ってライセンスサーバーを立てる.ライセンスファイルを開き,hostname1 を置換してライセンスサーバーの名前にする.
% sed -e "s/hostname1/servername/gc" license_org.txt > ~/synopsys/license.txt

ライセンスファイルは scl_root/admin/license に配置する.
% ln -s ~/synopsys/license.txt scl_root/admin/license

ライセンスサーバー起動
% scl_root/linux64/bin/lmgrd -c scl_root/admin/license/license.txt

FlexNet が起動した.止めてみよう.
% scl_root/linux64/bin/lmdown -c scl_root/admin/license/license.txt
このベンダーのライセンス止めていいのか聞いてくるので y で止める.

ここからは Keysight を参考にする.ライセンスサーバーをサービスとして登録する.systemctl に登録するためのファイルを作成する.
 
% sudo vim /lib/systemd/system/synopsis-license.service

multi-user モードで起動させるので,systemd の所定の位置にスタティックリンクを張る.
% sudo ln -s /lib/systemd/system/synopsys-license.service /etc/systemd/system/multi-user.target.wants/synopsys-license.service

有効にする.
% sudo systemctl daemon-reload
% sudo systemctl enable synopsys-license.service
% sudo systemctl start synopsys-license.service
% sudo systemctl status synopsys-license.service

これで  active (running)  になっていればOK.

環境変数を設定して,
export SNPDLMD_LICENSE_FILE=27030@servername
この状態で別の terminal を開いて,
% ./lmutil lmstat -a
を実行時にライセンスが正常に見えていればOK.

2026年7月31日金曜日

Keysight のライセンスサーバーを立てる

Keysight のライセンスを取り上げられてしまったので,個別にライセンスサーバーを立てることになってしまった.

ここでは LinuxMint に立てることにする.FlexNet のライセンスサーバーをKeysightダウンロードする.解凍した物の中に PDF があるので基本的にはその PDF 通りに設定すればよい.

ライセンスファイルを確認する.ここで
SERVER this_host MACADDRESS 27009
の MACADDRESS がマシンの MAC アドレスと一致しているか確認する.ケースインセンシティブ.27009 はポート番号で,27000~27009 の値となっている.

今回のライセンスはフローティングとのことだが,ライセンスファイルは PDF の "Example 5: Floating license (borrowable)" の様に floating と書かれていないが大丈夫みたい.
VENDOR_STRING=005056905d85 vendor_info="DESCRIPTION=MyProduct, floating, permanent license
 (MYFEATURE1 coun" \

ライセンスファイルを所定の位置に配置する.Linuxの場合
/var/opt/keysight/licensing/licenses/server
の server がライセンスファイル.なおマニュアルのパスは誤字っている.

試しにライセンスサーバーを起動してみる.
% ./lmgrd -c /var/opt/keysight/licensing/licenses/server -l

この状態で別の terminal を開いて,
% ./lmutil lmstat -a
を実行する時に,ライセンスが正常に見えていればひとまずOK.
ライセンスサーバーをシャットダウンしよう.
% ./lmutil lmdown -c /var/opt/keysight/licensing/licenses/server

ライセンスサーバーをサービスとして登録する.
systemctl に登録するためのファイルを作成する.
% sudo vim /lib/systemd/system/keysight-license.service

 


multi-user モードで起動させるので,systemd の所定の位置にスタティックリンクを張る.
% sudo ln -s /lib/systemd/system/keysight-license.service /etc/systemd/system/multi-user.target.wants/keysight-license.service

有効にする.
% sudo systemctl daemon-reload
% sudo systemctl enable keysight-license.service
% sudo systemctl start keysight-license.service
% sudo systemctl status keysight-license.service

これで active (running) になっていればOK.
この状態で別の terminal を開いて,
% ./lmutil lmstat -a
を実行する時に,ライセンスが正常に見えていればOK.

クライアントからの Listen を許可するために Firewall に許可を出す.LinuxMint は ufw を使う.
% sudo ufw status
ここで 27009 が開いていない場合,ポートを開放する.
% sudo ufw allow 27009

ただ私の環境ではこれではだめで,思い切ってFirewallを切らないとだめだった.
% sudo ufw disable

クライアントは,環境変数 AGILEESOFT_LICENSE_FILEを指定してやればよい.
% export AGILEESOFT_LICENSE_FILE=<port>@<ipaddr> 
この状態で lmstat でライセンスが見えたら OK.
% lmstat -a 


2026年3月4日水曜日

Calibre をサポート外 OS で動かしたい (その2)

Calibre は OS ごとにバイナリが最適化されている(とういう事になっている)が,最適でない OS でも手持ちの Calibre を動かしたい.しかし,Calibre 実行時に calibre_vco で実行環境のチェックが入ってしまい,最適でないと
% calibrewb
Invalid operating system environment
と表示されて実行できない.

Calibre の実行環境は
${MGC_HOME}/pkgs/icv_calenv.aoi/pvt/calibre_host_info
でチェックされているので,RHEL7 系と仮装したいのであれば,本ファイルを編集し最終行 (test -n うんぬん) 直前に2行
OS_VENDOR=redhat
OS_MAJOR_REV=7
test -n ....
と書いてやればチェックをすり抜ける事ができる.

このサイトの人は RHEL 系でない Ubuntu で各種 CAD を動かそうとしているので勇者過ぎる.

そういえば昔似たようななことをしたなぁ,と思ったらしていた.
今回は AlmaLinux8 (RHEL8系) で aoi バイナリ (RHEL7) を動かそうとしているので,/etc/lsb-release 編集はできないなぁ.