PrePoMax on DEXCS2022

構造解析を簡単に実行できるオープン系のツールとして、最近のイチ推しはPrePoMaxではないかと思っている。但し、PrePoMaxはWindows上で動くアプリなので、そのままDEXCS(OS はLinux)の上で動かすことは出来ない。しかし、Linuxには、wine というWindowsをエミュレートするソフトがあり、これを使えばPrePoMaxも動くということがわかっていた。とはいえ、これもやってみたところ最新版+DEXCS2022では一筋縄でいかなかった(後述)。

DEXCSも2022からは4GBのファイルサイズの制限が無くなったので、将来的には、このPrePoMaxも同梱したDEXCS for 何チャラ を考え中でもある。

そこで、ここではPrePoMaxの最新版(v1.3.5)を、DEXCS2022の上でインストールする方法、またisoイメージに同梱する方法についても取り纏めておくこととした。

なお、DEXCS2022 for OpenFOAM(R)には、FreeCADが同梱されており、このFEMモジュールにて簡単な構造解析もできるようになっている。しかしDEXCS2021に搭載したものと比較して、メッシュ作成にやや手こずるケースが多くなったように感じられた。具体的には、某大学で予定している演習問題の課題が、前年通りにできなくなった。そこでPrePoMaxと比べてどうなんだ?を調べようとしたのがそもそもの目的であったが、その答えは、本記事には含まれない。

 

PrePoMaxがWindows上で動くソフトであると記したが、一つ要件があって、Microsoftの、.NET Framework 4.8 がインストールしておく必要があるという点である。 

1年前にDEXCS2021上に構築した際には4.6であったが、その時には、

				
					$ sudo apt install wine
$ sudo apt install winetricks
$ winetricks dotnet46
				
			

という手順でできた。1行目でwineをインストールして、2行目でwinetricksというパッケージインストーラーをインストール。最後にdotnet46(.NET Framework 4.6)をインストールするものである。いずれもインストールにはそこそこの時間を要して、最後のdotnet46にて、いくつかWarningは出ていたものの、最後まで進んで、PrePoMax も使えるようになっていた。

今回、DEXCS2022にてこれを実施したところ2行目までは問題無かったが、dotnet46の代わりに、dotnet48として実行したところ、

				
					Executing load_dotnet48 
------------------------------------------------------
warning: This package (dotnet48) is broken in wine-6.0.3. Broken since 5.18. See https://bugs.winehq.org/show_bug.cgi?id=49897 for more info. Use --force to try anyway.
------------------------------------------------------

				
			

となって、これ以上進めないのであった(ライセンスの同意画面にもたどり着けなかった)。因みに、dotnet48でなく、dotnet46にしても同じであった、DEXCS2021で実施した際とはOSが違う、またwineのバージョンも違うので、再現できなくとも仕方無いと諦めかけたが、ネットで調べると、.NET Framework のインストールについては色々情報があったので、あれこれ回り道もしたがようやくインストールに成功したので、以下に取り纏めておく。

.NET Framework 4.8 のインストール方法

結論はwine, winetricks ともに最新版を使えということなんだが、そのインストール方法に問題がある。成功例を先に記し、その後に回り道の失敗談も残しておく。

これならOK

				
					$ sudo dpkg --add-architecture i386 
$ sudo mkdir -pm755 /etc/apt/keyrings
$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
$ sudo apt update
$ sudo apt install --install-recommends winehq-devel
$ sudo apt install winetricks
$ sudo winetricks --self-update
$ winetricks dotnet48

				
			

この方法は、基本的にwine 本家の、Ubuntu – WineHQ Wiki によるものだが、一部これを意訳して紹介したサイトの情報を加味した結果である。

なお、wineの標準debパッケージがインストール済みの環境では、5行目を実行するとGPGエラーになるので、その場合は以下実行して、5行目以降を実行すればよい。

				
					
$ sudo sed -i s@/usr/share/keyrings/@/etc/apt/keyrings/@ /etc/apt/sources.list.d/winehq-jammy.sources

				
			

回り道その1

今となっては正確に何をやってしまったのか思い出せないのだが、当初は上に記したサイト情報の通りにやって、ある程度までうまく行った。但し、これはDEXCS2022の環境でなく、拙宅Linuxマシンで、OSは同じ(ubuntu 22.04)なんだが、DEXCS以外にも様々なアプリケーションが組み込まれた環境で実施していた。

ある程度までうまく行った、、、という意味は、最後の土壇場でPrePoMaxを起動すると、mscoree.dll が無いので、動かないというエラーメッセージが出た。これもmscoree.dllをインストールする方法など色々試行錯誤したが、最終的にmscoree.dll をDEXCS2021で使っていたものをそのままコピーして使ったら、問題なく動いた!という信じられないような綱渡りであった。

回り道その2

何はともあれ、上記の方法で出来たので、改めてDEXCS2022のクリーンな環境でやり直してみよう、、、となったのだが、これが最初で躓いてしまったのである。

参考にしたサイトの方法は、意訳した、、、と紹介したが、本家のやり方とは少し違っていた。

				
					$ sudo dpkg --add-architecture i386 
$ wget -nc https://dl.winehq.org/wine-builds/winehq.key
$ sudo mv winehq.key /usr/share/keyrings/winehq-archive.key
$ wget -nc https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
$ sudo mv winehq-jammy.sources /etc/apt/sources.list.d/
$ sudo apt update

				
			

要するに、公開鍵winehq.keyの置き場所が違うのだが、これをクリーンなDEXCS2022で実施すると、、、

				
					W: GPG エラー: https://dl.winehq.org/wine-builds/ubuntu jammy InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 76F1A20FF987672F
E: リポジトリ https://dl.winehq.org/wine-builds/ubuntu jammy InRelease は署名されていません。
N: このようなリポジトリから更新を安全に行うことができないので、デフォルトでは更新が無効になっています。

				
			

というメッセージで、ソースそのものをダウンロード出来ないのであった。

回り道その3

本家情報を改めて読み返して、公開鍵の置き場所が違うことに気づいて、本家情報通りにやり直したところ、ようやくwine本体のインストールに成功した。しかし、それでもなお、

				
					$ sudo dpkg --add-architecture i386 
$ sudo mkdir -pm755 /etc/apt/keyrings
$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
$ sudo apt update
$ sudo apt install --install-recommends winehq-devel
$ sudo apt install winetricks
$ winetricks dotnet48


(途中省略)

------------------------------------------------------
Executing load_dotnet48 
------------------------------------------------------
warning: This package (dotnet48) is broken in wine-7.18. Broken since 5.18. See https://bugs.winehq.org/show_bug.cgi?id=49897 for more info. Use --force to try anyway.
------------------------------------------------------

				
			

winetricksのアップデート

				
					$ sudo winetricks --self-update
				
			

も必要であるということであった。ここは意訳サイトさんに感謝です。

Cubicでのインストール問題

で、ここまで出来たら、当然次はisoイメージに同梱(Cubic上の仮想マシンにインストール)できるかどうかであったが、インストール最終段の

 

				
					winetricks dotnet48
				
			

において、GUI画面を使って操作するシーン(たとえば下図)

が出てくるので無理であろうことは予想でき、実際にやってみてその通りであった。

今の所、winetricks の最新版までをisoイメージに同梱して、起動後DEXCSセットアップの最終段で、上記コマンドを実行すればインストール出来る、というところまでは確認できている。但し、この方法でやるには、インターネット環境に接続していることが前提となる。

インターネットに接続できない環境でどうしたら良いのか?...ある程度、当たりはつけてあるが、本稿では今後の課題として残しておく。

Share

コメントする

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください