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

pdal: migrate to Conan v2, bump to v2.6.0, unvendor all available packages #21296

Closed
wants to merge 28 commits into from

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Nov 21, 2023

No description provided.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@zap150
Copy link

zap150 commented Jan 11, 2024

Hi @valgur, I know it's difficult to give some ETA, but can you guess how difficult it will be to finish this migration? We are in fact waiting for the byproduct of this migration, i.e. the 2.6 version of the package. Thanks for your effort!

@valgur
Copy link
Contributor Author

valgur commented Jan 11, 2024

@zap150 The recipe itself should be usable, but it's blocked by two PRs (GDAL and Arbiter). GDAL should be merged any day (or week) now, no idea about Arbiter.

If it's an option for you, you can upload the recipe to you own package repository or include it in your source repositary and use this hack: https://github.com/valgur/cupoch/blob/67d4276956d546b46e8b4e27e5ef095229a30e64/conanfile.py#L99-L105

@marxin
Copy link

marxin commented Jan 11, 2024

Thank you! About Arbiter: is it an essential package dependency or just an optional one?

@ghost ghost mentioned this pull request Feb 10, 2024
3 tasks
@trns1997
Copy link
Contributor

Thank you! About Arbiter: is it an essential package dependency or just an optional one?

@marxin arbiter seems to be an essential package from what i can see in PDALs CMakeList

@trns1997
Copy link
Contributor

@valgur now that gdal is merged. Could you look into my suggestions that way we can get pdal merged as well soon :)

@conan-center-bot

This comment has been minimized.

@valgur
Copy link
Contributor Author

valgur commented Feb 21, 2024

arbiter from #21271 is required. The vendored version sets some overly broad macros like F, which conflicts with Eigen.

@valgur valgur mentioned this pull request Feb 21, 2024
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@trns1997
Copy link
Contributor

@valgur I vaguely followed the conversation regarding the unvendoring of packages for PDAL, seems like it is not going to happen. So i was wondering what happens now? Do you plan to package PDAL using their vendored packages? or is the conversation still up for debate?

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 4 (122a37af2fd0faeb6fe330e1f880d15ec051283d):

  • pdal/2.7.1:
    CI failed to create some packages (All logs)

    Logs for packageID b8b0a80a16779b19578d1317c8327c36be363329:
    [settings]
    arch=armv8
    build_type=Release
    compiler=apple-clang
    compiler.libcxx=libc++
    compiler.version=13.0
    os=Macos
    
    [...]
      "OGRSimpleCurve::getM(int) const", referenced from:
          pdal::straighten::Polyline::init() in Polyline.cpp.o
      "OGRSimpleCurve::getZ(int) const", referenced from:
          pdal::straighten::Polyline::init() in Polyline.cpp.o
      "OGRCurvePolygon::getNumInteriorRings() const", referenced from:
          pdal::Polygon::interiorRings() const in Polygon.cpp.o
          pdal::Polygon::removeSmallHoles(double) in Polygon.cpp.o
      "OGRSpatialReference::exportToWkt(char**, char const* const*) const", referenced from:
          pdal::Geometry::getSpatialReference() const in Geometry.cpp.o
          (anonymous namespace)::exportToWkt(OGRSpatialReference*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) in SpatialReference.cpp.o
      "OGRSpatialReference::exportToProj4(char**) const", referenced from:
          pdal::SpatialReference::getProj4() const in SpatialReference.cpp.o
      "OGRSpatialReference::GetLinearUnits(char**) const", referenced from:
          pdal::SpatialReference::getVerticalUnits() const in SpatialReference.cpp.o
          pdal::SpatialReference::getHorizontalUnits() const in SpatialReference.cpp.o
      "OGRSpatialReference::GetAuthorityCode(char const*) const", referenced from:
          pdal::SpatialReference::identifyHorizontalEPSG() const in SpatialReference.cpp.o
          pdal::SpatialReference::identifyVerticalEPSG() const in SpatialReference.cpp.o
      "OGRSpatialReference::exportToPROJJSON(char**, char const* const*) const", referenced from:
          pdal::SpatialReference::getPROJJSON() const in SpatialReference.cpp.o
      "OGRSpatialReference::GetCoordinateEpoch() const", referenced from:
          pdal::SpatialReference::set(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) in SpatialReference.cpp.o
      "OGRSpatialReference::GetDataAxisToSRSAxisMapping() const", referenced from:
          pdal::SpatialReference::getAxisOrdering() const in SpatialReference.cpp.o
      "OGRSpatialReference::GetRoot() const", referenced from:
          pdal::Geometry::srsValid() const in Geometry.cpp.o
          pdal::Geometry::transform(pdal::SpatialReference) in Geometry.cpp.o
          pdal::Geometry::getSpatialReference() const in Geometry.cpp.o
      "OGRGeometryCollection::getNumGeometries() const", referenced from:
          pdal::Polygon::polygons() const in Polygon.cpp.o
          pdal::Polygon::removeSmallRings(double) in Polygon.cpp.o
          pdal::Polygon::removeSmallHoles(double) in Polygon.cpp.o
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[2]: *** [src/lib/libpdalcpp.17.0.0.dylib] Error 1
    make[1]: *** [src/CMakeFiles/pdalcpp.dir/all] Error 2
    make: *** [all] Error 2
    WARN: gdal/3.8.3: requirement zlib/[>=1.2.11 <2] overridden by pdal/2.7.1 to zlib/1.3.1 
    WARN: gdal/3.8.3: requirement libcurl/[>=7.78 <9] overridden by pdal/2.7.1 to libcurl/8.6.0 
    WARN: libtiff/4.6.0: requirement zlib/[>=1.2.11 <2] overridden by libgeotiff/1.7.1 to zlib/1.3.1 
    WARN: proj/9.3.1: requirement libcurl/[>=7.78.0 <9] overridden by libgeotiff/1.7.1 to libcurl/8.6.0 
    WARN: libcurl/8.6.0: requirement zlib/[>=1.2.11 <2] overridden by proj/9.3.1 to zlib/1.3.1 
    WARN: libpng/1.6.40: requirement zlib/[>=1.2.11 <2] overridden by gdal/3.8.3 to zlib/1.3.1 
    WARN: openssl/3.2.1: requirement zlib/[>=1.2.11 <2] overridden by pdal/2.7.1 to zlib/1.3.1 
    WARN: libxml2/2.12.5: requirement zlib/[>=1.2.11 <2] overridden by pdal/2.7.1 to zlib/1.3.1 
    pdal/2.7.1: ERROR: Package 'b8b0a80a16779b19578d1317c8327c36be363329' build failed
    pdal/2.7.1: WARN: Build folder /Users/jenkins/workspace/prod-v1/bsr/16808/ddebe/.conan/data/pdal/2.7.1/_/_/build/b8b0a80a16779b19578d1317c8327c36be363329/build/Release
    ERROR: pdal/2.7.1: Error in build() method, line 222
    	cmake.build()
    	ConanException: Error 2 while executing cmake --build "/Users/jenkins/workspace/prod-v1/bsr/16808/ddebe/.conan/data/pdal/2.7.1/_/_/build/b8b0a80a16779b19578d1317c8327c36be363329/build/Release" '--' '-j8'
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

See details:

Failure in build 4 (122a37af2fd0faeb6fe330e1f880d15ec051283d):

  • pdal/2.7.1:
    CI failed to create some packages (All logs)

    Logs for packageID f02fc711cb2cbe0f29b3a071a98d818b5be7fdc3:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=apple-clang
    compiler.cppstd=17
    compiler.libcxx=libc++
    compiler.version=13
    os=Macos
    [options]
    */*:shared=False
    
    [...]
    [  0%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_byte10.cpp.o
    [  1%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/charbuf.cpp.o
    [  1%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/BitMask.cpp.o
    [  1%] Building CXX object src/dimbuilder/CMakeFiles/dimbuilder.dir/__/pdal/util/Utils.cpp.o
    [  2%] Building CXX object src/vendor/arbiter/CMakeFiles/pdal_arbiter.dir/arbiter.cpp.o
    [  3%] Building CXX object src/vendor/kazhdan/CMakeFiles/pdal_kazhdan.dir/Geometry.cpp.o
    [  3%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/BitStuffer2.cpp.o
    [  3%] Building CXX object src/vendor/kazhdan/CMakeFiles/pdal_kazhdan.dir/MarchingCubes.cpp.o
    [  4%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_gpstime10.cpp.o
    [  5%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/ClusterRGB.cpp.o
    [  5%] Linking CXX static library libpdal_kazhdan.a
    [  5%] Built target pdal_kazhdan
    [  5%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_nir14.cpp.o
    [  5%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/Common.cpp.o
    [  5%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_point10.cpp.o
    [  6%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_point14.cpp.o
    [  6%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/FlagBytes.cpp.o
    [  6%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/Huffman.cpp.o
    [  6%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_rgb10.cpp.o
    [  7%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/Intensity.cpp.o
    [  7%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/detail/field_rgb14.cpp.o
    [  8%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/filestream.cpp.o
    [  8%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/LEPCC.cpp.o
    [  8%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/header.cpp.o
    [  8%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/lazperf.cpp.o
    [  8%] Building CXX object src/vendor/lepcc/CMakeFiles/pdal_lepcc.dir/src/lepcc_c_api_impl.cpp.o
    [  9%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/readers.cpp.o
    [  9%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/vlr.cpp.o
    [  9%] Building CXX object src/vendor/lazperf/CMakeFiles/pdal_lazperf.dir/writers.cpp.o
    [ 10%] Linking CXX static library libpdal_lepcc.a
    [ 10%] Built target pdal_lepcc
    [ 10%] Linking CXX executable ../bin/dimbuilder
    [ 10%] Built target dimbuilder
    [ 11%] Generating include/pdal/Dimension.hpp
    /bin/sh: dimbuilder: command not found
    make[2]: *** [src/include/pdal/Dimension.hpp] Error 127
    make[1]: *** [src/CMakeFiles/generate_dimension_hpp.dir/all] Error 2
    make[1]: *** Waiting for unfinished jobs....
    [ 12%] Linking CXX static library libpdal_lazperf.a
    [ 12%] Built target pdal_lazperf
    [ 12%] Linking CXX static library libpdal_arbiter.a
    [ 12%] Built target pdal_arbiter
    make: *** [all] Error 2
    
    pdal/2.7.1: ERROR: 
    Package 'f02fc711cb2cbe0f29b3a071a98d818b5be7fdc3' build failed
    pdal/2.7.1: WARN: Build folder /Users/jenkins/workspace/prod-v2/bsr/14593/bbcff/p/b/pdal5af0af8929091/b/build/Release
    ERROR: pdal/2.7.1: Error in build() method, line 222
    	cmake.build()
    	ConanException: Error 2 while executing
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@valgur
Copy link
Contributor Author

valgur commented May 30, 2024

#24165

@valgur valgur closed this May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants