Dar*_*des 3 compiling cmake 20.04
下载的软件包为 avogadro-1.2.0.tar.gz 并放入 home/src 文件夹中;解压到同一文件夹中。我从 INSTALL 文件夹中完成了第 2 步,在这里......
\nRequirements\n============\n -- CMake 2.8.9 or later (2.8.11 recommended)\n -- Qt 4.6.0 or later (4.8.5 recommended)\n -- OpenBabel 2.3.x or later (development version from \n http://github.org/openbabel/openbabel is recommended)\n -- Eigen 2.0.x or later (3.x also supported)\n\n\nBasic Installation\n==================\nThese instructions give a very basic overview of how to configure, compile and\ninstall Avogadro on most systems. If you are using unique install locations\nand/or libraries are not automatically detected please consult the 'Advanced'\nsection.\n\n1. Create a 'build' directory in the package source directory.\n\n mkdir build\n cd build\n\n2. Configure the build system\n\n cmake ../\n\n3. Compile\n\n make -j2\n\n4. Install\n\n sudo make install\nRun Code Online (Sandbox Code Playgroud)\n也就是说,输入后
\ncmake ../\nRun Code Online (Sandbox Code Playgroud)\n我收到以下错误,
\ndarren@darren-Vostro-3560:~/src/avogadro-1.2.0/build$ cmake ../\n-- The build type is RelWithDebInfo\nCMake Error at /usr/share/cmake-3.16/Modules/FindQt4.cmake:1314 (message):\n Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x\nCall Stack (most recent call first):\n CMakeLists.txt:226 (find_package)\n\n\n-- Configuring incomplete, errors occurred!\nSee also "/home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeOutput.log".\nSee also "/home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeError.log".\nRun Code Online (Sandbox Code Playgroud)\nCMakeOutput.log 说,由于太长而被剪断,但可以提供。
\n和 CMakeError.log 说,
\nPerforming C++ SOURCE FILE Test COMPILES_WITHOUT_FPERMISSIVE failed with the following output:\nChange Dir: /home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeTmp\n\nRun Build Command(s):/usr/bin/make cmTC_842a7/fast && /usr/bin/make -f CMakeFiles/cmTC_842a7.dir/build.make CMakeFiles/cmTC_842a7.dir/build\nmake[1]: Entering directory '/home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeTmp'\nBuilding CXX object CMakeFiles/cmTC_842a7.dir/src.cxx.o\n/usr/bin/c++ -fvisibility=hidden -fvisibility-inlines-hidden -DCOMPILES_WITHOUT_FPERMISSIVE -o CMakeFiles/cmTC_842a7.dir/src.cxx.o -c /home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeTmp/src.cxx\n/home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeTmp/src.cxx:6:17: error: declaration of \xe2\x80\x98auto_ptr<_Tp> counted_ptr<_Tp>::auto_ptr()\xe2\x80\x99 changes meaning of \xe2\x80\x98auto_ptr\xe2\x80\x99 [-fpermissive]\n 6 | auto_ptr<_Tp> auto_ptr();\n | ^~~~~~~~\n/home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeTmp/src.cxx:2:28: note: \xe2\x80\x98auto_ptr\xe2\x80\x99 declared here as \xe2\x80\x98class auto_ptr<_Tp>\xe2\x80\x99\n 2 | template <class _Tp> class auto_ptr {};\n | ^~~~~~~~\nmake[1]: *** [CMakeFiles/cmTC_842a7.dir/build.make:66: CMakeFiles/cmTC_842a7.dir/src.cxx.o] Error 1\nmake[1]: Leaving directory '/home/darren/src/avogadro-1.2.0/build/CMakeFiles/CMakeTmp'\nmake: *** [Makefile:121: cmTC_842a7/fast] Error 2\n\n\nSource file was:\n\ntemplate <class _Tp> class auto_ptr {};\ntemplate <class _Tp>\nstruct counted_ptr\n{\n auto_ptr<_Tp> auto_ptr();\n};\nint main() {return 0;}\nRun Code Online (Sandbox Code Playgroud)\n我说,请帮忙。
\nAvogadro 1.2 需要 Qt4,但由于 Qt5 可用,Qt4 已被弃用。您可以使用以下命令直接安装(无需编译)较新版本(1.93.0)的 Avogadro
sudo apt install avogadro
Run Code Online (Sandbox Code Playgroud)
如果您确实需要旧版本,请首先从 Rock Core Team PPA安装 Qt4 (请注意,我还没有测试过它,因此使用风险自负。但是,此 PPA 的下载量已超过 50000 次,因此可能是安全的。)。
sudo add-apt-repository ppa:rock-core/qt4
sudo apt update
Run Code Online (Sandbox Code Playgroud)
然后安装 Qt4 库
sudo apt install qt4-x11 libqt4-dev
Run Code Online (Sandbox Code Playgroud)
cmake ../现在再次继续。
| 归档时间: |
|
| 查看次数: |
6695 次 |
| 最近记录: |