The short version - it ain't working.
The long version:
For shared libraries made from C++ sources, configure
runs some code to determine how to link shared libraries
(from libtool.m4) using g++. In particular, it calls
g++ ${CFLAGS} -c conftest.c
g++ ${CFLAGS} -nostdinc -shared -v conftest.o
to then parse the gcc -v output.
If CFLAGS contains -pie -fpie, g++ adds Scrt1.o to the
objects being linked together to form the final output.
Once Scrt1.o is pulled into a shared library, it becomes
impossible to link this DSO against a final binary. I
didn't investigate why, by I suspect because of
-Wl,relro -Wl,now
libtool takes note of Scrt1.o (and all other libraries
added by gcc, but those don't matter here) and adds it
everywhere a shared library is being created, see
predep_objects= and postdep_objects= in the
'LIBTOOL TAG CONFIG: CXX' section.
In other words, the the shared library created during
the build can't be linked against. This includes
some applications that are part of the libdbus-c++
source tree, but also any other external user.
While I am not sure if the root of the issue is in
- gcc (should it really add Scrt1.o despite -shared),
or in
- libtool (should it filter out -pie -fpie during the
configure step), or even in
- OE (should it really be adding -pie -fpie to
everything, even shared libraries by default and
unconditionally),
we can make things work by using SECURITY_NO_PIE_CFLAGS
instead.
Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
www.tux.org/~mayer/linux/ location can't be found anymore. It seems that the
www.math.utah.edu website gives an alternative to reach nbench-byte tool: use
this one to fix the issue.
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
While testing arm 64/32 multi, the following issue was observed:
WARNING: gpsd-3.14-r0 do_package: QA Issue: gpsd: Files/directories were
installed but not shipped in any package:
/usr/lib/libgpsd.so.22.0
/usr/lib/libgps.so.22
/usr/lib/libgpsd.so.22.0.0
/usr/lib/libgpsd.so.22
/usr/lib/libgps.so.22.0.0
/usr/lib/libgps.so
/usr/lib/libgps.so.22.0
/usr/lib/libgpsd.so
/usr/lib/pkgconfig
/usr/lib/pkgconfig/libgpsd.pc
/usr/lib/pkgconfig/libgps.pc
Please set FILES such that these items are packaged. Alternatively if they are
unneeded, avoid installing them or delete them within do_install.
gpsd: 11 installed and not shipped files. [installed-vs-shipped]
WARNING: gpsd-3.14-r0 do_package_qa: QA Issue: /usr/bin/cgps contained in
package gps-utils requires libgps.so.22()(64bit), but no providers found in
RDEPENDS_gps-utils? [file-rdeps]
WARNING: gpsd-3.14-r0 do_package_qa: QA Issue: /usr/sbin/gpsdctl contained in
package gpsd requires libgps.so.22()(64bit), but no providers found in
RDEPENDS_gpsd? [file-rdeps]
WARNING: gpsd-3.14-r0 do_package_qa: QA Issue: /usr/bin/gpsctl contained in
package gpsd-gpsctl requires libgps.so.22()(64bit), but no providers found in
RDEPENDS_gpsd-gpsctl? [file-rdeps]
WARNING: gpsd-3.14-r0 do_package_qa: QA Issue: gpsd-dbg: found library in wrong
location: /usr/lib/.debug/libgpsd.so.22.0.0
gpsd-dbg: found library in wrong location: /usr/lib/.debug/libgps.so.22.0.0 [libdir]
gpsd SConstruct file defaults to using '/lib' suffix, which needs to be
overriden in the recipe.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit 45837e6c56)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Clang complains like below
| ../../fribidi-0.19.7/charset/fribidi-char-sets-cap-rtl.c:148:7: error: expected expression
| DBG ("warning: could not find a mapping for CapRTL to Unicode:");
Therefore quick fix is to remove FORTIFY_SOURCE from cmdline
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 1c8afeed17)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Fixes errors e.g.
relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `stderr@@GLIBC_2.17' can not be us
ed when making a shared object; recompile with -fPIC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 5d22f06617)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Remove install errors:
mv: cannot stat '.../tmp/work/mips64-wrs-linux/opencv/3.1+gitAUTOINC
+92387b1ef8-r0/image/usr/lib/*': No such file or directory
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit cefba87ff0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
According to other Linux distributes like Ubuntu, the modules
are usually included by 'LoadModule' command in *.load files
in mods-enable directory, as *.conf files in this directory
are usually used for special configurations for each module.
Include *.load in apache2 top conf file to be compatible with
customer's normal usage habits.
Signed-off-by: Junxian.Xiao <Junxian.Xiao@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit b2409021dd)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
asio may or may not build examples and tests that
depend on OpenSSL, alas, it has no way to explicitly
enable or disable OpenSSL support, which is enabled
unconditionally whenever openssl/ssl.h can be found.
Due to that we get non-deterministic build behaviour,
based on whether or not some other package pulled
OpenSSL into the sysroot before asio's configure is
running.
Additionally, we can get random compilation failures
if openssl/ssl.h exists during configure time, but is
removed from sysroot later, e.g. due to a concurrent
rebuild of OpenSSL at the same time as building asio.
Having an explicit DEPENDS avoids both these problems.
We can not use PACKAGECONFIG, because as mentioned
above there is no way to explicitly disable OpenSSL
support.
Signed-off-by: André Draszik <adraszik@tycoint.com>
Reviewed-by: Sylvain Lemieux <slemieux@tycoint.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit 334608d5dd)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
it has all needed features but expects " -D__GNU_LIBRARY__"
so make it happy when using musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit b70dd8f2af)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Check for files first before operating on it
Fixes QA errors like below
/usr/lib/python2.7/site-packages/plist/__init__.py
/usr/lib/python2.7/site-packages/plist/_plist.so
/usr/lib/python2.7/site-packages/plist/plist.py
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
libplist: 3 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
(cherry picked from commit ecdf2c3080)
Signed-off-by: Armin Kuster <akuster808@gmail.com>