我正在尝试使用此处的结构运动示例(SFM by Nghiaho)。我在运行过程的第二部分遇到了一些问题: 我从这里pmvs2 doc下载了PMVS2(基于补丁的多视图立体声软件)。 我在/ pmvs-2 / program / main文件夹中打开了终端并输入了:
./pmvs2 myfolder/options.txt
在此过程的第一步中创建了 options.txt 文件。我有这个错误:
./pmvs2: error while loading shared libraries: libgfortran.so.1: wrong ELF
class: ELFCLASS32
我发现问题是因为我正在运行64位版本的程序而gfortran库是针对32位编译的。 我在/ usr / lib32 /文件夹中有一个名为 libgfortran.so.3 的文件,我创建了一个虚拟链接:
ln -s /usr/lib32/libgfortran.so.3 /usr/lib32/libgfortran.so.1
我不知道我现在要做什么。
答案 0 :(得分:1)
看起来该软件是封闭源代码并以二进制形式分发。不是很好。它还依赖于RedHat Linux 4.1中的许多共享库。这非常糟糕,非常不专业。 RedHat 4.1和现代Ubuntu不是二进制兼容的。
让它工作起来并不容易。您必须在文档http://www.di.ens.fr/pmvs/documentation.html中安装所有这些库,并且必须将它们安装在那里提到的那些版本中。
你真的不能只使用libgfortran 3而不是使用它而不是所需的libgfortran 1.它们不兼容。 ABI在这两个版本之间改变了两次。如果您确实设法运行版本3的程序,它可能会崩溃。您需要文档中链接的那些版本。祝你好好安装所有这些。
文档还提到了包中的一些源代码。但是我担心它们只是一些示例程序。如果它们实际上是整个PMVS2库的源代码,那么自己编译并忘记二进制文件会好得多。