1

ここからのStructure From Motionの例(SFM by Nghiaho)を使用しようとしています。実行プロセスの2番目の部分に問題があります。 PMVS2(パッチベースのマルチビューステレオソフトウェア)をpmvs2 docからダウンロードしました。 は私が/のpmvs-2 /プログラム/メインフォルダ内のターミナルを開き、入力した:ファイル options.txtがプロセスの最初のステップで作成された共有ライブラリの読み込み中にエラーが発生しました:libgfortran.so.1:間違ったELFクラス:ELFCLASS32

./pmvs2 myfolder/options.txt 

。私は、このエラーが発生しました:

./pmvs2: error while loading shared libraries: libgfortran.so.1: wrong ELF 
class: ELFCLASS32 

私はプログラムの64ビットバージョンを実行しているとのgfortranライブラリが32ビット用にコンパイルされるため、問題があることが分かりました。 Iましlibgfortran.so.3は/ usr/lib32が/フォルダに、私はと仮想リンク作成した名前のファイル:私は私が今何をすべきか分からない

ln -s /usr/lib32/libgfortran.so.3 /usr/lib32/libgfortran.so.1 

を。

+1

バージョン1からバージョン3へのシンボリックリンクは、何か良いことをするつもりはありません。ライブラリには正当な理由で異なるバージョン番号があります。は互換性がありません。 32/64ビット問題では、実際には何も変更されません。 64ビットgfortranをインストールしようとしましたか?そうでない場合、なぜですか?それは明らかなことです。 –

+0

また、tag [tag:C++]はなぜですか?なぜ[tag:fortran]にタグを付けないのですか? –

+0

私はもちろん64bit版のgoogled、私は何か有用なものを見つけられませんでした。私はこの世界でとても新しいです。 –

答えて

1

ソフトウェアはクローズソースであり、バイナリとして配布されているようです。あまりよくない。 RedHat Linux 4.1の多くの共有ライブラリにも依存します。それは非常に悪く、非常にプロフェッショナルではありません。 RedHat 4.1と最新のUbuntuはバイナリ互換ではありません。

非常に簡単に動作させることはできません。これらのライブラリはすべてドキュメントhttp://www.di.ens.fr/pmvs/documentation.htmlにインストールする必要があり、そこに記載されているバージョンにインストールする必要があります。

あなたは本当にlibgfortran 3を必要なlibgfortran 1の代わりに使用することはできません。互換性はありません。 ABIは2つのバージョン間で2回変更されています。バージョン3でプログラムを実行すると、クラッシュする可能性があります。ドキュメントにリンクされているバージョンが必要です。それらのすべてをインストールする幸運。

ドキュメントには、パッケージ内のいくつかのソースコードも含まれています。しかし、私は彼らがほんのいくつかのサンプルプログラムであることを恐れています。実際にPMVS2ライブラリ全体のソースコードであれば、自分でコンパイルしてバイナリを忘れるほうがずっと良いでしょう。

+0

答えをありがとう。問題は、それらをインストールする簡単な方法(難しいものではない)を見つけることができないことです。このgfortranライブラリは私を夢中にしています。他のライブラリにはほとんど問題はありませんでしたが、インストールしても問題ありませんでした。このライブラリでは同じではありません。 –

+0

ソースからgfortranをコンパイルする必要があります。それは非常に古いバージョンです。おそらくバージョン4.1。他の方法はありません。既存のバイナリはありません。ソースから自分でコンパイルする必要があります。 –

+0

私は試してみるつもりです、私はあなたに知らせるでしょう。便利なウェブサイトをリンクできますか?ありがとう! –

関連する問題