You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下PotreeConverter安装及运行报错问题求助

PotreeConverter安装与运行问题解决

问题描述

按照官方说明在Linux系统安装PotreeConverter(master分支)时遇到两个问题:

  1. 执行sudo make install报错:make: *** No rule to make target 'install'. Stop.
  2. 手动将build目录下的PotreeConverter二进制文件复制到/usr/bin后,执行转换命令出现文件系统错误:
terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot make canonical path: No such file or directory [/home/username/Documents/potreeExamplesNubePuntos/PotreeConverter]
[1]    23691 IOT instruction (core dumped)  PotreeConverter ./DenseCloud9_2.las -o . --generate-page potree_page_2

但直接运行build目录下的本地二进制文件能正常工作。

原因分析

  1. make install失败原因:PotreeConverter的master分支CMake配置未添加install规则,没有对应的安装目标,因此make install无法执行。
  2. 复制二进制后运行报错原因:PotreeConverter运行时需要读取自身所在目录同级的resources文件夹(包含网页模板、前端依赖文件等)。将二进制单独复制到/usr/bin后,程序找不到对应的resources目录,从而触发路径错误。本地build目录下的二进制能正常运行,是因为PotreeConverter根目录下的resources文件夹与build目录同级,程序可以正确定位到该资源目录。

解决方法

方法一:完整部署程序与资源文件

这是最直接且无需修改源码的方案:

  1. 创建专门的部署目录:
sudo mkdir -p /opt/PotreeConverter
  1. 将build目录下的PotreeConverter二进制复制到该目录:
sudo cp /home/myuser/PotreeConverter/build/PotreeConverter /opt/PotreeConverter/
  1. 将PotreeConverter根目录下的resources文件夹完整复制到部署目录:
sudo cp -r /home/myuser/PotreeConverter/resources /opt/PotreeConverter/
  1. 创建软链接到系统bin目录,实现全局调用:
sudo ln -s /opt/PotreeConverter/PotreeConverter /usr/bin/PotreeConverter

方法二:修改CMake配置添加install规则(可选)

如果希望通过make install完成标准化安装,可以修改PotreeConverter根目录下的CMakeLists.txt:

  1. 打开CMakeLists.txt,在合适位置添加以下安装规则:
# 安装二进制文件到系统bin目录
install(TARGETS PotreeConverter DESTINATION bin)
# 安装resources目录到系统共享目录
install(DIRECTORY ${PROJECT_SOURCE_DIR}/resources DESTINATION share/PotreeConverter)
# 定义资源目录的全局路径,供程序调用
target_compile_definitions(PotreeConverter PRIVATE RESOURCES_DIR="/usr/share/PotreeConverter/resources")
  1. 重新执行cmake编译流程:
cd /home/myuser/PotreeConverter/build
sudo cmake -DCMAKE_BUILD_TYPE=Release -DLASZIP_INCLUDE_DIRS=/home/myuser/LAStools/LASzip/dll -DLASZIP_LIBRARY=/home/myuser/LAStools/LASzip/build/src/liblaszip.so ..
sudo make && sudo make install

注意:此方法需要确认程序内部是否支持通过RESOURCES_DIR变量定位资源,若程序硬编码了相对路径,可能需要同步调整源码中的路径逻辑。

内容的提问来源于stack exchange,提问作者Monetillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 16:32:49