Doxygen安装无法将文件".../doxygen/build/bin/doxygen"复制到"/usr/local/bin/doxygen"。

7
在尝试让Doxygen工作时,解决了一些 初始问题后,我在按照 Doxygen安装教程时遇到了下一个错误。
到目前为止,已经解决的问题:
git clone https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
sudo apt-get install flex(它缺失了,所以我必须在cmake之前安装它)
sudo apt-get install bison(它缺失了,所以我必须在cmake之前安装它)
cmake -G "Unix Makefiles" ..
make

但是在make install时,我遇到了以下错误:

test@test-VirtualBox:~/doxygen/build$ make install
[  1%] Built target md5
[ 19%] Built target qtools
[ 24%] Built target vhdlparser
[ 92%] Built target _doxygen
[ 98%] Built target doxycfg
[100%] Built target doxygen
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/doxygen
CMake Error at src/cmake_install.cmake:42 (file):
  file INSTALL cannot copy file "/home/test/doxygen/build/bin/doxygen" to
  "/usr/local/bin/doxygen".
Call Stack (most recent call first):
  cmake_install.cmake:40 (include)



Makefile:148: recipe for target 'install' failed
make: *** [install] Error 1

我需要做哪些步骤才能消除这个错误?

编辑 我检查了这两条路径,第一条存在,另一条具有以下权限:

test@test-VirtualBox:/usr/local$ ls -la
total 44
drwxr-xr-x 11 root root 4096 Apr  2 00:03 .
drwxr-xr-x 11 root root 4096 Feb 28 19:35 ..
drwxr-xr-x  2 root root 4096 Feb 28 19:25 bin

对于Ubuntu,也有一个预编译包,请参见doxygen.org,您可以使用它(对于您的初始测试应该足够了吗)?关于错误,您检查了/home/test/doxygen/build/bin/doxygen是否存在,并且/usr/local/bin目录是否存在并且对您可写吗? - albert
@albert /home/test/doxygen/build/bin/doxygen 存在,我该如何检查另一个目录是否对我可写? - Cold_Class
运行命令 ls -ls /usr/local/bin 并检查权限。另一种选择是运行 touch /usr/local/bin/dummy_dummy,看看是否会出现错误(当不可写时),然后再使用 rm /usr/local/bin/dummy_dummy 命令删除该文件。 - albert
@albert 我们已经有了进展: test@test-VirtualBox:/usr/local$ touch /usr/local/bin/dummy_dummy touch:无法触碰'/usr/local/bin/dummy_dummy':权限被拒绝 - Cold_Class
3
像往常一样,使用“sudo make install”将软件包安装到系统范围的位置。 - Tsyvarev
@albert 谢谢,问题已解决 - 如果您愿意,可以将其发布为答案 :) - Cold_Class
1个回答

10

关于安装,当目标目录(默认为 /usr/local/bin)没有正确的权限时,请检查目录权限,使用以下命令:

sudo make install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接