質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

2回答

2258閲覧

Ubunts 何が分からないか分からない状況です error while loading shared libraries: libhdf5.so.103

Tubasa1995

総合スコア83

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2020/11/21 04:43

編集2020/11/21 09:13

現在オープンソースを用いて数値計算を趣味でやろうとしているものです。
せっかくなのでLinuxの勉強もついでにやりたいと思い、初めてコンパイルやらというものをやっていみました。
今回使うオープンソースはCode_saturneという流体解析用のものです。
Versionは6.0です。
Youtube等の動画を参考にしてCode_saturneのインストールやコンパイルはうまくいったと思います。
コンパイルに関しての情報は一番下の方に書いております。

コンピュータ環境はVirtualBox上でUbunts18.04を使用しています。

ただ、インストール後にCode_saturneのGUIを開き、試しに計算のプレ処理を実行してみたところ
下記のようなエラーが出ました。

Code_Saturne ************ Version: 6.0.5 Path: /home/tsubasa/Code_Saturne/6.0.5/code_saturne-6.0.5/arch/Linux_x86_64 Result directory: /home/tsubasa/Desktop/test/test1/RESU/preprocess_20201121-0518 **************************** Preparing calculation data **************************** Single processor code_saturne simulation. *************************** Preprocessing calculation *************************** ********************** Starting calculation ********************** /home/tsubasa/Code_Saturne/6.0.5/code_saturne-6.0.5/arch/Linux_x86_64/libexec/code_saturne/cs_solver: error while loading shared libraries: libhdf5.so.103: cannot open shared object file: No such file or directory ***************************** Post-calculation operations ***************************** solver script exited with status 127. Error running the calculation. Check Code_Saturne log (listing) and error* files for details. Error in calculation stage.

恥ずかしながら、正直なところ下記

/home/tsubasa/Code_Saturne/6.0.5/code_saturne-6.0.5/arch/Linux_x86_64/libexec/code_saturne/cs_solver: error while loading shared libraries: libhdf5.so.103: cannot open shared object file: No such file or directory

の部分のエラーの指摘の意味とどのようにすれば解決するのかがさっぱり分からない状況です。
もちろん検索等もしたのですが、Ubunts初心者の私にはよく分からないというのが本音です。
もちろん今後も自分で勉強していきますので、どうかこのエラーの解決方法、ヒント等を教えていただけませんでしょうか。

下記が「libhdf5.so.103」が置かれている階層なのですが、これを別の場所に置いたり、permissionを変更したりすればよいのでしょうか。

tsubasa@tsubasa-VirtualBox:~$ locate libhdf5.so.103 /home/tsubasa/Code_Saturne/6.0.5/hdf5-1.10.6/arch/Linux_x86_64/lib/libhdf5.so.103 /home/tsubasa/Code_Saturne/6.0.5/hdf5-1.10.6/arch/Linux_x86_64/lib/libhdf5.so.103.2.0 /home/tsubasa/SALOME/SALOME-9.5.0-UB18.04-SRC/BINARIES-UB18.04/hdf5/lib/libhdf5.so.103 /home/tsubasa/SALOME/SALOME-9.5.0-UB18.04-SRC/BINARIES-UB18.04/hdf5/lib/libhdf5.so.103.0.0

「libhdf5.so.103」などのライブラリーなどはすべて
「synaptic package manager」をインストールして
GUI上でライブラリ等をインストールしました。

一応質問する場所はあるのですが、なかなか返答がないためこちらで質問させていただいております。
過去に似たような質問がありましたが、訳10年前のものでした。
過去の質問

ご教示のほどよろしくお願いします。

Code_Saturneには①自分ですべてゼロからコンパイルする方法と
②pythonのコードを使って簡単に半自動でコンパイルする方法があります。
私は②の半自動のコンパイルの方法でやりました。
インストールガイドはここにあります。
少しやり方を説明しますと、下記のように「setup」ファイルを用意し

#======================================================== # Setup file for Code_Saturne installation #======================================================== # #-------------------------------------------------------- # Download packages ? #-------------------------------------------------------- download no # #-------------------------------------------------------- # Install Code_Saturne with debugging symbols #-------------------------------------------------------- debug no # #-------------------------------------------------------- # Installation directory #-------------------------------------------------------- prefix /home/tsubasa/Code_Saturne/6.0.5 # #-------------------------------------------------------- # Optional architecture Name (installation subdirectory) #-------------------------------------------------------- use_arch no arch Linux_x86_64 # #-------------------------------------------------------- # C compiler and optional MPI wrapper #-------------------------------------------------------- compC /usr/bin/cc mpiCompC /usr/bin/mpicc # #-------------------------------------------------------- # Fortran compiler #-------------------------------------------------------- compF /usr/bin/f95 # #-------------------------------------------------------- # C++ compiler and MPI wrapper for optional packages # # Required only for static builds using the MED library # or for build of optional modules such as MEDCoupling # support. #-------------------------------------------------------- compCxx /usr/bin/c++ mpiCompCxx /usr/bin/mpicxx # #-------------------------------------------------------- # Python interpreter. #-------------------------------------------------------- python /usr/bin/python3 # #-------------------------------------------------------- # Disable the Graphical user Interface ? #-------------------------------------------------------- disable_gui no # #-------------------------------------------------------- # Disable frontend (also disables GUI) ? # May be useful for debug builds and HPC cluster builds # installed side-by side with a full build. #-------------------------------------------------------- disable_frontend no # #-------------------------------------------------------- # Optional SALOME platform install path. # # This is the path for the main SALOME directory, # not the application directory. # # If Code_Saturne is built with SALOME support, # running "code_saturne salome" will launch the # associated application, containing the CFDSTUDY module. #-------------------------------------------------------- salome no # #-------------------------------------------------------- # Optional packages: # ------------------ # # MED / HDF5 For MED file format support # (used by SALOME and by Gmsh) # # CGNS / HDF5 For CGNS file support # (used by many meshing tools) # # Scotch (includes PT-Scotch) and/or ParMetis # for parallel partitioning # # For Linux workstations, HDF5, CGNS, and even MED # packages may be available through the package manager. # HDF5 is also often available on large systems. # When building with SALOME, the platform distribution's # packages may be used, by setting in the matching entry # 'yes' under the "Use" column and simply 'salome' under # the path column. # # Scotch and Pt-Scotch are available in some Linux # distributions, but may be built with options # incompatible with non-threaded Code_Saturne runs. # # To install CGNS or ParMetis, the CMake # configuration/installation tool is required # (it is available in most Linux distributions). #-------------------------------------------------------- # # Name Use Install Path # hdf5 yes yes /home/tsubasa/Code_Saturne/6.0.5/hdf5-1.10.6/arch/Linux_x86_64 cgns yes yes /home/tsubasa/Code_Saturne/6.0.5/cgns-4.1.1/arch/Linux_x86_64 med yes yes /home/tsubasa/Code_Saturne/6.0.5/med-4.0.0/arch/Linux_x86_64 scotch yes yes /home/tsubasa/Code_Saturne/6.0.5/scotch-6.0.9/arch/Linux_x86_64 parmetis yes yes /home/tsubasa/Code_Saturne/6.0.5/parmetis-4.0.3/arch/Linux_x86_64 # #========================================================

次に

install_saturne.py(ダウンロードすれば最初からあります)

のjobを投げることでコンパイルとインストールは終了します。これは問題なくできたかと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2020/11/21 07:15 編集

hdf5はホームディレクトリの中で自分でビルドしたのでしょうか? そしてその位置をビルドスクリプトで指定たのでしょうか。 それともビルドスクリプトの過程で自動的にビルドされたものなのでしょうか? 質問者さんがどういう手順で何をしたのか全然書かれていないので、回答者側からは判断がつかないです。
Tubasa1995

2020/11/21 09:07

初心者なので回答が的を得てないかもしれないのですが hdfに関してはインストールをする、ということのみをsetupファイルで指定し その後ビルドの過程で自動的にビルドされているという認識です。 すこし、コンパイルなどの部分について追加したので、見ていただけますか?
guest

回答2

0

そこはそれ、公式ドキュメントをあたるべきでは? と思ったのですが、どうもそこらへんは前提知識として省かれているようですね。
https://www.code-saturne.org/cms/sites/default/files/docs/6.0/install.pdf

一般に libXX.so.xx というファイル名で置いてある「共有ライブラリ」を利用する場合、その情報をシステムに教えてあげないといけません。
どのアプリも大抵は共有ライブラリを使うのですが、このことを意識せずに済むのは、標準的なライブラリの置き場所が既に登録されているからです。

楽な解決方法は主に2つ。
1つは実行時に、環境変数 LD_LIBRARY_PATH で追加の置き場所を指定してあげること。
※研究機関の計算機センターで使わせるような環境なら、そこらへんを楽にできるような方法を提供してたりしますが…
もう1つは、(標準的に使うライブラリならば) 置き場所をシステムに登録してあげること。

なにを設定するかは、「自分がライブラリをどこにインストールしたか」によりますが、
/home/tsubasa/Code_Saturne/6.0.5/hdf5-1.10.6/arch/Linux_x86_64/lib/libhdf5.so.103 を使うのであれば、
環境変数設定としては export LD_LIBRARY_PATH=/home/tsubasa/Code_Saturne/6.0.5/hdf5-1.10.6/arch/Linux_x86_64/lib が対応します。
※複数ライブラリが散在しているなら、置き場所(ディレクトリ)をコロンで区切って繋いで指定します。

システムに登録する場合は、/etc/ld.so.conf ファイルが参照する/etc/ld.so.conf.d/以下に、ディレクトリ名を記載した設定ファイル(名前は .conf で終わる任意のもの)を作成します。
その後、root権限で ldconfig コマンドが必要だった気もしますが定かではありません。まあ、やっといた方が確実な気がします。

投稿2020/11/21 05:39

編集2020/11/21 05:42
angel_p_57

総合スコア1681

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tubasa1995

2020/11/21 08:45

linux初心者なのでめっちゃ勉強になります。 そのような知識はどのように身に着けるのでしょうか。 例えば、僕のような初心者の場合、分からないことが出てくると一応ググるのですが ググるとさらに分からない部分が出てきて、結局、何が分かっていないのか分からない という状況になります。 ベストとしては何か書籍で勉強できればいいのですが、何かおすすめのものはありますでしょうか。 一応linuxの経験としては基礎的なところ(コマンドなど)はあるのですが、それ以外はさっぱりという感じです。もし何か勉強法のアドバイスもいただけたら幸いです。
angel_p_57

2020/11/21 10:39

> 何か書籍で勉強できればいいのですが、何かおすすめのものはありますでしょうか。 すいません。その手の本はほとんど買ってないので、お役に立てないですね。 > そのような知識はどのように身に着けるのでしょうか。 昔は、今ほどパッケージ管理も洗練されてなかったので、必要なソフトはある程度自分でカスタマイズしてビルドする必要がありました。業務上それでシステムを管理する上で、駆け出しの頃は先輩からも色々聞いて身に着けてます。 ※だから昔は、「configureからやってインストールできるくらいでないと」と言われてたりしました。 ただ、私は仕事として身に付けざるを得なかったので、という面がありますが、一般のユーザがどこまでやるべきか、というのはコメントし辛いです。 それでも、man を読めることと言うのは地味に大きいとは思います。読み辛いですが、大抵のことは書いてますし、関連項目も辿れますから。 今回であれば ldconfig や ld.so.conf というキーワードが出てきました。man ldconfig や man ld.so 等から辿っていくと、他にも lddコマンドであったり、色々広がりが出ます。
guest

0

ソースからコンパイルされたのでしょうか?
Ubuntuにcode_saturneのパッケージがありますのでインストールしてみましたが普通に起動しました。

◆ パッケージの検索
$ apt-cache search code_saturne
code-saturne - 汎用数値流体力学 (CFD) ソフトウェア
code-saturne-bin - General purpose Computational Fluid Dynamics (CFD) software - binaries
code-saturne-data - General purpose Computational Fluid Dynamics (CFD) software - data
code-saturne-doc - General purpose Computational Fluid Dynamics (CFD) software - Documentation
code-saturne-include - General purpose Computational Fluid Dynamics (CFD) software - includes

◆ パッケージのインストール
$ sudo apt install code-saturne

◆ code_saturneの起動
$ code_saturne gui

イメージ説明

起動させただけで使ったわけではないのですが、パッケージでインストールすれば
必要なライブラリは揃ってインストールされる可能性があります。
ご参考にしてください。

投稿2020/11/21 06:05

technocore

総合スコア7337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tubasa1995

2020/11/21 09:11

ソースからコンパイルをしました。 ただ、やり方はpythonのスクリプトが提供されているので それを用いて半自動的に作業が進みました。 technocoreさんの言う通りに sudo apt install code_saturneをしたのですが なぜか E:Unable to locate package code_saturne となりました。 これはどうすればよいのでしょうか。
Tubasa1995

2020/11/21 09:14

打ち間違えでした。 technocoreさんいう通りにできれば とりあえずインストールはできたので試してみます。
technocore

2020/11/21 09:15 編集

誤)code_saturne 正)code-saturne よく見てください。 自己解決されました。(時差違い)
Tubasa1995

2020/11/21 09:21

確認したのですが上記でインストールした場合 かなり古いバージョンのものがインストールされました。 なるべく新しいものが必要なので、やはり他の方法しかないでしょうか。。
Tubasa1995

2020/11/21 09:24

最新のバージョンが6なので せめて5以上のバージョンが欲しいかと思っています。 上記のインストールでは4.2でした。
technocore

2020/11/21 09:26

こちらのUbuntuで確認したらVersion 6.0でした。 そんなに古いですか?
Tubasa1995

2020/11/21 09:27

technocoreさんのGUIの画面が私のものと少し違うのですが バージョンを確認していただけませんか? Help>Aboutでバージョンが確認できます。 もしかしたら、試したのがUbunts16だったので code_saturneも古いものがインストールされたのかもしれません。
Tubasa1995

2020/11/21 09:28

Ubuntsをuogradeすれば、新しいものがインストールされるようなので試してみます。
Tubasa1995

2020/11/21 09:29

一つ質問よりしいでしょうか? 上記のようにパッケージをインストールしたものと ソースからビルド等をしたものでは何か異なるのでしょうか。
technocore

2020/11/21 09:36

ソースコードの出元が同じ(code-saturne.org)ですから、バージョンが同じなら気にしなくてもいいと思いますが。 なにか心配ですか?
Tubasa1995

2020/11/21 09:37

こんな簡単なやり方があるとは思わず 1週間ほど悩んでいたのがなんだったのかと思いまして。。。
technocore

2020/11/21 09:40

Ubuntuは科学技術、数学関係のパッケージが豊富です。 パッケージ検索すれば結構ヒットします。
Tubasa1995

2020/11/21 10:10

Ubunts18で試したところ またversion4.2でした。 technocoreはUbunts20を使用してますか?
technocore

2020/11/21 10:23

こんな感じですね。 ◆ ubuntuのバージョン VERSION="20.04.1 LTS (Focal Fossa)" ◆ code-saturneのバージョン Package: code-saturne Architecture: amd64 Version: 6.0.2-1 Priority: optional Section: universe/science
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問