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.
The qhull library is shipped under its own license. We add this
special license file in our layer in the directory licenses and
register this license directory in our layer configuration.
When compiling pcl-ros, bitbake aborts because for compiling the
Crypto library in libpoco, it needs the openssl headers.
The condensed error output is
** Compiling src/CipherKeyImpl.cpp (debug, shared)
arm-oe-linux-gnueabi-g++ -march=armv5te -marm -mthumb-interwork
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
--sysroot=/home/lukas/oe-core/build/tmp-eglibc/sysroots/qemuarm
-I ... -DPOCO_BUILD_HOST=host -DPOCO_NO_WSTRING -DPOCO_UNBUNDLED
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_REENTRANT -D_THREAD_SAFE
-DPOCO_NO_FPENVIRONMENT -g -D_DEBUG -fPIC -c src/CipherKeyImpl.cpp
-o ...
In file included from include/Poco/Crypto/CipherKeyImpl.h:44:0,
from include/Poco/Crypto/CipherKey.h:44,
from src/CipherKey.cpp:37:
include/Poco/Crypto/OpenSSLInitializer.h:45:33: fatal error: openssl/opensslconf.h: No such file or directory
#include <openssl/opensslconf.h>
^
compilation terminated.
In file included from include/Poco/Crypto/CipherKeyImpl.h:44:0,
from src/CipherKeyImpl.cpp:37:
include/Poco/Crypto/OpenSSLInitializer.h:45:33: fatal error: openssl/opensslconf.h: No such file or directory
#include <openssl/opensslconf.h>
^
compilation terminated.
make[1]: *** [.../tmp-eglibc/work/armv5te-oe-linux-gnueabi/libpoco/1.4.6p1-r0/poco-1.4.6p1-all/Crypto/obj/Linux/armv5te/debug_shared/CipherKey.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make -C /home/lukas/oe-core/build/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libpoco/1.4.6p1-r0/poco-1.4.6p1-all/Util
make[1]: *** [.../tmp-eglibc/work/armv5te-oe-linux-gnueabi/libpoco/1.4.6p1-r0/poco-1.4.6p1-all/Crypto/obj/Linux/armv5te/debug_shared/CipherKeyImpl.o] Error 1
make[1]: Entering directory `/home/lukas/oe-core/build/tmp-eglibc/work/armv5te-oe-linux-gnueabi/libpoco/1.4.6p1-r0/poco-1.4.6p1-all/Util'
This commit formats the libpoco recipe to follow the common
OpenEmbedded style more closely and removes a comment that points
to warnings that do not occur with the current recipe.