Ubuntuでpipを使ってgmshをインストールする方法を紹介する
OS | Windows 10 Home 64bit |
Ubuntu | 20.04 LTS |
OpenFOAM | v2006 |
はじめに
↓Ubuntuのインストールはについてはこちら
UbuntuにデフォルトでインストールされているPythonはOSのシステムを機能させるためのものなので,そのまま使うことはできない
↓自分で使うためのPythonのインストールはこれ
それではいってみよう
gmshのインストール
今回はデスクトップに作ったgmshというフォルダーにgmshを使うための仮想環境を構築する
次のコマンドを実行して,Pythonの仮想環境(.gmshvenv)を作成しする
cd /mnt/c/Users/mtkbirdman/Desktop/gmsh
python3 -m venv .gmshvenv
. .gmshvenv/bin/activate
:/mnt/c/Users/mtkbirdman/Desktop/gmsh$ python3 -m venv .gmshvenv
:/mnt/c/Users/mtkbirdman/Desktop/gmsh$ . .gmshvenv/bin/activate
gmshはUbuntu上でpipを使ってインストールすることができる
次のコマンドを実行して,pipを使ってgmshをインストールする
pip install --upgrade pip
pip install --upgrade gmsh
(.gmshvenv) :/mnt/c/Users/mtkbirdman/Desktop/gmsh$ pip install --upgrade pip
Requirement already satisfied: pip in ./.gmshvenv/lib/python3.10/site-packages (22.2.2)
Collecting pip
Using cached pip-22.3-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.2.2
Uninstalling pip-22.2.2:
Successfully uninstalled pip-22.2.2
Successfully installed pip-22.3
(.gmshvenv) :/mnt/c/Users/mtkbirdman/Desktop/gmsh$ pip list
Package Version
---------- -------
pip 22.2.2
setuptools 63.2.0
(.gmshvenv) :/mnt/c/Users/mtkbirdman/Desktop/gmsh$ pip install --upgrade gmsh
Collecting gmsh
Downloading gmsh-4.10.5-py2.py3-none-manylinux1_x86_64.whl (38.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 38.3/38.3 MB 10.4 MB/s eta 0:00:00
Installing collected packages: gmsh
Successfully installed gmsh-4.10.5
(.gmshvenv) :/mnt/c/Users/mtkbirdman/Desktop/gmsh$ pip list
Package Version
---------- -------
gmsh 4.10.5
pip 22.3
setuptools 63.2.0
そのほか必要なライブラリをインストールする
sudo apt -y install libglu1 libxcursor-dev libxft2 libxinerama1 libfltk1.3-dev libfreetype6-dev libgl1-mesa-dev libocct-foundation-dev libocct-data-exchange-dev
(.gmshvenv) :/mnt/c/Users/mtkbirdman/Desktop/gmsh$ sudo apt-get -y install libglu1 libxcursor-dev libxft2 libxinerama1 libfltk1.3-dev libfreetype6-dev libgl1-mesa-dev libocct-foundation-dev libocct-data-exchange-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libglu1-mesa' instead of 'libglu1'
libxft2 is already the newest version (2.3.3-0ubuntu1).
libxinerama1 is already the newest version (2:1.1.4-2).
libfreetype6-dev is already the newest version (2.10.1-2ubuntu0.2).
libfreetype6-dev set to manually installed.
libgl1-mesa-dev is already the newest version (21.2.6-0ubuntu0.1~20.04.2).
The following additional packages will be installed:
fltk1.3-doc fluid libfltk-cairo1.3 libfltk-forms1.3 libfltk-gl1.3 libfltk-images1.3 libfltk1.3 libfreeimage-dev libfreeimage3 libglu1-mesa-dev libilmbase24 libjxr0 libocct-data-exchange-7.3 libocct-foundation-7.3
libocct-modeling-algorithms-7.3 libocct-modeling-algorithms-dev libocct-modeling-data-7.3 libocct-modeling-data-dev libocct-ocaf-7.3 libocct-ocaf-dev libocct-visualization-7.3 libocct-visualization-dev libopenexr24 libraw19 libtbb2
libxfixes-dev libxmu-dev libxmu-headers
Suggested packages:
libcairo2-dev libjpeg-dev libxinerama-dev
The following NEW packages will be installed:
fltk1.3-doc fluid libfltk-cairo1.3 libfltk-forms1.3 libfltk-gl1.3 libfltk-images1.3 libfltk1.3 libfltk1.3-dev libfreeimage-dev libfreeimage3 libglu1-mesa libglu1-mesa-dev libilmbase24 libjxr0 libocct-data-exchange-7.3
libocct-data-exchange-dev libocct-foundation-7.3 libocct-foundation-dev libocct-modeling-algorithms-7.3 libocct-modeling-algorithms-dev libocct-modeling-data-7.3 libocct-modeling-data-dev libocct-ocaf-7.3 libocct-ocaf-dev
libocct-visualization-7.3 libocct-visualization-dev libopenexr24 libraw19 libtbb2 libxcursor-dev libxfixes-dev libxmu-dev libxmu-headers
0 upgraded, 33 newly installed, 0 to remove and 0 not upgraded.
Need to get 34.0 MB of archives.
After this operation, 168 MB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/universe amd64 fltk1.3-doc all 1.3.4-10build1 [8810 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfltk1.3 amd64 1.3.4-10build1 [545 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfltk-forms1.3 amd64 1.3.4-10build1 [13.2 kB]
Get:4 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfltk-images1.3 amd64 1.3.4-10build1 [26.2 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal/universe amd64 fluid amd64 1.3.4-10build1 [193 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfltk-cairo1.3 amd64 1.3.4-10build1 [6512 B]
Get:7 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfltk-gl1.3 amd64 1.3.4-10build1 [38.5 kB]
Get:8 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfltk1.3-dev amd64 1.3.4-10build1 [819 kB]
Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 libglu1-mesa amd64 9.0.1-1build1 [168 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal/main amd64 libglu1-mesa-dev amd64 9.0.1-1build1 [207 kB]
Get:11 http://archive.ubuntu.com/ubuntu focal/universe amd64 libilmbase24 amd64 2.3.0-6build1 [75.1 kB]
Get:12 http://archive.ubuntu.com/ubuntu focal/universe amd64 libjxr0 amd64 1.1-6build1 [158 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal/universe amd64 libtbb2 amd64 2020.1-2 [124 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-foundation-7.3 amd64 7.3.3+dfsg1-1build1 [1253 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-modeling-data-7.3 amd64 7.3.3+dfsg1-1build1 [2638 kB]
Get:16 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-modeling-algorithms-7.3 amd64 7.3.3+dfsg1-1build1 [8103 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 libopenexr24 amd64 2.3.0-6ubuntu0.5 [592 kB]
Get:18 http://archive.ubuntu.com/ubuntu focal/main amd64 libraw19 amd64 0.19.5-1ubuntu1 [260 kB]
Get:19 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfreeimage3 amd64 3.18.0+ds2-1ubuntu3 [269 kB]
Get:20 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-visualization-7.3 amd64 7.3.3+dfsg1-1build1 [1571 kB]
Get:21 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-ocaf-7.3 amd64 7.3.3+dfsg1-1build1 [1189 kB]
Get:22 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-data-exchange-7.3 amd64 7.3.3+dfsg1-1build1 [3889 kB]
Get:23 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-foundation-dev amd64 7.3.3+dfsg1-1build1 [535 kB]
Get:24 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-modeling-algorithms-dev amd64 7.3.3+dfsg1-1build1 [799 kB]
Get:25 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-modeling-data-dev amd64 7.3.3+dfsg1-1build1 [293 kB]
Get:26 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-ocaf-dev amd64 7.3.3+dfsg1-1build1 [165 kB]
Get:27 http://archive.ubuntu.com/ubuntu focal/universe amd64 libfreeimage-dev amd64 3.18.0+ds2-1ubuntu3 [18.8 kB]
Get:28 http://archive.ubuntu.com/ubuntu focal/main amd64 libxmu-headers all 2:1.1.3-0ubuntu1 [54.2 kB]
Get:29 http://archive.ubuntu.com/ubuntu focal/main amd64 libxmu-dev amd64 2:1.1.3-0ubuntu1 [49.9 kB]
Get:30 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-visualization-dev amd64 7.3.3+dfsg1-1build1 [433 kB]
Get:31 http://archive.ubuntu.com/ubuntu focal/universe amd64 libocct-data-exchange-dev amd64 7.3.3+dfsg1-1build1 [631 kB]
Get:32 http://archive.ubuntu.com/ubuntu focal/main amd64 libxfixes-dev amd64 1:5.0.3-2 [11.4 kB]
Get:33 http://archive.ubuntu.com/ubuntu focal/main amd64 libxcursor-dev amd64 1:1.2.0-2 [26.5 kB]
Fetched 34.0 MB in 1min 33s (365 kB/s)
Extracting templates from packages: 100%
Selecting previously unselected package fltk1.3-doc.
(Reading database ... 59257 files and directories currently installed.)
Preparing to unpack .../00-fltk1.3-doc_1.3.4-10build1_all.deb ...
Unpacking fltk1.3-doc (1.3.4-10build1) ...
Selecting previously unselected package libfltk1.3:amd64.
Preparing to unpack .../01-libfltk1.3_1.3.4-10build1_amd64.deb ...
Unpacking libfltk1.3:amd64 (1.3.4-10build1) ...
Selecting previously unselected package libfltk-forms1.3:amd64.
Preparing to unpack .../02-libfltk-forms1.3_1.3.4-10build1_amd64.deb ...
Unpacking libfltk-forms1.3:amd64 (1.3.4-10build1) ...
Selecting previously unselected package libfltk-images1.3:amd64.
Preparing to unpack .../03-libfltk-images1.3_1.3.4-10build1_amd64.deb ...
Unpacking libfltk-images1.3:amd64 (1.3.4-10build1) ...
Selecting previously unselected package fluid.
Preparing to unpack .../04-fluid_1.3.4-10build1_amd64.deb ...
Unpacking fluid (1.3.4-10build1) ...
Selecting previously unselected package libfltk-cairo1.3:amd64.
Preparing to unpack .../05-libfltk-cairo1.3_1.3.4-10build1_amd64.deb ...
Unpacking libfltk-cairo1.3:amd64 (1.3.4-10build1) ...
Selecting previously unselected package libfltk-gl1.3:amd64.
Preparing to unpack .../06-libfltk-gl1.3_1.3.4-10build1_amd64.deb ...
Unpacking libfltk-gl1.3:amd64 (1.3.4-10build1) ...
Selecting previously unselected package libfltk1.3-dev.
Preparing to unpack .../07-libfltk1.3-dev_1.3.4-10build1_amd64.deb ...
Unpacking libfltk1.3-dev (1.3.4-10build1) ...
Selecting previously unselected package libglu1-mesa:amd64.
Preparing to unpack .../08-libglu1-mesa_9.0.1-1build1_amd64.deb ...
Unpacking libglu1-mesa:amd64 (9.0.1-1build1) ...
Selecting previously unselected package libglu1-mesa-dev:amd64.
Preparing to unpack .../09-libglu1-mesa-dev_9.0.1-1build1_amd64.deb ...
Unpacking libglu1-mesa-dev:amd64 (9.0.1-1build1) ...
Selecting previously unselected package libilmbase24:amd64.
Preparing to unpack .../10-libilmbase24_2.3.0-6build1_amd64.deb ...
Unpacking libilmbase24:amd64 (2.3.0-6build1) ...
Selecting previously unselected package libjxr0:amd64.
Preparing to unpack .../11-libjxr0_1.1-6build1_amd64.deb ...
Unpacking libjxr0:amd64 (1.1-6build1) ...
Selecting previously unselected package libtbb2:amd64.
Preparing to unpack .../12-libtbb2_2020.1-2_amd64.deb ...
Unpacking libtbb2:amd64 (2020.1-2) ...
Selecting previously unselected package libocct-foundation-7.3:amd64.
Preparing to unpack .../13-libocct-foundation-7.3_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-foundation-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-modeling-data-7.3:amd64.
Preparing to unpack .../14-libocct-modeling-data-7.3_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-modeling-data-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-modeling-algorithms-7.3:amd64.
Preparing to unpack .../15-libocct-modeling-algorithms-7.3_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-modeling-algorithms-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libopenexr24:amd64.
Preparing to unpack .../16-libopenexr24_2.3.0-6ubuntu0.5_amd64.deb ...
Unpacking libopenexr24:amd64 (2.3.0-6ubuntu0.5) ...
Selecting previously unselected package libraw19:amd64.
Preparing to unpack .../17-libraw19_0.19.5-1ubuntu1_amd64.deb ...
Unpacking libraw19:amd64 (0.19.5-1ubuntu1) ...
Selecting previously unselected package libfreeimage3:amd64.
Preparing to unpack .../18-libfreeimage3_3.18.0+ds2-1ubuntu3_amd64.deb ...
Unpacking libfreeimage3:amd64 (3.18.0+ds2-1ubuntu3) ...
Selecting previously unselected package libocct-visualization-7.3:amd64.
Preparing to unpack .../19-libocct-visualization-7.3_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-visualization-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-ocaf-7.3:amd64.
Preparing to unpack .../20-libocct-ocaf-7.3_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-ocaf-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-data-exchange-7.3:amd64.
Preparing to unpack .../21-libocct-data-exchange-7.3_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-data-exchange-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-foundation-dev:amd64.
Preparing to unpack .../22-libocct-foundation-dev_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-foundation-dev:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-modeling-algorithms-dev:amd64.
Preparing to unpack .../23-libocct-modeling-algorithms-dev_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-modeling-algorithms-dev:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-modeling-data-dev:amd64.
Preparing to unpack .../24-libocct-modeling-data-dev_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-modeling-data-dev:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-ocaf-dev:amd64.
Preparing to unpack .../25-libocct-ocaf-dev_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-ocaf-dev:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libfreeimage-dev.
Preparing to unpack .../26-libfreeimage-dev_3.18.0+ds2-1ubuntu3_amd64.deb ...
Unpacking libfreeimage-dev (3.18.0+ds2-1ubuntu3) ...
Selecting previously unselected package libxmu-headers.
Preparing to unpack .../27-libxmu-headers_2%3a1.1.3-0ubuntu1_all.deb ...
Unpacking libxmu-headers (2:1.1.3-0ubuntu1) ...
Selecting previously unselected package libxmu-dev:amd64.
Preparing to unpack .../28-libxmu-dev_2%3a1.1.3-0ubuntu1_amd64.deb ...
Unpacking libxmu-dev:amd64 (2:1.1.3-0ubuntu1) ...
Selecting previously unselected package libocct-visualization-dev:amd64.
Preparing to unpack .../29-libocct-visualization-dev_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-visualization-dev:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libocct-data-exchange-dev:amd64.
Preparing to unpack .../30-libocct-data-exchange-dev_7.3.3+dfsg1-1build1_amd64.deb ...
Unpacking libocct-data-exchange-dev:amd64 (7.3.3+dfsg1-1build1) ...
Selecting previously unselected package libxfixes-dev:amd64.
Preparing to unpack .../31-libxfixes-dev_1%3a5.0.3-2_amd64.deb ...
Unpacking libxfixes-dev:amd64 (1:5.0.3-2) ...
Selecting previously unselected package libxcursor-dev:amd64.
Preparing to unpack .../32-libxcursor-dev_1%3a1.2.0-2_amd64.deb ...
Unpacking libxcursor-dev:amd64 (1:1.2.0-2) ...
Setting up libxmu-headers (2:1.1.3-0ubuntu1) ...
Setting up libjxr0:amd64 (1.1-6build1) ...
Setting up libfltk1.3:amd64 (1.3.4-10build1) ...
Setting up libfltk-gl1.3:amd64 (1.3.4-10build1) ...
Setting up libtbb2:amd64 (2020.1-2) ...
Setting up libraw19:amd64 (0.19.5-1ubuntu1) ...
Setting up libfltk-cairo1.3:amd64 (1.3.4-10build1) ...
Setting up libxmu-dev:amd64 (2:1.1.3-0ubuntu1) ...
Setting up libfltk-images1.3:amd64 (1.3.4-10build1) ...
Setting up libilmbase24:amd64 (2.3.0-6build1) ...
Setting up libxfixes-dev:amd64 (1:5.0.3-2) ...
Setting up libfltk-forms1.3:amd64 (1.3.4-10build1) ...
Setting up libopenexr24:amd64 (2.3.0-6ubuntu0.5) ...
Setting up fltk1.3-doc (1.3.4-10build1) ...
Setting up libglu1-mesa:amd64 (9.0.1-1build1) ...
Setting up libfltk1.3-dev (1.3.4-10build1) ...
Setting up libfreeimage3:amd64 (3.18.0+ds2-1ubuntu3) ...
Setting up libocct-foundation-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libxcursor-dev:amd64 (1:1.2.0-2) ...
Setting up fluid (1.3.4-10build1) ...
Setting up libglu1-mesa-dev:amd64 (9.0.1-1build1) ...
Setting up libocct-foundation-dev:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libfreeimage-dev (3.18.0+ds2-1ubuntu3) ...
Setting up libocct-modeling-data-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-modeling-data-dev:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-modeling-algorithms-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-modeling-algorithms-dev:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-visualization-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-ocaf-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-ocaf-dev:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-data-exchange-7.3:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-visualization-dev:amd64 (7.3.3+dfsg1-1build1) ...
Setting up libocct-data-exchange-dev:amd64 (7.3.3+dfsg1-1build1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for shared-mime-info (1.15-1) ...
Processing triggers for mime-support (3.64ubuntu1) ...
インストールできたか確かめる
gmsh -version
(.gmshvenv) :/mnt/c/Users/mtkbirdman/Desktop/gmsh$ gmsh -version
4.10.5
これでgmshのインストールは完了である
まとめ
Ubuntuでpipを使ってgmshをインストールすることができた
Ubuntuでpipを使ってgmshをインストールする方法を紹介する
gmshのインストール
gmshは,Ubuntu上でpipを使ってインストールすることができる
≫gmsh · PyPI
Ubuntuにはデフォルトでpythonがインストールされているが,このpythonを使ってインストールしてもうまくいかなかった
具体的にいうと,pythonのプログラム内でimport gmshを実行するとModuleNotFoundというエラーが出た
≫pipでモジュールを確かにインストールしたはずがModuleNotFoundErrorと出た時の解決法初心者的理解 - Qiita
原因を調べてみると,sys.pathに含まれているディレクトリにgmsh-4.6.0.dist-infoしかインストールされておらず,肝心のgmshがインストールできていなかった.(原因は不明)
途方に暮れてLinuxに造詣の深い友人に相談したところ,pythonはバージョンの違いにうるさく,ちょっとしたバージョンの違いでこういうエラーが起こると教えてもらった
というわけで,pythonの仮想環境を構築することにした
Pythonの仮想環境を構築する
仮想環境ってなんぞやとなったので調べてみると,次のような記事を見つけた
まとめると,
・pythonはバージョンが違うと動かないことがよくある
・PCに1つのバージョンのpythonしか入っていないと,いろいろなバージョンのpythonで書かれたプログラムに対応できない
・Pythonのライブラリを大量にインストールすると,それらが干渉しあって悪さすることがある
→作業をするディレクトリごとに適したバージョンのPythonを設定し,必要な分だけのライブラリをインポートした環境(=仮想環境)を作ろう!
ということらしい.
面倒くさい.FortranならgfortranをインストールしてPATHを設定するだけなのに
仮想環境を設定するために,次のサイトを参考にpyenvをインストールした
仮想環境でgmshをインストールする
実際に仮想環境を構築してgmshをインストールしてみる
≫pyenvのインストール、使い方、pythonのバージョン切り替えできない時の対処法 - Qiita
まず,pyenvでインストールできるPythonのバージョンを確認する
/test$ pyenv install --list
Available versions:
2.1.3
2.2.3
(中略)
3.7.8
3.8.0
3.8-dev
3.8.1
3.8.2
3.8.3
(後略)
むちゃくちゃ長いリストが表示されるが,ここでは3.8.3をインストールする
ところが次のようなエラーが出てきた
/test$ pyenv install 3.8.3
Downloading Python-3.8.3.tar.xz...
-> https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz
error: failed to download Python-3.8.3.tar.xz
BUILD FAILED (Ubuntu 20.04 using python-build 1.2.19-5-g0164e2bd)
/test$
わけがわからない
Linuxに造詣の深い友人のアドバイスをもとに,-vオプションをつけてやってみる
≫install コマンド – ファイルの権限などを設定してコピー _ Linuxコマンド.NET
/test$ pyenv install 3.8.3 -v
/tmp/python-build.20200711221713.915 /mnt/c/Users/mtk_m/OneDrive/Documents/OpenFOAM/test
Downloading Python-3.8.3.tar.xz...
-> https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz
aria2c: /opt/OpenFOAM/ThirdParty-v2006/platforms/linux64/gcc-6.3.0/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /lib/x86_64-linux-gnu/libaria2.so.0)
error: failed to download Python-3.8.3.tar.xz
BUILD FAILED (Ubuntu 20.04 using python-build 1.2.19-5-g0164e2bd)
/test$
aria2c: /opt/OpenFOAM/ThirdParty-v2006/platforms/linux64/gcc-6.3.0/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /lib/x86_64-linux-gnu/libaria2.so.0) というエラー文が出てきた
なにやらC++に関するGLIBCXX_3.4.26というファイルがないらしい
≫libstdc++.so.6_ version `GLIBCXX_3.4.22' not found - Qiita
このサイトを参考に,確認してみる
/test$ strings /opt/OpenFOAM/ThirdParty-v2006/platforms/linux64/gcc-6.3.0/lib64/libs
tdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_DEBUG_MESSAGE_LENGTH
たしかにGLIBCXX_3.4.22までしかない
さらに調べてみると,同じようなエラーで苦しんで,解決した人を発見した
≫[OpenFOAM.com] openfoam v2006 wsl2 ubuntu 20.04 GLIBCXX_3.4.26 not found -- CFD Online Discussion Forums
解決策は次の通り
≫GLIBCXX_3.4.26 not found in RCall - Usage - JuliaLang
GLIBCXX_3.4.26がないなら別の場所からコピーして持ってくればいいじゃない,という解決策.それでいいのかLinux
/usr/lib/x86_64-linux-gnu/の方を調べてみると普通にGLIBCXX_3.4.28まであったので,これをいただいてくることにした
/test$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
次のコマンドを実行する
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/OpenFOAM/ThirdParty-v2006/platforms/linux64/gcc-6.3.0/lib64/
確認してみる
/test$ strings /opt/OpenFOAM/ThirdParty-v2006/platforms/linux64/gcc-6.3.0/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_DEBUG_MESSAGE_LENGTH
成功した
これでようやくpython3.8.3をインストールできる
/test$ pyenv install 3.8.3
(略)
/test$ pyenv local 3.8.3
/test$ python --version
Python 3.8.3
というわけで,仮想環境が構築できた
最後に,gmshをpipでインストールする
≫gmsh · PyPI
/test$ pip install --upgrade gmsh
Collecting gmsh
Using cached https://files.pythonhosted.org/packages/1d/ed/372df81ed068fbee7dfbdcca391168dcc30e34b1bd016066625330d9362a/gmsh-4.6.0.tar.gz
Installing collected packages: gmsh
Running setup.py install for gmsh ... done
Successfully installed gmsh-4.6.0
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
/test$
本当にできているか確認してみる
/test$ gmsh -version
4.6.0
/test$
きちんと最新バージョンがインストールできている
Pythonのインタラクティブシェルでgmshをimportしてみる
/test$ python
Python 3.8.3 (default, Jul 11 2020, 22:44:23)
[GCC 6.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gmsh
>>> exit()
/test$
問題なくimportできた
これでgmshのインストールは完了である
まとめ
Ubuntuでpipを使ってgmshをインストールすることができた
まあこの記事で大事なことは「持つべきものはLinuxに造詣の深い友人」ってこと
ありがとう
コメント