{"id":10505709,"url":"https://github.com/codebydant/compilingPCL-Linux","last_synced_at":"2025-09-10T12:32:50.808Z","repository":{"id":114374013,"uuid":"364299755","full_name":"codebydant/compilingPCL-Linux","owner":"codebydant","description":"This is a tutorial of how to compile PCL 1.11.1 on Ubuntu 20.04.2 LTS","archived":false,"fork":false,"pushed_at":"2021-05-05T13:46:33.000Z","size":6665,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-09-14T16:46:57.588Z","etag":null,"topics":["cmake","pcl-library","tutorial","ubuntu"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codebydant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-05-04T15:20:57.000Z","updated_at":"2024-05-26T14:50:47.000Z","dependencies_parsed_at":"2024-01-16T02:45:31.317Z","dependency_job_id":"b1b5945c-9176-43d5-8967-d94790dd4949","html_url":"https://github.com/codebydant/compilingPCL-Linux","commit_stats":null,"previous_names":["dtcmlops/compilingpcl-linux","danieltobon43/compilingpcl-linux","codebydant/compilingpcl-linux"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebydant%2FcompilingPCL-Linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebydant%2FcompilingPCL-Linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebydant%2FcompilingPCL-Linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codebydant%2FcompilingPCL-Linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codebydant","download_url":"https://codeload.github.com/codebydant/compilingPCL-Linux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232538534,"owners_count":18538733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","pcl-library","tutorial","ubuntu"],"created_at":"2024-05-30T15:03:41.354Z","updated_at":"2025-01-05T01:30:25.810Z","avatar_url":"https://github.com/codebydant.png","language":null,"readme":"# Compile PCL 1.11.1 - Ubuntu 20.04.2 LTS\nThis is a tutorial of how to compile and use Point Cloud Library (PCL) version 1.11.1 on Ubuntu 20.04.2 LTS. No need it to install!\n\nTable of contents\n=================\n\n\u003c!--ts--\u003e\n   * [Requirements](#Requirements)\n      * [Boost](#boost)\n      * [Eigen](#eigen)\n      * [FLANN](#Compiling-FLANN)\n      * [VTK](#Compiling-vtk)\n   * [Installation](#Installation)\n   * [Test](#Test)\n\u003c!--te--\u003e\n\n## Requirements\n- Boost: Used for shared pointers, and threading.\n- Eigen: Used as the matrix backend for SSE optimized math\n- FLANN: Used in Kdtree for fast approximate nearest neighbors search\n- VTK: Used in visualization for 3D point cloud, rendering and visualization.\n\n## Compiling FLANN\nUse the `master` version of flann from the repo instead of an official released.\n1. Download FLANN source code in `/opt`: [FLANN](https://github.com/flann-lib/flann) \n2. Edit `CMakeLists.txt` on `flann/src/cpp/CMakeLists.txt` and replace line 32 and 86:\n\n`add_library(flann_cpp SHARED \"\") -\u003e add_library(flann_cpp SHARED \"main.cpp\")`\n\n2. Create a `main.cpp` file at the same directory\n3. Compile and install FLANN:\n```\n$ cd build/\n$ sudo cmake-gui ../\n$ sudo make -j4\n$ sudo make install\n```\n\n## Compiling VTK\n1. Download VTK 8.1/8.2 source code in `/opt`: [VTK](https://github.com/Kitware/VTK)\n2. Create a `build` directory\n3. Run CMake-gui:\n```\n$ cd build/\n$ sudo cmake-gui ../\n```\n\u003cimg src=\"./examples/vtk1.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\u003cimg src=\"./examples/vtk2.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\u003cimg src=\"./examples/vtk3.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n4. Compile and install VTK:\n```\n$ sudo make -j4\n$ sudo make install\n```\n\u003cimg src=\"./examples/vtk4.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n## Installation\n1. Download source code in `/opt`: [PCL](https://github.com/PointCloudLibrary/pcl)\n2. Create a `build` directory\n3. Create build files:\n```\n$ cd build/\n$ sudo cmake-gui ../\n```\n4. Select/Unselect pcl modules\n\n\u003cimg src=\"./examples/pcl1.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\u003cimg src=\"./examples/pcl2.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\u003cimg src=\"./examples/pcl3.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n6. Compile PCL\n```\n$ sudo make -j4\n```\n\u003cimg src=\"./examples/pcl4.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n## Test \n1. Download sample PCL code: [pcl visualizer](https://github.com/danielTobon43/pcl_visualizer)\n2. Create a `build` directory\n3. Set PCL build directory in `CMakeLists.txt` in the `/src` folder, line 20.\n\n```\n# set corresponding package directories\nset(PCL_DIR /opt/pcl-1.11.1/build)\n```\n4. Define CXX14 standard (optional)\n```\nset(CMAKE_CXX_STANDARD 14)\nset(CMAKE_CXX_STANDARD_REQUIRED ON)\n```\n5. Define common io visualization module (optional)\n```\nfind_package(PCL 1.9 PATHS ${PCL_DIR} QUIET REQUIRED COMPONENTS common io visualization) \n```\n6. Create build files:\n```\n$ cd build/\n$ cmake ../src/\n```\n\u003cimg src=\"./examples/sample1.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n7. Compile sample code:\n```\n$ make\n```\n\u003cimg src=\"./examples/sample2.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n7. Download .pcd sample file: [PCD file](https://drive.google.com/drive/folders/1sW4oqcaKPsupEaSFkoGAgdHjv6ydwUFF?usp=sharing)\n8. Test bin file\n```\n$ cd bin/\n$ ./pcl-visualizer \u003c.pcd file\u003e\n```\n\u003cimg src=\"./examples/sample3.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n## Result\n\u003cimg src=\"./examples/sample4.png\" align=\"center\" height=\"450\" width=\"800\"\u003e\u003cbr\u003e\n\n## Troubleshooting \n- Issue: `Error while loading shared libraries: cannot open shared object file: No such file or directory`\n- Solution: `$ sudo ldconfig -v`  [ref](https://github.com/CogChameleon/ChromaTag/issues/2)\n\n- Issue: `undefined reference to 'LZ4_decompress_safe'`\n- Solution: Use the `master` version of flann from the official repository\n\n- Issue: `error: ‘Octree2BufBase’ does not name a type pcl`\n- Solution: Instead of PCL 1.11.1 released use PCL 1.9.1\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebydant%2FcompilingPCL-Linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodebydant%2FcompilingPCL-Linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodebydant%2FcompilingPCL-Linux/lists"}