PDAL / java

Java extension and bindings for PDAL
https://pdal.io/java.html
Other
8 stars 10 forks source link

Error while building docker image with pdal #103

Open mghildiy opened 3 months ago

mghildiy commented 3 months ago

I am making a docker image for my java application, which uses java bindings for pdal.

I have added this to my Dockerfile:

FROM openjdk:21-jdk-bullseye

# Install build dependencies
RUN apt-get update && \
    apt-get install -y \
    cmake \
    build-essential \
    git \
    libboost-all-dev \
    libpdal-dev \
    && apt-get clean

# Clone PDAL repository and build
RUN git clone https://github.com/PDAL/PDAL.git && \
    cd PDAL && \
    mkdir build && \
    cd build && \
    cmake .. && \
    make && \
    make install

# Clean up
RUN apt-get purge -y --auto-remove && \
    rm -rf /var/lib/apt/lists/* /PDAL

But this throws error:

 => ERROR [3/8] RUN git clone https://github.com/PDAL/PDAL.git &&     cd PDAL &&     mkdir build &&     cd build &&     cmake .. &&     make &&     make install                  46.3s 
------
 > [3/8] RUN git clone https://github.com/PDAL/PDAL.git &&     cd PDAL &&     mkdir build &&     cd build &&     cmake .. &&     make &&     make install:
0.248 Cloning into 'PDAL'...
46.02 -- The CXX compiler identification is GNU 10.2.1
46.05 -- The C compiler identification is GNU 10.2.1
46.06 -- Detecting CXX compiler ABI info
46.11 -- Detecting CXX compiler ABI info - done
46.12 -- Check for working CXX compiler: /usr/bin/c++ - skipped
46.12 -- Detecting CXX compile features
46.12 -- Detecting CXX compile features - done
46.13 -- Detecting C compiler ABI info
46.17 -- Detecting C compiler ABI info - done
46.18 -- Check for working C compiler: /usr/bin/cc - skipped
46.18 -- Detecting C compile features
46.18 -- Detecting C compile features - done
46.19 -- Could NOT find LIBEXECINFO (missing: LIBEXECINFO_LIBRARY)
46.19 -- Could NOT find LIBUNWIND (missing: LIBUNWIND_LIBRARY LIBUNWIND_INCLUDE_DIR)
46.19 CMake Error at cmake/proj.cmake:1 (find_package):
46.19   Could not find a package configuration file provided by "PROJ" (requested
46.19   version 9.0) with any of the following names:
46.19
46.19     PROJConfig.cmake
46.19     proj-config.cmake
46.19
46.19   Add the installation prefix of "PROJ" to CMAKE_PREFIX_PATH or set
46.19   "PROJ_DIR" to a directory containing one of the above files.  If "PROJ"
46.19   provides a separate development package or SDK, be sure it has been
46.19   installed.
46.19 Call Stack (most recent call first):
46.19   CMakeLists.txt:102 (include)
46.19
46.19
46.19 -- Configuring incomplete, errors occurred!
46.19 See also "/PDAL/build/CMakeFiles/CMakeOutput.log".
------
Dockerfile:17
--------------------
  16 |     # Clone PDAL repository and build
  17 | >>> RUN git clone https://github.com/PDAL/PDAL.git && \
  18 | >>>     cd PDAL && \
  19 | >>>     mkdir build && \
  20 | >>>     cd build && \
  21 | >>>     cmake .. && \
  22 | >>>     make && \
  23 | >>>     make install
  24 |
--------------------
ERROR: failed to solve: process "/bin/sh -c git clone https://github.com/PDAL/PDAL.git &&     cd PDAL &&     mkdir build &&     cd build &&     cmake .. &&     make &&     make install" did not complete successfully: exit code: 1

What am I missing?

pomadchin commented 3 months ago

Hi there!

Given the error, PROJ is not properly installed for the build.

If there is a need / will to build images manually, I'd recommend looking into the official PDAL Dockerfiles. These images are also published and I've been using them succesfully in the past.

However, this issue is better to be moved to the https://github.com/PDAL/PDAL repo as this question is not about bindings. @hobu and the team would be of a better help there.