2025年9月5日金曜日

Alma Linux 9 に Virtuoso (IC618.170)を入れる

新しいサーバーをセットアップして Virtuoso を入れるのは毎回大騒ぎである.(正確には CentOS 7 が入っていたマシンを AlmaLinux 9.6 にアップグレードした)

lsb_release が無いので Linux のバージョンがわからないと言われる.RHEL9系の標準のリポジトリには lsb_release が無いので EPEL を使う.

https://rhel.pkgs.org/9/epel-aarch64/lsb_release-3.2-2.el9.noarch.rpm.html
https://www.server-memo.net/almalinux/almalinux9_epelrepo.html

% dnf install -y dnf-plugins-core
% dnf config-manager --enable crb
% dnf -y install epel-release
% dnf install -y epel-next-release
% dnf install -y lsb_release

libcrypto.so.10 が無いといわれる.RHEL9 系では compat-openssl11 になってしまった.RHEL8 向けの RPM を入れる.

https://forums.almalinux.org/t/almalinux-9-cant-find-libcrypto-so-10-or-libssl-so-10/3952/4
https://www.rpmfind.net/linux/rpm2html/search.php?query=libcrypto.so.10()(64bit)

% dnf install compat-openssl10-1.0.2o-4.el8_10.1.x86_64.rpm

libdb-4.7 も必要だが 5.3 しかないので RPM を落として入れる.

https://amazonlinux.pkgs.org/2/amazonlinux-core-x86_64/compat-db47-4.7.25-28.amzn2.x86_64.rpm.html
https://amazonlinux.pkgs.org/2/amazonlinux-core-x86_64/compat-db-headers-4.7.25-28.amzn2.noarch.rpm.html

% dnf install compat-db47-4.7.25-28.amzn2.x86_64.rpm compat-db-headers-4.7.25-28.amzn2.noarch.rpm

あとは地道に virtuoso 起動 → シェアードオブジェクト無い → dnf provides "シェアードオブジェクト" → パッケージを見つけて dnf install を繰り返す.dnf provides で出てきたパッケージが i686 だったりするが,これは x86_64 に読み替えてインストールする.

dlopen failed to open 'libdb.so' と言われる. /lib64/libdl.so が無いので /lib64/libdl.so.2 をスタティックリンクしてあげる.以下がヒントになった.
https://www.linuxquestions.org/questions/linux-newbie-8/dlopen-failed-to-open-%27libdl-so-error-4175493930/

% sudo ln -s /lib64/libdl.so.2  /lib64/libdl.so

最初 Cadence Community の議論から db4-devel-4.7 (そのためにdb4とdb4-cxxも必要)を入れると良さそうと思って頑張って入れたのだが変化無かった.RHEL6 の RPM 入れたからかもだが….
https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/31432/cadence-ic-base-6-15-011-hotfix-6-15-171-problem

64bit バイナリで動かすなら「環境変数 CDS_AUTO_64BIT をALL」も必要かもしれない.
https://www.anagix.com/gijutsu-memo/artistmemo/ic617dedlopenfailedtoopenlibdlsoerror

入れるだけ入れたが,キーボード入力がおかしい.qwerty が c.gvn になってしまう.後半に続く.

2025年9月3日水曜日

mdadm で設定した RAID ディスクを遅延マウントする

mdadm で SSD RAID5 を設定して /home に割り当てたのだが,マウントポイント指定後起動時に以下のメッセージが出てシステムがエマージェンシーに入ってしまう

block sdb the capability attribute has been deprecated

メッセージでググっていたら,ディスクの準備ができていない状態で fstab のディスクをマウントしようとするとあっさりエマージェンシーモードに入るとのこと.

mdadm が起動したあとでマウントすればよいのね,ということで遅延マウント(?)してみる.基本的にははてなブログの記事の通りにすればよい.

初めてホームディレクトリにアクセスするときにマウントが動くので起動時の最初のユーザーに "block sdb..." と同じメッセージがでるのだが,すぐにマウントされるので安定的に動くようになった.

2025年8月16日土曜日

Figure 1 or Fig. 1?

 結論から言うと,文頭は "Figure 1 shows..." で始めるべきで "Fig. 1 shows..." は誤り.文中はどちらでもよいが,表記は統一したうえで,掲載誌の方針に従ってくださいとのこと.このルールは表 (Table),式 (Equation) でも同様らしい.


2025年8月15日金曜日

Draw.io で数式を書く

 Draw.io でテキスト形式で数式を書くお勧めのフォントは Georgia です.
テキストボックスを選んだ状態で右のオプションのフォントを Georgia にします.

Draw.ioで Latex 式に数式を書くには,[拡張]→[数式組版]を選ぶとできます.
この状態でテキストボックスに,$$で囲んだLatex形式の数式を書き,テキストボックスの選択を外すと組版されます.
フォントは Geogia っぽいフォントだけれど子細が違うようです.

フォントについて補足すると,一応外部フォントを入れられるみたいですが,CTAN の Latin-modern-math の指定は上手くいきませんでした.なので MS 数式とフォントが変わってしまうのは悩みどころです.(Cambria Mathの指定もダメ)




2025年8月14日木曜日

IHP 130nm CMOS/BiCMOS スタンダードセルライブラリ

 忘れるので調べた.ライブラリは sg13g2_stdcell です.

* AO
sg13g2_a21o_1
sg13g2_a21o_2

* AOI/OAI
sg13g2_a21oi_1
sg13g2_a21oi_2
sg13g2_a22oi_1
sg13g2_a221oi_1
sg13g2_o21ai_1

* AND/OR
sg13g2_and2_1
sg13g2_and2_2
sg13g2_and3_1
sg13g2_and3_2
sg13g2_and4_1
sg13g2_and4_2
sg13g2_or2_1
sg13g2_or2_2
sg13g2_or3_1
sg13g2_or3_2
sg13g2_or4_1
sg13g2_or4_2

* INV/BUF
sg13g2_buf_1
sg13g2_buf_2
sg13g2_buf_4
sg13g2_buf_8
sg13g2_buf_16
sg13g2_inv_1
sg13g2_inv_2
sg13g2_inv_4
sg13g2_inv_8
sg13g2_inv_16

* NAND/NOR
sg13g2_nand2_1
sg13g2_nand2_2
sg13g2_nand2b_1
sg13g2_nand2b_2
sg13g2_nand3_1
sg13g2_nand3b_1
sg13g2_nand4_1
sg13g2_nor2_1
sg13g2_nor2_2
sg13g2_nor2b_1
sg13g2_nor2b_2
sg13g2_nor3_1
sg13g2_nor3_2
sg13g2_nor4_1
sg13g2_nor4_2

* MUX
sg13g2_mux2_1
sg13g2_mux2_2
sg13g2_mux4_1

* XOR/XNOR
sg13g2_xnor2_1
sg13g2_xor2_1

* DFF w/ async neg reset, Q and Q_N output
sg13g2_dfrbp_1
sg13g2_dfrbp_3

* Latch Family
sg13g2_dlhq_1 * Pos. transparent Latch
sg13g2_dlhr_1 * Pos. transparentLatch w/ async neg reset
sg13g2_dlhrq_1 * Pos. transparentLatch w/ async neg reset, Q and Q_N output
sg13g2_dllr_1 * Neg. transparentLatch w/ async neg reset
sg13g2_dllrq_1 * Neg. transparentLatch w/ async neg reset, Q and Q_N output

* Scan FF 
sg13g2_sdfbbp_1 * w/ async reset and set

* Delay
sg13g2_dlygate4sd1_1
sg13g2_dlygate4sd2_1
sg13g2_dlygate4sd3_1

* Tri-states
sg13g2_ebufn_2
sg13g2_ebufn_4
sg13g2_ebufn_8
sg13g2_einvn_2 
sg13g2_einvn_4 
sg13g2_einvn_8 

* Gated Clock
sg13g2_lgcp_1  * w/o scan
sg13g2_slgcp_1 * w scan

* Signal hold (closs-coupled inverter w/o input switch)
sg13g2_sighold

* Physical only cell
sg13g2_antennanp
sg13g2_decap_4
sg13g2_decap_8
sg13g2_tiehi L_HI
sg13g2_tielo L_LO

2025年8月13日水曜日

chomp 関数の語源

 普段何も意識せずに使っている Perl の chomp 関数,なんで chomp なん?って調べたらすでに議論がなされていた.

Etymology of chomp?
https://www.perlmonks.org/?node_id=956244

要約すると以下の様な感じ.
・chomp の前に chop 関数が導入されていた.chop は変数に格納されている文字列の末尾を1文字削る
・Programming Perl によると,「chomp は変数に格納されている文字列の末尾の改行を削除する,chop 関数のやや安全なバージョン」と紹介されている.
・^M であるキャリッジリターンを削除するから chomp (New Line である ^J も削除するとのツッコミ)
・chomp (むしゃむしゃ食べる)という語感がよかったのでは.

Perl は色々遊び心があっていいですね.

2025年8月12日火曜日

独立基盤形成支援(試行)の採択率

科研費の採択率は学振で公開されているのだが,独立基盤形成支援(試行)は選考が二段階なので簡単には算出できない.各機関の申請枠が「基盤研究C+若手研究」の新規採択合計件数の5%もしくは最大5件の低い方で,その後学振で再度審査される形になっている.

本学の場合,マンモス大学なので10人申請して5人が学内から推薦されたらしい.学振への推薦時に大学内で順位をつけるらしく,学振で再度審査されざっくり77%が採択されるようだ(数字は公募要項記載の3年分平均).最終的な採択率は 38% となる.基盤Cの採択率(27.8%)よりは高いのだが,そもそも若手研究や基盤Cを通った人が第二ラウンドで戦う場なので,この数字を鵜呑みにしていいのかはわからない.基盤B採択者が応募できないのはよいシステムな気がする.(ツヨツヨ研究者は除いて)ピヨピヨ研究者同士で殴り合おう.

独立基盤形成支援は,「基盤研究C」もしくは「若手研究」に採択された代表者のうち「新たに准教授以上の職位について2年以内かつ当該年度4/1付けで博士の学位取得後15年以下の者」でかつ「所属機関で研究室を主宰している者」が応募できる学術研究助成基金.採択されると「研究基盤整備(Ⅰ):科研費の応募額から交付額の差分(直接経費上限150万円+間接経費30%)を学振が配分 (いわゆる7掛けされる前の申請額を配分してくれる)」「研究基盤整備(Ⅱ):所属する機関が整備する研究基盤整備(Ⅰ,Ⅱ合わせて300万円以上の計画でないといけない)」が交付される.「所属機関で研究室を主宰している者」の定義は,各分野の実情を踏まえつつ以下を満たすこと,とのことである.
・独立した研究課題を有すること
・研究グループの責任者であること(研究グループを組織している場合)
・大学院生の指導に責任を持っていること
・論文発表の責任者となっていること
・その他研究室を主宰する者としての活動があること

2025年8月11日月曜日

TravelPro Crew 9 のキャスターを直す

Great Mall で 2013 年に買ったスーツケース (TravelPro Crew 9) のキャスターの軸が片方しか効いておらず,荷物を詰め込むと重みで車輪が軸から外れスタックしてしまう.軸が折れたのかしらと思って状況把握・修理を試みる.


TravelPro は保証も手厚いと聞くし,DIY 修理も結構積極的.修理動画を公式で上げていたりする.(シークバーが無くて見づらい(>_<))
https://travelpro.com/pages/repair-your-travelpro%C2%AE-luggage

外側からキャスターの化粧パネルのネジを外して先の鋭いものでこじってあげると軸受けのネジが出てくる.



これを六角レンチで外すと軸が抜ける.


M6 ぐらいのネジなのね.これが折れたのかと思ったのだが,左右外しても長さは一緒.でもキャスターが外れた側は雄ネジが雌ネジ(ネジの受け手)に届かないのである.


結局スーツケースの中のネジの受け手(上の写真のハウジングに貼られているシールの向かって右手)が離れてしまっていた.手でキャスター側に押しつけながらネジを締めたらちゃんとしまってくれた.

動くようになったけれど無理やり引っ張り回していたのでローラー側にダメージが入って滑りは悪くなってしまった.失敗したな.調べるとローラースケートのローラーに入れ替える DIY が流行で Amazon にも中華キットが1500円くらいで出ているみたい.今度交換してみよう.ハウジングはプラだし受け手も厚さ 1mm もない様な鉄板(?)だし,あまり重たいものを載せるのはよくないかも….

TravelPro Crew シリーズと言えば「マイレージ・マイライフ」.映画の予告編の動きがかっこよくてシビレマス.テーマも今の何でもオンラインの世の中を予言しているみたいで考えさせられます,と偉そうに言いつつまだ観られていない,いつか観たいものよ.

2025年8月10日日曜日

ポケコンの液晶ライン抜け修理

 

SHARP のポケコン (PC-G850V) を拾ったのだが液晶がライン抜けを起こしている….割とよくある症状らしく,半田付けされている液晶のフレキを加熱してやると接触が改善されて直るらしい.



使っているコテが HAKKO FX-600 なので温度調整ができるのですが,最低温度の 200℃ でコテを直に当てている条件では改善せず,半田吸い取り線を挟みながら 320℃ でゆっくり何度もなぞると直った.一列加熱するのに 1~2 分かけるぐらいゆっくりしても良いかもしれない.
(開腹時の写真は撮り忘れた)

修理後に少し触った感じだと,小さいコンピュータというよりはでかい関数電卓って感じである.関数キー使わずにキーボードで関数名直接入力できるのは便利.どうやったら便利に使えるだろうか.


PC-G850V と同世代の関数電卓 EL-509E も持っていて今でも使っているのだが,こいつもライン抜け起こしているんだよな.2段液晶の1段目(入力式表示)だからええかと思って10年位使っている気がする….

2025年8月9日土曜日

Rocky Linux 9.4 を CUI で起動する

以前 Rocky Linux 9.4 が nVidia の古いグラボでこけるので諦めたという話をポストした.ヘッドレス運用 VNC で使う分にはよかったのだが,やっぱりモニタにつないで設定する必要があったのでメモ.

デフォルトで GUI で立ち上がってしまうので,まずは一時的に CUI で立ち上げる.

 "Welcome to GRUB!" と表示されたら下方向キー連打する.次に GRUBの目的のカーネルに合わせて e (Edit)を押して GRUB に入る.GRUB を編集し linux~/vmlinuz~ の行末に以下を追加する
systemd.unit=multi-user.target 
終われば Ctrl+X で起動

起動後 CUI でログインし起動を恒久的にCUIにする.rootでログインする.

まずは現在の設定を確認する.
$ sudo systemctl get-default
graphical.target

CUI にするために multi-user.target に変更する
$ systemctl set-default multi-user.target
$ systemctl get-default
graphical.target

これで Reboot すれば CUI になる,わけではなく起動時のメッセージを隠す GUI (Red-Hut Graphycal Boot: RHGB) が発動してエマージェンシーモードに入ってしまうので,RHGBを無効化しよう.

現在の設定を見てみる.
$ cat /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap rhgb quiet"
この中の rhgb quiet を削除.

$ vi /etc/default/grub
$ cat /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"

25/08/25追記
GRUB設定を反映する記述が抜けていた.
・Rocky linux
$ sudo grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg

・Alma linux
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg

再起動
$ reboot

これでフルに CUI で起動するようになる.