RockRobotic / copc-lib

copc-lib provides an easy-to-use reader and writer interface for creating and reading Cloud Optimized Point Clouds, with bindings for Python and C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

release 2.1.3 broken : inconsitent laz-perf version 2.1 or 3.0

julienlau opened this issue · comments

Hi,
thanks for sharing this work

when building the last release of this copc-lib (2.1.3) the Readme says that laz-perf>= commit 4819611 is a pre-requisite

Current master README says : laz-perf>=3.0.0 is a pre-requisite

However when building with env :
export LAZPERF_DIR=/home/opt/laz-perf-3.0.0/build/CMakeFiles/Export/lib/cmake/LAZPERF
I get an error saying that I should use LAZPERF 2.1.0

-- Detecting C compile features - done
CMake Error at CMakeLists.txt:84 (find_package):
  Could not find a configuration file for package "LAZPERF" that is
  compatible with requested version "2.1.0".

  The following configuration files were considered but not accepted:

    /usr/local/lib/cmake/LAZPERF/lazperf-config.cmake, version: 3.0.0



-- Configuring incomplete, errors occurred!
See also "/home/opt/copc-lib-2.1.3/build/CMakeFiles/CMakeOutput.log".

When I try to build with laz-perf 2.1 the configure step is ok, but I got error at compile time:

[  6%] Building CXX object cpp/CMakeFiles/copc-lib.dir/src/copc/info.cpp.o
In file included from /home/opt/copc-lib-2.1.3/cpp/src/copc/info.cpp:1:
/home/opt/copc-lib-2.1.3/cpp/include/copc-lib/copc/info.hpp:15:29: error: ‘copc_info_vlr’ in namespace ‘lazperf’ does not name a type; did you mean ‘copc_vlr’?
   15 |     CopcInfo(const lazperf::copc_info_vlr &copc_info_vlr);
      |                             ^~~~~~~~~~~~~
      |                             copc_vlr

When I try to build with laz-perf 3.0 the configure step is ok, but I got error at compile time:

cmake --build .
Scanning dependencies of target copc-lib
[  6%] Building CXX object cpp/CMakeFiles/copc-lib.dir/src/copc/info.cpp.o
[ 12%] Building CXX object cpp/CMakeFiles/copc-lib.dir/src/copc/extents.cpp.o
In file included from /home/opt/copc-lib-2.1.3/cpp/include/copc-lib/copc/extents.hpp:10,
                 from /home/opt/copc-lib-2.1.3/cpp/src/copc/extents.cpp:1:
/home/opt/copc-lib-2.1.3/cpp/include/copc-lib/las/vlr.hpp:15:33: error: ‘copc_extents_vlr’ in namespace ‘lazperf’ does not name a type; did you mean ‘copc_info_vlr’?
   15 | using CopcExtentsVlr = lazperf::copc_extents_vlr;
      |                                 ^~~~~~~~~~~~~~~~
      |                                 copc_info_vlr

When I try to build copc-lib master branch with laz-perf 3.0 the configure step is OK, and compilation is OK.

Hi @julienlau, I just tested copc-lib v2.1.3 and lazperf commit 4819611 and had no issues. Since you got the main branch to compile just roll with that one, it will be its own release very soon.

Sorry for the confusion with the lazperf dependency. For a while, laz-perf was not released with the changes needed for copc, so it had to be built from source. We have now released version 2.2.0, which is compatible with the latest laz-perf version v3.0.0. Please let me know if that solves your issue!

@leo-stan I did not try with lazperf commit 4819611, but it works with laz-perf 3.0 + copc-lib master branch
I'll stick with it until next copc-lib release

Hi, please look at our release v2.2.0, it should solve your problem.

Just found out what the issue was, an inconsistent requirement in CMakeLists.txt. Fixed with #84.