我在运行Ubuntu 12.04 LTS的桌面上安装了 metis 5.1.0 。
最近我编译了一个并行配置的软件,找不到文件/opt/metis/metis-5.1.0/lib/ libmetis.a 并引发致命错误。
这对我来说很奇怪,因为早期版本的相同软件和现有的metis安装都很好。
我有证据表明已经安装了 libmetis.a ,来自第一个metis安装的stderr + stout文件。
例如,从make install
的输出中的某处我可以看到:
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
-- Installing: /opt/metis/metis-5.1.0/include/metis.h
-- Installing: /opt/metis/metis-5.1.0/lib/libmetis.a
-- Installing: /opt/metis/metis-5.1.0/bin/gpmetis
因此,某些操作必须在某些时候删除libmetis.a。 我没有回忆或知道哪个行动可以做到这一点。
然后我通过运行我第一次使用的相同脚本重新安装了相同版本的metis。程序是
sudo make uninstall
sudo make clean
sudo make config prefix=/opt/metis/metis-5.1.0 shared=1 cc=gcc gdb=1 debug=1
sudo make
sudo make install
stdout + sterr中的相应行已改变
/usr/local/bin/cmake -P cmake_install.cmake
-- Install configuration: ""
-- Installing: /opt/metis/metis-5.1.0/include/metis.h
-- Installing: /opt/metis/metis-5.1.0/lib/libmetis.so
-- Installing: /opt/metis/metis-5.1.0/bin/gpmetis
make install
的新旧stderr + stdout,我看到cmake已经在第一次安装中进行了大量工作。不幸的是,我已经覆盖了第一次安装的文件,无法提供更多细节。总结我所说的变化是
shared=1
,但是曾经使用脚本来打算忠实地重复所有操作。 (虽然并非总是正确编码正确的意图。)目标是再次按照并行软件的要求将libmetis.a文件放在适当的位置。
解决此问题的任何建议提示和智慧?提前感谢您的思考。