As the main repository for the librealsense recipe now contains
fixes required for linking catkin-based packages against it
we can stop maintaining our own version of librealsense recipe.
Also this patch adapts realsense-camera recipe to link against
the non-catkin version of librealsense.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
sphinxbase is linked to libsndfile1, libasound from alsa-lib and
libsamplerate0, but these build dependencies are missing in the
recipe.
This update adds the missing dependencies.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
The fix for build type detection in librealsense's CMakeLists.txt
turned out to be non-functional in the official ROS build farm as
explained in https://github.com/IntelRealSense/librealsense/pull/404
Since this recipe is specific to meta-ros set the build type
explicitly to ROS to guaranty the catkin-related configs for
librealsense get created and installed properly.
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Due to the update to 1.8.0, the upstream-accepted patch is not
anymore needed to be applied.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Compiling libflann 1.8.4 with gcc6 fails with:
```
| /home/lukas/work/repositories/openembedded.org/openembedded-core/build/tmp-glibc/work/i586-oe-linux/libflann/1.8.4-r0/flann-1.8.4-src/src/cpp/flann/algorithms/kdtree_index.h:666:39: error: call of overloaded 'abs(flann::KDTreeIndex<flann::KL_Divergence<double> >::ElementType)' is ambiguous
| ElementType span = abs(point[i]-leaf_point[i]);
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~
```
This issue has been already addressed in the latest version 1.9.1,
hence the commit simply updates the recipe to the version 1.9.1,
which is available on github.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Since 3739aaf644d5a0f28e85fd07c67cecbfa5b8fb8a on openembedded-core,
the build of the bfl recipe fails with:
ERROR: QA Issue: orocos-bfl.pc failed sanity test (tmpdir) in path /[...]/bfl/0.7.0-6-r0/sysroot-destdir//usr/lib/pkgconfig [pkgconfig]
ERROR: QA Issue: bfl.pc failed sanity test (tmpdir) in path /[...]/bfl/0.7.0-6-r0/sysroot-destdir//usr/lib/pkgconfig [pkgconfig]
ERROR: QA staging was broken by the package built above
ERROR: Function failed: do_qa_staging
ERROR: Logfile of failure stored in: /[...]/bfl/0.7.0-6-r0/temp/log.do_populate_sysroot.12063
ERROR: Task 4361 (/[...]/meta-ros/recipes-extended/bfl/bfl_0.7.0-6.bb, do_populate_sysroot) failed with exit code '1'
The openembedded-core recipe suggests that the bfl recipe was broken
since its initial commit, but it remained unnoticed. This commit now
adds a patch to drop the unneeded and wrong paths from the pkgconfig
file.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
The update to the latest version 1.7.2 was triggered by compilation
errors in pcl 1.7.0 (i.e., in file common/include/pcl/point_types.h)
due to the update of boost to 1.60.0 in openembedded-core [1].
This failure was detected by the internal CI build on 2016-01-15.
Due to the version update, the commit drops patch
`Fix incompatibility with Boost 1.56`, as the change is included
upstream in version 1.7.2. This commit also adds the upstream-accepted
patch `Add "WITH_OPENGL" option (...)` to make the dependency to OpenGL
libraries optional.
The commit configures package dependencies and compiles with the
least possible packages, so that the pcl-ros recipe compiles. As a
result, all optional packages in PCL, except qhull, can be set to FALSE.
If qhull is deactivated, the do_configure task of pcl-ros reports:
| -- Could NOT find qhull (missing: QHULL_LIBRARY)
| ** WARNING ** surface features related to qhull will be disabled
However, in the do_compile task of pcl-ros, the build process assumes
that the surface features related to qhull are actually never disabled,
i.e., if qhull is deactivated, compiling pcl-ros fails with:
| In file included from [...]/pcl_ros/src/pcl_ros/surface/convex_hull.cpp:40:0:
| [...]/pcl_ros/include/pcl_ros/surface/convex_hull.h:44:37: fatal error: pcl/surface/convex_hull.h: No such file or directory
| compilation terminated.
| CMakeFiles/pcl_ros_surface.dir/build.make:89: recipe for target 'CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o' failed
| make[2]: *** [CMakeFiles/pcl_ros_surface.dir/src/pcl_ros/surface/convex_hull.cpp.o] Error 1
| make[2]: Leaving directory '[...]/build'
| CMakeFiles/Makefile2:1173: recipe for target 'CMakeFiles/pcl_ros_surface.dir/all' failed
| make[1]: *** [CMakeFiles/pcl_ros_surface.dir/all] Error 2
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=17d77db5e1203e18cdd178e7d9a457310425ebdc
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
During bitbaking core-image-ros-world for v0.2-rc1 release testing,
compiling libpoco for the qemuarm64 machine failed with:
In file included from [...]/poco-poco-1.5.3-release/Foundation/src/diy-fp.h:31:0,
from [...]/poco-poco-1.5.3-release/Foundation/src/diy-fp.cc:29,
from [...]/poco-poco-1.5.3-release/Foundation/src/NumericString.cpp:23:
[...]/poco-poco-1.5.3-release/Foundation/src/utils.h:72:2: error: #error Target architecture was not detected as supported by Double-Conversion.
This issue has been already been reported in the libpoco github issue
tracker [1] and has been resolved with a simple patch [2] in the libpoco
repository and libpoco releases since 1.5.4. Hence, this commit simply
adds this patch to the current libpoco recipe.
To address the libpoco issue, I also considered to update libpoco to
version 1.6.0. However, this was not possible as version 1.6.0 requires
CMake >= 3.0.0 and this would require updating cmake in
OpenEmbedded-Core, which has major impact on all layers. Also, updating
libpoco to 1.5.4 lead to a problem with the OpenEmbedded-Core-provided
pcre 1.5.36 and the POCO_UNBUNDLED setting during compilation:
In file included from [...]/poco-poco-1.5.4-release/Foundation/src/RegularExpression.cpp:21:0:
[...]/usr/include/pcre.h:325:26: error: conflicting declaration 'typedef struct real_pcre pcre'
In file included from [...]/poco-poco-1.5.4-release/Foundation/src/RegularExpression.cpp:17:0:
[...]/poco-poco-1.5.4-release/Foundation/include/Poco/RegularExpression.h:37:34: note: previous declaration as 'typedef struct real_pcre8_or_16 pcre'
This issue is probably caused by the commit 'PCRE 8.35.0 Update' [3],
which defines types from pcre 8.35 that are incompatible to pcre 8.36.
[1] https://github.com/pocoproject/poco/issues/508
[2] 9258e482d7.patch
[3] 010f7a5370.patch
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Backporting following libfreenect patch:
https://github.com/OpenKinect/libfreenect/commit/
0cbb86ec982d3e79ad5efa9d1b2b16724ae89bc5
Without this patch, libfreenect would override all compiler flags,
including any machine specific compile flags
(e.g. -mfloat-abi=hard to compile with hard floating point).
We are backporting this patch rather than upgrading to v0.4.1
where this is fixed, as v0.4.0 introduced changes that break
compatibility with the current freenect version (0.3.2).
See https://github.com/OpenKinect/libfreenect/releases/tag/v0.4.0
for the breaking changes.
See https://github.com/ros-drivers/freenect_stack/issues/12
for additional discussion.
This commit provides the autotools-brokensep class and uses it for
the wxwidgets recipe.
The autotools-brokensep indicates that this package currently cannot
handle out-of-source builds, and hence the in-source build must be
kept until this is resolved.
The autotools-brokensep class is a copy of the autotools-brokensep
class provided in the openembedded-core commit 006b8a78 [1].
To make this commit backwards compatible to even earlier versions
of openembedded-core, we provide this class in meta-ros ourselves.
[1] http://cgit.openembedded.org/openembedded-core/commit/?id=006b8a7808a58713af16c326dc37d07765334b12
Executing 'bitbake packagegroup-ros-world' shows the warning:
WARNING: QA Issue: collada-dom rdepends on libpcrecpp but its not a build dependency? [build-deps]
On a clean build, 'bitbake collada-dom' fails with:
| Linking CXX shared library libcollada-dom2.4-dp.so
...
| .../build/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/4.9.1/ld: external-libs/pcre-8.02/libpcre_local.a(pcre_compile.c.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
| external-libs/pcre-8.02/libpcre_local.a: error adding symbols: Bad value
| collect2: error: ld returned 1 exit status
| make[2]: *** [dom/libcollada-dom2.4-dp.so.2.4.0] Error 1
This commits adds libpcre as dependency, and resolves the issue.
Poco comes with bundled versions of SQLite3, zlib, expat, etc.
Adding the ``-DPOCO_UNBUNDLED=On`` option to CMake makes it use the ones provided by OE.