summaryrefslogtreecommitdiff
path: root/recipes-bsp/tegrarcm
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2015-05-05 16:11:14 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2015-05-12 10:06:08 +0200
commit8ab6fd7fa52fbaeb0b8ca11a7f7b5b26d82e9270 (patch)
tree2810f217f06b24c2cd8a98738ad5778ea26539c6 /recipes-bsp/tegrarcm
parent2207bf3d6acf92776bb71d08613d6e485087e378 (diff)
tegrarcm/cryptopp: build and use as a static library
We need libcryptopp only for a 32bit x86 target for tegrarcm. However linking libcryptopp dynamically and using the distro supplied 32bit compatibility libcryptopp raises an assertion: tegrarcm: secblock.h:145: CryptoPP::NullAllocator<T>::pointer CryptoPP::NullAllocator<T>::allocate(CryptoPP::NullAllocator<T>::size_type, const void*) [with T = unsigned int; CryptoPP::NullAllocator<T>::pointer = unsigned int*; CryptoPP::NullAllocator<T>::size_type = unsigned int]: Assertion `false' failed. Building only a static library with OE, (if native build forcing 32bit) fixes the issue.
Diffstat (limited to 'recipes-bsp/tegrarcm')
-rw-r--r--recipes-bsp/tegrarcm/tegrarcm.bb7
-rw-r--r--recipes-bsp/tegrarcm/tegrarcm/0001-configure.ac-link-crypotpp-as-a-static-library.patch29
2 files changed, 34 insertions, 2 deletions
diff --git a/recipes-bsp/tegrarcm/tegrarcm.bb b/recipes-bsp/tegrarcm/tegrarcm.bb
index b4aedb6..c371d03 100644
--- a/recipes-bsp/tegrarcm/tegrarcm.bb
+++ b/recipes-bsp/tegrarcm/tegrarcm.bb
@@ -8,8 +8,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=395fe5affb633ad84474e42989a8e5be"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI = "git://github.com/NVIDIA/tegrarcm.git \
- "
+SRC_URI = " \
+ git://github.com/NVIDIA/tegrarcm.git \
+ file://0001-configure.ac-link-crypotpp-as-a-static-library.patch \
+"
+
SRCREV = "12b9718fc6b5be374d252be691733837e756d816"
PV = "1.6"
diff --git a/recipes-bsp/tegrarcm/tegrarcm/0001-configure.ac-link-crypotpp-as-a-static-library.patch b/recipes-bsp/tegrarcm/tegrarcm/0001-configure.ac-link-crypotpp-as-a-static-library.patch
new file mode 100644
index 0000000..5e38ae8
--- /dev/null
+++ b/recipes-bsp/tegrarcm/tegrarcm/0001-configure.ac-link-crypotpp-as-a-static-library.patch
@@ -0,0 +1,29 @@
+From fb84c35772a1883c48646638e2b7618442f82ff6 Mon Sep 17 00:00:00 2001
+From: Max Krummenacher <max.krummenacher@toradex.com>
+Date: Tue, 5 May 2015 13:54:11 +0200
+Subject: [PATCH] configure.ac: link crypotpp as a static library
+
+We want to build -native for a 32 bit machine but have issues with certain
+distributions 32bit libcryptopp.so. So link against our own build
+of a 32bit libcryptopp.a
+---
+ configure.ac | 2 +-
+ src/Makefile.am | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c95a0ec..250f3c2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,7 +20,7 @@ AC_CHECK_LIB([pthread],
+ PKG_CHECK_MODULES([LIBUSB], [libusb-1.0])
+ AC_LANG(C++)
+ SAVED_LDFLAGS=$LDFLAGS
+-LDFLAGS="$LDFLAGS -lcryptopp -lpthread"
++LDFLAGS="$LDFLAGS -m32 -Wl,-Bstatic -lcryptopp -Wl,-Bdynamic -lpthread"
+ CRYPTOLIB=
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([#include <cryptopp/cryptlib.h>],
+--
+1.9.3
+