potree / PotreeConverter

Create multi res point cloud to use with potree

Home Page:http://potree.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installing PotreeConverter on Ubuntu Server 20.04 'make' Errors

AngusLawlessDunn opened this issue · comments

Hi,

I'm trying to install PotreeConverter on Ubuntu Server 20.04 following the instructions in the README.md.
I've download the source files from the master branch and created the build folder.

My gcc and g++ versions are 10.3.0
Possibly relevant installed libraries include:

libtbb-dev/focal,now 2020.1-2 amd64 [installed]
software-properties-common/focal-updates,now 0.99.9.8 all [installed]
build-essential/focal-updates,now 12.8ubuntu1.1 amd64 [installed]
libboost-all-dev/focal,now 1.71.0.0ubuntu2 amd64 [installed]
cmake-curses-gui/focal,now 3.16.3-1ubuntu1 amd64 [installed]
cmake/focal,now 3.16.3-1ubuntu1 amd64 [installed]

The output of cmake ../ looks to be successful

-- The CXX compiler identification is GNU 10.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 10.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type is 'Release'
-- Performing Test BROTLI_EMSCRIPTEN
-- Performing Test BROTLI_EMSCRIPTEN - Failed
-- Compiler is not EMSCRIPTEN
-- Looking for log2
-- Looking for log2 - not found
-- Looking for log2
-- Looking for log2 - found
CMake Warning at Converter/libs/brotli/CMakeLists.txt:319 (message):
  Test file tests/testdata/alice29.txt does not exist.

CMake Warning at Converter/libs/brotli/CMakeLists.txt:319 (message):
  Test file tests/testdata/asyoulik.txt does not exist.

CMake Warning at Converter/libs/brotli/CMakeLists.txt:319 (message):
  Test file tests/testdata/lcet10.txt does not exist.

CMake Warning at Converter/libs/brotli/CMakeLists.txt:319 (message):
  Test file tests/testdata/plrabn12.txt does not exist.

-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: /home/intlnxadmin/PotreeConverter/build

but then running make I get these errors

Scanning dependencies of target brotlicommon-static
[  1%] Building C object Converter/libs/brotli/CMakeFiles/brotlicommon-static.dir/c/common/constants.c.o
.
.
.
[ 47%] Building CXX object Converter/libs/laszip/CMakeFiles/laszip.dir/src/laszip.cpp.o
[ 48%] Building CXX object Converter/libs/laszip/CMakeFiles/laszip.dir/src/laszip_dll.cpp.o
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp: In function ‘I32 laszip_prepare_header_for_write(laszip_dll_struct*)’:
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp:1853:117: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘laszip_U64’ {aka ‘long unsigned int’} [-Wformat=]
 1853 | or, "inconsistent number_of_point_records %u and extended_number_of_point_records %llu", laszip_dll->header.number_of_point_records, laszip_dll->header.extended_number_of_point_records);
      |                                                                                   ~~~^                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                      |                                                                  |
      |                                                                                      long long unsigned int                                             laszip_U64 {aka long unsigned int}
      |                                                                                   %lu
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp:1871:133: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 6 has type ‘laszip_U64’ {aka ‘long unsigned int’} [-Wformat=]
 1871 | ent number_of_points_by_return[%u] %u and extended_number_of_points_by_return[%u] %llu", i, laszip_dll->header.number_of_points_by_return[i], i, laszip_dll->header.extended_number_of_points_by_return[i );
      |                                                                                   ~~~^                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                      |           
      |                                                                                      long long unsigned int                                                                                              laszip_U64 {aka long unsigned int}
      |                                                                                   %lu
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp: In function ‘I32 laszip_prepare_point_for_write(laszip_dll_struct*, laszip_BOOL)’:
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp:1920:76: warning: format ‘%ll ’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘laszip_U64’ {aka ‘long unsigned int’} [-Wformat=]
 1920 |         sprintf(laszip_dll->error, "extended_number_of_point_records of %llu is too much for 32-bit counters of compatibility mode", laszip_dll->header.extended_number_of_point_records);
      |                                                                         ~~~^                                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                            |                                                                            |
      |                                                                            long long unsigned in                                                        laszip_U64 {aka long unsigned int}
      |                                                                         %lu
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp: In function ‘I32 laszip_write_header(laszip_dll_struct*, const LASzip*, laszip_BOOL)’:
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp:2593:89: warning: format ‘%ll ’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘laszip_U64’ {aka ‘long unsigned int’} [-Wformat=]
 2593 |      sprintf(laszip_dll->warning, "header.start_of_waveform_data_packet_record is %llu. writing 0 instead.", laszip_dll->header.start_of_waveform_data_packet_record);
      |                                                                                   ~~~^                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                      |                                          |
      |                                                                                      long long unsigned int                     laszip_U64 {aka long unsigned int}
      |                                                                                   %lu
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp: In function ‘laszip_I32 laszip_seek_point(laszip_POINTER, laszip_I64)’:
/home/intlnxadmin/PotreeConverter/Converter/libs/laszip/src/laszip_dll.cpp:4551:71: warning: format ‘%ll ’ expects argument of type ‘long long int’, but argument 4 has type ‘laszip_I64’ {aka ‘long int’} [-Wformat=]
 4551 |       sprintf(laszip_dll->error, "seeking from index %lld to index %lld for file with %lld points", laszip_dll->p_count, index, laszip_dll->npoints);
      |                                                                    ~~~^                                                  ~~~~~
      |                                                                       |                                                  |
      |                                                                       long long int                                      laszip_I64 {aka long int}
      |                                                                    %ld
[ 50%] Building CXX object Converter/libs/laszip/CMakeFiles/laszip.dir/src/laszipper.cpp.o
[ 51%] Building CXX object Converter/libs/laszip/CMakeFiles/laszip.dir/src/mydefs.cpp.o
[ 52%] Linking CXX shared library ../../../liblaszip.so
[ 52%] Built target laszip
Scanning dependencies of target brotlidec-static
[ 53%] Building C object Converter/libs/brotli/CMakeFiles/brotlidec-static.dir/c/dec/bit_reader.c.o
[ 54%] Building C object Converter/libs/brotli/CMakeFiles/brotlidec-static.dir/c/dec/decode.c.o
[ 55%] Building C object Converter/libs/brotli/CMakeFiles/brotlidec-static.dir/c/dec/huffman.c.o
[ 56%] Building C object Converter/libs/brotli/CMakeFiles/brotlidec-static.dir/c/dec/state.c.o
[ 57%] Linking C static library libbrotlidec-static.a
[ 57%] Built target brotlidec-static
Scanning dependencies of target PotreeConverter
[ 58%] Building CXX object CMakeFiles/PotreeConverter.dir/Converter/src/chunker_countsort_laszip.cpp.o
In file included from /home/intlnxadmin/PotreeConverter/Converter/src/chunker_countsort_laszip.cpp:19:
/home/intlnxadmin/PotreeConverter/./Converter/libs/json/json.hpp: In static member function ‘static CharType nlohmann::detail::binary_writer<BasicJsonType, CharType>::to_char_type(uint8_t)’:
/home/intlnxadmin/PotreeConverter/./Converter/libs/json/json.hpp:12595:28: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
12595 |         static_assert(std::is_pod<CharType>::value, "CharType must be POD");
      |                            ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
                 from /usr/include/c++/10/bits/nested_exception.h:40,
                 from /usr/include/c++/10/exception:148,
                 from /usr/include/c++/10/ios:39,
                 from /usr/include/c++/10/ostream:38,
                 from /usr/include/c++/10/iostream:39,
                 from /home/intlnxadmin/PotreeConverter/Converter/src/chunker_countsort_laszip.cpp:2:
/usr/include/c++/10/type_traits:697:5: note: declared here
  697 |     is_pod
      |     ^~~~~~
[ 59%] Building CXX object CMakeFiles/PotreeConverter.dir/Converter/src/indexer.cpp.o
In file included from /home/intlnxadmin/PotreeConverter/./Converter/include/indexer.h:19,
                 from /home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:6:
/home/intlnxadmin/PotreeConverter/./Converter/libs/json/json.hpp: In static member function ‘static CharType nlohmann::detail::binary_writer<BasicJsonType, CharType>::to_char_type(uint8_t)’:
/home/intlnxadmin/PotreeConverter/./Converter/libs/json/json.hpp:12595:28: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
12595 |         static_assert(std::is_pod<CharType>::value, "CharType must be POD");
      |                            ^~~~~~
In file included from /usr/include/c++/10/pstl/glue_execution_defs.h:13,
                 from /usr/include/c++/10/execution:32,
                 from /home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:3:
/usr/include/c++/10/type_traits:697:5: note: declared here
  697 |     is_pod
      |     ^~~~~~
/home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp: In function ‘indexer::SoA indexer::toStructOfArrays(Node*, Attributes)’:
/home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:1068:45: warning: overflow in conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} changes value from ‘9223372036854775807’ to ‘-1’ [-Woverflow]
 1068 |    min.x = std::numeric_limits<int64_t>::max();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:1069:45: warning: overflow in conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} changes value from ‘9223372036854775807’ to ‘-1’ [-Woverflow]
 1069 |    min.y = std::numeric_limits<int64_t>::max();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:1070:45: warning: overflow in conversion from ‘long int’ to ‘int32_t’ {aka ‘int’} changes value from ‘9223372036854775807’ to ‘-1’ [-Woverflow]
 1070 |    min.z = std::numeric_limits<int64_t>::max();
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:11:
/home/intlnxadmin/PotreeConverter/./Converter/include/DbgWriter.h: In lambda function:
/home/intlnxadmin/PotreeConverter/./Converter/include/DbgWriter.h:183:3: warning: control reaches end of non-void function [-Wreturn-type]
  183 |   };
      |   ^
In file included from /home/intlnxadmin/PotreeConverter/./Converter/include/Attributes.h:10,
                 from /home/intlnxadmin/PotreeConverter/./Converter/include/indexer.h:21,
                 from /home/intlnxadmin/PotreeConverter/Converter/src/indexer.cpp:6:
/home/intlnxadmin/PotreeConverter/./Converter/modules/unsuck/unsuck.hpp: In function ‘void readBinaryFile(std::string, uint64_t, uint64_t, void*)’:
/home/intlnxadmin/PotreeConverter/./Converter/modules/unsuck/unsuck.hpp:450:8: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  450 |   fread(target, 1, clampedSize, file);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/intlnxadmin/PotreeConverter/./Converter/modules/unsuck/unsuck.hpp:454:8: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  454 |   fread(target, 1, size, file);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/home/intlnxadmin/PotreeConverter/./Converter/modules/unsuck/unsuck.hpp: In function ‘std::shared_ptr<Buffer> readBinaryFile(std::string)’:
/home/intlnxadmin/PotreeConverter/./Converter/modules/unsuck/unsuck.hpp:360:7: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  360 |  fread(buffer->data, 1, size, file);
      |  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 60%] Building CXX object CMakeFiles/PotreeConverter.dir/Converter/src/main.cpp.o
In file included from /home/intlnxadmin/PotreeConverter/./Converter/include/indexer.h:19,
                 from /home/intlnxadmin/PotreeConverter/Converter/src/main.cpp:8:
/home/intlnxadmin/PotreeConverter/./Converter/libs/json/json.hpp: In static member function ‘static CharType nlohmann::detail::binary_writer<BasicJsonType, CharType>::to_char_type(uint8_t)’:
/home/intlnxadmin/PotreeConverter/./Converter/libs/json/json.hpp:12595:28: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
12595 |         static_assert(std::is_pod<CharType>::value, "CharType must be POD");
      |                            ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
                 from /usr/include/c++/10/bits/nested_exception.h:40,
                 from /usr/include/c++/10/exception:148,
                 from /usr/include/c++/10/ios:39,
                 from /usr/include/c++/10/ostream:38,
                 from /usr/include/c++/10/iostream:39,
                 from /home/intlnxadmin/PotreeConverter/Converter/src/main.cpp:3:
/usr/include/c++/10/type_traits:697:5: note: declared here
  697 |     is_pod
      |     ^~~~~~
In file included from /home/intlnxadmin/PotreeConverter/Converter/src/main.cpp:9:
/home/intlnxadmin/PotreeConverter/./Converter/include/sampler_poisson.h: In lambda function:
/home/intlnxadmin/PotreeConverter/./Converter/include/sampler_poisson.h:100:31: warning: narrowing conversion of ‘i’ from ‘int64_t’ {aka ‘long int’} to ‘int32_t’ {aka ‘int’} [-Wnarrowing]
  100 |      Point point = { x, y, z, i, childIndex };
      |                               ^
/home/intlnxadmin/PotreeConverter/./Converter/include/sampler_poisson.h:100:34: warning: narrowing conversion of ‘childIndex’ from ‘int64_t’ {aka ‘long int’} to ‘int32_t’ {aka ‘int’} [-Wnarrowing]
  100 |      Point point = { x, y, z, i, childIndex };
      |                                  ^~~~~~~~~~
[ 61%] Building CXX object CMakeFiles/PotreeConverter.dir/Converter/src/logger.cpp.o
[ 62%] Building CXX object CMakeFiles/PotreeConverter.dir/Converter/modules/LasLoader/LasLoader.cpp.o
[ 63%] Building CXX object CMakeFiles/PotreeConverter.dir/Converter/modules/unsuck/unsuck_platform_specific.cpp.o
/home/intlnxadmin/PotreeConverter/Converter/modules/unsuck/unsuck_platform_specific.cpp: In function ‘void init()’:
/home/intlnxadmin/PotreeConverter/Converter/modules/unsuck/unsuck_platform_specific.cpp:309:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  309 |     fscanf(file, "cpu %llu %llu %llu %llu", &lastTotalUser, &lastTotalUserLow, &lastTotalSys, &lastTotalIdle);
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/intlnxadmin/PotreeConverter/Converter/modules/unsuck/unsuck_platform_specific.cpp: In function ‘double getCpuUsage()’:
/home/intlnxadmin/PotreeConverter/Converter/modules/unsuck/unsuck_platform_specific.cpp:321:11: warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  321 |     fscanf(file, "cpu %llu %llu %llu %llu", &totalUser, &totalUserLow, &totalSys, &totalIdle);
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 64%] Linking CXX executable PotreeConverter
[ 64%] Built target PotreeConverter
.
.
.
[ 98%] Building C object Converter/libs/brotli/CMakeFiles/brotlidec.dir/c/dec/state.c.o
[100%] Linking C shared library libbrotlidec.so
[100%] Built target brotlidec

and then when trying to use the program I get

~/PotreeConverter/build$ PotreeConverter output.las -o ./finalOutput
PotreeConverter.exe: command not found

I would really appreciate any help or feedback to get it installed!

Solved using #470
Testing the output everything looks to be working fine.