In my previous post I explained how to bring up Ubuntu 14.04 with LXDE desktop on BeagleBone Black. In this blog post I will discuss how to port Point Cloud Library (PCL) to the same platform.
PCL is a powerful 3D vision library that supports many algorithms for 3D cameras such as Kinect and PrimeSense. Porting PCL to BeagleBone Black will enable the use of cost-effective embedded systems for 3D sensing. Generally speaking the installation follows the same steps outlined in the referenced blog post, except for the following:
Add g++-multilib Support as a Prerequisite
sudo apt-get install g++-multilib
Remove soft floating point support
We need to fix a VFP issues by deleting the `
-mfloat-abi=softfp` from the following two files:
Fix a Missing Function
Next, fix the missing function:
See this patch for detail.
Set Up 2GB of Swap File
PCL compilation on BeagleBone Black will takes several days. You didn’t misread. It takes several days. Furthermore, in my experience, the build will crash unless there is at least 2GB of swap file set up. If you set up Ubuntu on BeagleBone Black by following my previous blog post, you would have done this already.
Build PCL without GPU
The resulting build sequence should be as follow:
mkdir release cd release cmake -DCMAKE_BUILD_TYPE=None -DBUILD_apps=ON -DBUILD_examples=ON .. make