Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cannot build version 1.6 on ubuntu 22.04 #566

Open
julienlau opened this issue May 3, 2022 · 0 comments · May be fixed by #585
Open

cannot build version 1.6 on ubuntu 22.04 #566

julienlau opened this issue May 3, 2022 · 0 comments · May be fixed by #585

Comments

@julienlau
Copy link

julienlau commented May 3, 2022

Hi I recently switched to Ubuntu 22.04 LTS and I cannot build PotreeConverter 1.6 anymore :
Does someone how to deal with it ?

[jlu@jlu-x-m16]> cmake -DCMAKE_BUILD_TYPE=Release -DLASZIP_INCLUDE_DIRS=/opt/laszip_for_potree1/include/ \
    -DLASZIP_LIBRARY=/opt/laszip_for_potree1/lib/liblaszip.so \
    -DCMAKE_LIBRARY_PATH=/usr/local/lib \
    -DCMAKE_INCLUDE_PATH=/usr/local/include \
    .. && \
    make -j$(nproc) all
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INCLUDE_PATH
    CMAKE_LIBRARY_PATH


-- Build files have been written to: /opt/PotreeConverter-1.6/build
[jlu@jlu-x-m16]> cmake -DCMAKE_BUILD_TYPE=Release -DLASZIP_INCLUDE_DIRS=/opt/laszip_for_potree1/include/ \
    -DLASZIP_LIBRARY=/opt/laszip_for_potree1/lib/liblaszip.so \
    -DCMAKE_LIBRARY_PATH=/usr/local/lib \
    -DCMAKE_INCLUDE_PATH=/usr/local/include \
    .. && \
    make -j$(nproc) all
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_INCLUDE_PATH
    CMAKE_LIBRARY_PATH


-- Build files have been written to: /opt/PotreeConverter-1.6/build
[  8%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/BINPointReader.cpp.o
[ 16%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/LASPointWriter.cpp.o
[ 25%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/PTXPointReader.cpp.o
[ 33%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/GridCell.cpp.o
[ 50%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/PointAttributes.cpp.o
[ 50%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/LASPointReader.cpp.o
[ 58%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/main.cpp.o
[ 66%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/PotreeConverter.cpp.o
[ 75%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/PotreeWriter.cpp.o
[ 91%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/SparseGrid.cpp.o
[ 91%] Building CXX object PotreeConverter/CMakeFiles/PotreeConverter.dir/src/stuff.cpp.o
In file included from /opt/PotreeConverter-1.6/PotreeConverter/include/SparseGrid.h:6,
                 from /opt/PotreeConverter-1.6/PotreeConverter/src/SparseGrid.cpp:5:
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h: In constructor ‘Potree::AABB::AABB()’:
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:44: error: ‘numeric_limits’ is not a member of ‘std’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                            ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:38: error: expected primary-expression before ‘(’ token
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                      ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:44: error: ‘numeric_limits’ is not a member of ‘std’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                            ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:59: error: expected primary-expression before ‘float’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                                           ^~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:45: error: ‘numeric_limits’ is not a member of ‘std’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:38: error: expected primary-expression before ‘(’ token
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                      ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:45: error: ‘numeric_limits’ is not a member of ‘std’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:60: error: expected primary-expression before ‘float’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                                            ^~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:45: error: ‘numeric_limits’ is not a member of ‘std’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:39: error: expected primary-expression before ‘(’ token
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                       ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:45: error: ‘numeric_limits’ is not a member of ‘std’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:60: error: expected primary-expression before ‘float’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                                            ^~~~~
In file included from /opt/PotreeConverter-1.6/PotreeConverter/include/SparseGrid.h:6,
                 from /opt/PotreeConverter-1.6/PotreeConverter/src/GridCell.cpp:3:
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h: In constructor ‘Potree::AABB::AABB()’:
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:44: error: ‘numeric_limits’ is not a member of ‘std’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                            ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:38: error: expected primary-expression before ‘(’ token
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                      ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:44: error: ‘numeric_limits’ is not a member of ‘std’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                            ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:59: error: expected primary-expression before ‘float’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                                           ^~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:45: error: ‘numeric_limits’ is not a member of ‘std’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:38: error: expected primary-expression before ‘(’ token
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                      ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:45: error: ‘numeric_limits’ is not a member of ‘std’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:60: error: expected primary-expression before ‘float’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                                            ^~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:45: error: ‘numeric_limits’ is not a member of ‘std’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:39: error: expected primary-expression before ‘(’ token
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                       ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:45: error: ‘numeric_limits’ is not a member of ‘std’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:60: error: expected primary-expression before ‘float’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                                            ^~~~~
In file included from /opt/PotreeConverter-1.6/PotreeConverter/include/LASPointWriter.hpp:13,
                 from /opt/PotreeConverter-1.6/PotreeConverter/src/LASPointWriter.cpp:4:
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h: In constructor ‘Potree::AABB::AABB()’:
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:44: error: ‘numeric_limits’ is not a member of ‘std’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                            ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:38: error: expected primary-expression before ‘(’ token
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                      ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:44: error: ‘numeric_limits’ is not a member of ‘std’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                            ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:26:59: error: expected primary-expression before ‘float’
   26 |                 min = Vector3<double>(std::numeric_limits<float>::max());
      |                                                           ^~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:45: error: ‘numeric_limits’ is not a member of ‘std’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:38: error: expected primary-expression before ‘(’ token
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                      ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:45: error: ‘numeric_limits’ is not a member of ‘std’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:27:60: error: expected primary-expression before ‘float’
   27 |                 max = Vector3<double>(-std::numeric_limits<float>::max());
      |                                                            ^~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:45: error: ‘numeric_limits’ is not a member of ‘std’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:39: error: expected primary-expression before ‘(’ token
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                       ^
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:45: error: ‘numeric_limits’ is not a member of ‘std’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                             ^~~~~~~~~~~~~~
/opt/PotreeConverter-1.6/PotreeConverter/include/AABB.h:28:60: error: expected primary-expression before ‘float’
   28 |                 size = Vector3<double>(std::numeric_limits<float>::max());
      |                                                            ^~~~~
make[2]: *** [PotreeConverter/CMakeFiles/PotreeConverter.dir/build.make:90: PotreeConverter/CMakeFiles/PotreeConverter.dir/src/GridCell.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [PotreeConverter/CMakeFiles/PotreeConverter.dir/build.make:188: PotreeConverter/CMakeFiles/PotreeConverter.dir/src/SparseGrid.cpp.o] Error 1
make[2]: *** [PotreeConverter/CMakeFiles/PotreeConverter.dir/build.make:118: PotreeConverter/CMakeFiles/PotreeConverter.dir/src/LASPointWriter.cpp.o] Error 1

It seems a fix is here and needs to modify the source code :
onnx/onnx-tensorrt#474

I do not know if the change is backward compatible with other stdlib, but maybe the modification should be batched with
https://github.com/potree/PotreeConverter/pull/405/files
?
@seanfdnn

@pettyalex pettyalex linked a pull request Aug 29, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant