How can I install libcrypto++6 or libcrypto++8?

Hello, how can I install “libcrypto++6 (or libcrypto++8)” with yocto? Normally, I would add debian source.list after installation and install it with apt, but it causes many problems. Likewise, I want to install “default-jre-headless”. I use Kirkstone. I was adding those that do not have such recipes from the source code, but the source code of these is difficult to find and I did not know how to make the recipes. Below is a recipe I found for libcrypto++6, but it doesn’t work.

SUMMARY = "A free C++ class library of cryptographic schemes"
HOMEPAGE = "http://www.cryptopp.com/wiki/Main_Page"
BUGTRACKER = "http://sourceforge.net/apps/trac/cryptopp/"
SECTION = "libs"

LICENSE = "BSL-1.0"
LIC_FILES_CHKSUM = "file://License.txt;md5=deb6d182b0f7f8a866c42941b9f014c4"

BBCLASSEXTEND = "native nativesdk"

PR = "r1"

PVSHORT = "${@'${PV}'.replace('.','')}"
SRC_URI = " \
    https://sourceforge.net/projects/cryptopp/files/cryptopp/5.6.4/cryptopp564.zip;subdir=libcryptopp-${PV} \
    file://0001-Fix-cross-compilation.patch \
"
SRC_URI[md5sum] = "4ee7e5cdd4a45a14756c169eaf2a77fc"
SRC_URI[sha256sum] = "be430377b05c15971d5ccb6e44b4d95470f561024ed6d701fe3da3a188c84ad7"

inherit autotools-brokensep pkgconfig
EXTRA_OECONF = "--libdir=${base_libdir}"

#we want tegrarcm binary to run on a 32-bit architecture, on x86_64 this requires the 32-bit compatibility libs
EXTRA_OEMAKE_class-native = "CC='${CC} -m32' CXX='${CXX} -m32'"
do_compile() {
    sed -i -e 's/^CXXFLAGS/#CXXFLAGS/' GNUmakefile
    export CXXFLAGS="${CXXFLAGS} -DNDEBUG -fPIC"
    oe_runmake -f GNUmakefile
    oe_runmake libcryptopp.a
}

do_install:prepend() {
    export PREFIX=${prefix}
}

do_install:append() {
    if [ -f "${D}/usr/lib/libcryptopp.so" ] && [ ! -e "${D}/usr/lib/libcryptopp.so.${PV}" ]
    then
        mv ${D}/usr/lib/libcryptopp.so  ${D}/usr/lib/libcryptopp.so.${PV}
        ln -fs libcryptopp.so.${PV} ${D}/usr/lib/libcryptopp.so.5
        ln -fs libcryptopp.so.${PV} ${D}/usr/lib/libcryptopp.so
    fi
}

Hi @ArgaKhan, how are you?

Welcome to our community :rocket: ! Please feel free to roam around and explore :slight_smile:

Can you please confirm the following information?

  • Which module and version do you have?
  • Which Image are you trying to build with Yocto? Is this our Reference Multimedia or Minimal Image?

At Toradex, we currently do not support Yocto Kirkstone on our latest releases so you’ll probably need to port a few things to your image. You can find the full list of available releases and the respective Yocto branches here: Embedded Linux Release Matrix | Toradex Developer Center

Kirkstone will be used for our BSP 6. Did you get this recipe from layers.openembedded.org?

Best regards,

I’m fine thanks, I hope you are fine too. To be clear I am not using a module of toradex. I am using a different board with armhf processor. I’m using “core-image-x11” with Yocto, not a different custom version. Here is the site where I find the recipe: Recipe

Hi @ArgaKhan, thanks for the update.

As you’re not using a Toradex Module or image it will not be possible for us to support you.

However, I’d like to note that the recipe that you’ve shared has already the syntax used by Kirkstone as it was part of the master branch so you can exclude the recipe formatting as one possible cause for the problem.

Thanks anyway. Finally, do you know why I am getting the following error on the libcryptopp bitbake when compiling?

GNUmakefile:763: recipe for target ‘asn.o’ failed

Hi @ArgaKhan,

If you go to the link on the SRC_URI of the recipe you’ll be able to download the folder and check the GNUMakefile that it has a code called asn.cpp that it tries to compile. This is all that I’m aware of. You may want to download the full package and check its content.

Best regards,

1 Like

I don’t think I’ll be able to do what I want to do anytime soon, but thank you for trying to help. I wish you good times.

1 Like