我在桌面上交叉编译一个项目,并将其安装在通过ssh安装的设备上,使用sshfs,像这样。
sudo sshfs -o allow_other -o follow_symlinks [email protected]:/ /mnt/remote
构建成功,但当我尝试 "sudo make install "时,我收到了以下消息:
-- Installing: /mnt/remote/usr/lib/libprop.so.5.1.5
-- Installing: /mnt/remote/usr/lib/libprop.so.5
CMake Error: failed to create symbolic link '/mnt/remote/usr/lib/libprop.so.5': i/o error
CMake Error at cmake_install.cmake:176 (file):file INSTALL cannot duplicate symlink
"/home/ubuntu/libprop/build/lib/libprop.so.5" at
"/mnt/remote/usr/lib/libprop.so.5".
库和符号链接被复制和创建了。也就是说,似乎安装真的成功了,但CMake却不这么认为。文件系统不是ro,可以在 mount
输出。
[email protected]:/ on /mnt/remote type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)
我可以看到mnt下的条目(我把它的chown和chmod改为用户访问,认为这可能会解决这个问题)。
drwxrwxr-x 1 ubuntu ubuntu 4096 Mar 11 13:43 remote
而且我可以在没有root权限的情况下访问它,复制和删除文件都没有问题。这个过程对我来说一直是有效的。我不知道是什么改变了,它停止了。可能是我的环境或目标平台的问题。
如果有任何帮助,我将感激不尽。
好了,我发现问题了...... 我不应该使用 -o follow_symlinks
. 我想这可能会引起其他问题(我用它是有原因的),但对于编译和安装的目的,它是有效的。