解析環境の再インストールに関するご質問
🆀 OS移行に伴って解析環境を再インストールしたいのですが、どのようにしたらよいでしょうか。(Ubuntu Linux 22.04 の場合)
🅐 これは解析環境をどのように構築されたかに依存するので、一概には言えませんが、一般論としてCent OS 7上で、ご自分でC言語のコードをコンパイルされた部分については、すべて再コンパイルが必要です。
CondaやRのパッケージが裏でC言語のコード を呼んでいる場合も同様です。
FAQのページ を参考にして、
- 一度、
.bashrc
などシェル設定ファイルを初期状態に戻す。 - 初期状態に戻したら、tarball からインストールしたプログラムを再インストールする。
- conda や R のパッケージなどをインストールしなおす。
という手順になります。
Ubuntu Linux 22.04 にした際、インストールしてあるライブラリやツールについて大幅に拡充しました。tarball からのインストールも簡略化されました。
🆀 tarball からコンパイルし直しましたが、make の時に、以下のエラーが出ます。
collect2: error: ld returned 1 exit status
🅐 CentOS 7 の時にコンパイルしたライブラリが残っていて、そのライブラリをリンクしに行くため、このエラーが出ていると考えられます。
CentOS 7 の環境でコンパイルされたライブラリは、Ubuntu の環境では使うことができないので、CentOS 7 の環境でコンパイルされたライブラリは削除して、コンパイルしなおしてください。
コンパイルをし直しても同様のエラーが出る場合は、環境変数の設定が合っていないことが考えられます。 .bash_profile
, .bashrc
を初期状態に戻したのち、エラーが出なくなるかどうかご確認ください。
初期状態に戻す方法は、FAQ の「ソフトウェア一般」をご参照ください。
conda などを利用している場合、環境変数がそこで書き換えられているので、これにより影響を受けている場合があります。conda 環境を抜けてコンパイルからやり直し、エラーが出なくなるかどうかご確認ください。
🆀 何かプログラムを実行しようとすると、以下のようなライブラリに関するエラーが出ます。OS 移行前は問題なく実行できていました。
error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
🅐 このエラーは以前の CentOS7 に付属するライブラリのバージョンと、今の Ubuntu Linux 22.04 に付属するライブラリのバージョンが違うために出ています。 CentOS 7 のときに tarball からインストールしていた場合、このようなエラーが出る可能性があります。
お手数ですが tarball からコンパイルをし直してください。
コンパイルをし直しても同様のエラーが出る場合は、環境変数の設定が合っていないことが考えられます。 .bash_profile
, .bashrc
を初期状態に戻したのち、エラーが出なくなるかどうかご確認ください。
初期状態に戻す方法は、FAQ の「ソフトウェア一般」をご参照ください。
conda などを利用している場合、環境変数がそこで書き換えられているので、これにより影響を受けている場合があります。conda 環境を抜けてコンパイルからやり直し、エラーが出なくなるかどうかご確認ください。
🆀 R を使用したいのですが、以下のようなエラーが出ます。
error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory
🅐 今回、CentOS 7 が 2024 年 6 月 30 日に End-Of-Life を迎えることを受け、定期メンテナンスで CentOS 7.9 から Ubuntu Linux 22.04LTS への移行を行いました。CentOS7 はもう Linux カーネルのバージョンが古く、Aspera client やバイオインフォマティックスのツールについてインストールできなくなったものがいくつも出てきていました。 このような事情ですのでお手数ですが解析環境の再インストールをお願いいたします。
error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory
この種のエラーは以前の CentOS7 に付属するライブラリのバージョンと、今の Ubuntu Linux 22.04 に付属するライブラリのバージョンが違うために出ています。
対処方法は 2 つあります。
i) Ubuntu Linux 22.04 に付属する R を利用する
Ubuntu Linux 22.04 にした際、インストールしてあるライブラリやツールについて大幅に拡充しました。Rについても Ubuntu Linus の apt install でインストールできるバージョンが最初からシステムにインストールされています。apt install でインストールできる R の各種パッケ ージも既にインストールされています。
$ which R
/usr/bin/R
$ R --version
R version 4.1.2 (2021-11-01) -- "Bird Hippie"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
ii) R を再インストールする
Ubuntu Linux 22.04 への移行の結果 R の tarball からのインストールも簡略化されました。
R のダウンロードと解凍(必要なバージョンの tarball をダウンロードしてください。最新は 4.2.3 です。)
cd $HOME/local/src
wget https://cran.r-project.org/src/base/R-4/R-4.1.0.tar.gz
tar zxvf R-4.1.0.tar.gz
cd R-4.1.0
をした後、以下のコマンドだけでインストールできます。
./configure --prefix=$HOME/local
make
make install
コンパイルをし直しても同様のエラーが出る場合は、環境変数の設定が合っていないことが考えられます。 .bash_profile
, .bashrc
を初期状態に戻したのち、エラーが出なくなるかどうかご確認ください。
初期状態に戻す方法は、FAQ の「ソフトウェア一般」をご参照ください。
conda などを利用している場合、環境変数がそこで書き換えられているので、これにより影響を受けている場合があります。conda 環境を抜けてコンパイルからやり直し、エラーが出なくなるかどうかご確認ください。