From 8ab6fd7fa52fbaeb0b8ca11a7f7b5b26d82e9270 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Tue, 5 May 2015 16:11:14 +0200 Subject: 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::pointer CryptoPP::NullAllocator::allocate(CryptoPP::NullAllocator::size_type, const void*) [with T = unsigned int; CryptoPP::NullAllocator::pointer = unsigned int*; CryptoPP::NullAllocator::size_type = unsigned int]: Assertion `false' failed. Building only a static library with OE, (if native build forcing 32bit) fixes the issue. --- recipes-bsp/tegrarcm/tegrarcm.bb | 7 ++++-- ...gure.ac-link-crypotpp-as-a-static-library.patch | 29 ++++++++++++++++++++++ 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 recipes-bsp/tegrarcm/tegrarcm/0001-configure.ac-link-crypotpp-as-a-static-library.patch (limited to 'recipes-bsp/tegrarcm') 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 +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 ], +-- +1.9.3 + -- cgit v1.2.3