PointCloudLibrary / PointCloudLibrary/pcl

Sunset support for Ubuntu 16.04 after PCL 1.11.1

Open
#4,265 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

kind: todo needs: feedback
Dominant language
C++
Stars
11.1k
Forks
4.7k
Avg merge
4d 10h
Merged PRs (30d)
6

Description

There's consensus among the maintainers to not support PCL 1.12 on Vanilla 16.04 at least. We might still keep the CI running till the actual EOL date.

Actions to take in preparation of EOL

  • Add a 18.04 CI (currently only clang is active, gcc is not)
  • Enable -Werror on all 18.04 CI
  • Bump minimum supported versions of all development dependencies:
    • cmake (>= 3.10.2) (tracked in #4264)
    • compilers (gcc >= 8.4, clang >= 10.0) (several available, these are highest we can push to)
    • Eigen (>= 3.3.4)
    • FLANN (>= 1.9.1)
    • Boost (>= 1.65)
    • VTK (>= 7.1.1 , < 9, patch in progress)
    • others
  • Remove fixes and hacks for old versions (need to be enumerated)

List of new features available for use/abuse

CMake
  • Native support for CUDA language
  • googletest support
  • OpenMP + Clang support
  • FindBoost improvements
  • Updates to if command for comparisons
  • compile_features instead of flags (eg: C++ 17 polyfill features) (PCL might still remain at C++14)
  • Doxygen support
  • Clang tidy integration
  • cppcheck integration
  • and more (<-- That's just 1 release)
Compilers
GCC
  • -Wreturn-type
  • Stricter template checking
  • alignof changes
  • null value check
Clang
  • new diagnostics
  • OpenMP 5 support (Don't know the status in GCC)
  • new sanitizers
Eigen
Boost

Minor improvements

FLANN

Couldn't find release notes, but here you go

VTK

Not familiar with VTK usage in PCL. Please distil the following:

List of deprecated features

CMake
Compilers, Eigen, VTK, Boost

(should not affect PCL)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing Ubuntu 18.04 CI configuration and the CMake work tracked in #4264. Inventory the unchecked compiler and dependency version changes, then review where old-version fixes and hacks remain. Done means the listed CI and minimum-version actions are addressed and the remaining compatibility work is explicitly enumerated.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp, ubuntu
Domain
build-system, ci-cd, operating-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.