Can we have two versions of openssl library in yocto - yocto

There are two openssl recipes in poky/meta/recipes-connectivity/openssl
openssl10_1.0.2u.bb
openssl_1.1.1g.bb
When i build the image with openssl, then libcrypto.so.1.1 is only present. I want to have both versions of libcrypto into rootfs. I tried adding IMAGE_INSTALL += "openssl10", but it didn't work

You want to install libcrypto10 package.
Else than reading the recipe, you can find this info by running oe-pkgdata-util find-path "*libcrypto*".

Related

How install Nuget Microsoft.ML.OnnxRuntime.Gpu for ONNX Runtime in Ubuntu 18?

I'm trying to use ONNX runtime for Ubuntu: https://onnxruntime.ai/
I selected Linux, C++, x64, then CUDA. It says "Install Nuget package Microsoft.ML.OnnxRuntime.Gpu
Refer to docs for requirements."
When I click on "Microsoft.ML.OnnxRuntime.Gpu", I'm taken to https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu
There, it just says "Install-Package Microsoft.ML.OnnxRuntime.Gpu -Version 1.8.1". Now what am I supposed to do?
They expect you to install nuget in linux with
sudo apt-get install -y nuget
And then run the following with the version you want installed.
nuget install Microsoft.ML.OnnxRuntime.Gpu -Version 1.12.0
That's the expected approach. Personally, for me that didn't work. I kept getting some error saying "'Microsoft.ML.OnnxRuntime.Managed' already has a dependency defined for 'System.Memory'." So I did it a different way. I just went to https://github.com/microsoft/onnxruntime/releases/tag/v1.12.0. And then at the bottom under assets it lists pre-built .tgz packages for the different setups. You can just download one and unpack it.

Showing a list of software with LGPL during boot

I remember seeing a list of software components with LGPL licenses during the start up of Linux root file system built with Yocto Project. I can't seem to figure out what enables this, even after going through the Mega Manual.
NOTICE: This file system contains the following GPLv3 packages:
autoconf
bash-dev
bash
binutils
cifs-utils
cpio
cpp-symlinks
cpp
dosfstools
elfutils
g++-symlinks
g++
gawk-dev
gawk
gcc-symlinks
gcc
gdb
gdbc6x
gdbserver
gettext-dev
gettext
gzip
libbfd
libcairo-dbg
libcairo-perf-utils
libdw1
libelf1
libgdbm-compat4
libgdbm-dev
libgdbm4
libgettextlib
libgettextsrc
libgmp-dev
libgmp10
libgmpxx4
libidn11
libmpc3
libmpfr4
libreadline-dev
libreadline7
libunistring2
m4-dev
m4
make
nettle-dev
nettle
parted
python3-pycairo-dev
python3-pycairo
which
If you do not wish to distribute GPLv3 components please remove
the above packages prior to distribution. This can be done using
the opkg remove command. i.e.:
opkg remove <package>
Where <package> is the name printed in the list above
NOTE: If the package is a dependency of another package you
will be notified of the dependent packages. You should
use the --force-removal-of-dependent-packages option to
also remove the dependent packages as well
Found my answer - it's from arago-gpl-notice from meta-arago. It only displays GPLv3 also.

gdcmanon - Requested cryptoraphic library not configured

I am using gdcmanon to anonimize dicom files like the following:
LD_LIBRARY_PATH=../lib ./gdcmanon --certificate CA_cert.cer -e ./dump ./dump/anon
But it gives the following error:
Error: In /home/travis/build/malaterre/GDCM/Source/Common/gdcmCryptoFactory.cxx, line 61, function static gdcm::CryptoFactory* gdcm::CryptoFactory::GetFactoryInstance(gdcm::CryptoFactory::CryptoLib)
No crypto factory registered with id 1
Requested cryptoraphic library not configured.
How can I solve this?
The error is because of binaries you use, it looks like SSL dependencies are not satisfied.
As a solution (workaround?), you can get the binaries via apt system. For Ubuntu 16.04 Xenial distribution, there is version 2.6.3 of libgdcm-tools package.
Another possibility is to compile gdcm from scratch, but you need development files of OpenSSL (apt install libssl-dev). Moreover, to use anonymisation with certificates, in CMake system set GDCM_USE_SYSTEM_OPENSSL=YES.

Different versions of rpmbuild list different dependencies

I am building a netbeans 8.1 platform application for CentOS6 and CentOS7. These OS's host rpmbuild 4.8.0 and 4.11.3 respectively.
On each OS, I can package the application into a ZIP file distribution in the netbeans 8.1 IDE, which is then referenced in my .spec file.
On both OS, the resulting rpm is built fine (by which I mean, an rpm is produced with no errors).
When I install the rpm on CentOS6, it installs fine and the application runs.
When I install the rpm on CentOS7, rpm returns the following error:
D: Requires: osgi(org.tmatesoft.sqljet) NO
(In fact I get a bunch of osgi references, but all the others have satisfied dependencies).
If I list the rpm dependencies with
rpm -qpR package.rpm
I get the same list of dependencies on both OS, except that on CentOS7 it finds a bunch of osgi() dependencies - these are not present on CentOS6.
Since the only difference between these two proceedures is the version of rpmbuild I am using, I suspect that this is the problem. However, I'm not sure how best to resolve the problem on CentOS7 - I've tried using --nodeps in the rpmbuild command and I've tried adding module dependencies to the project in netbeans, but to no avail. Any help much appreciated.

Specify the gcc version for bitbake meta-toolchain

I'm just starting to learn Yocto 1.8.
The bitbake meta-toolchain ran fine as described in the documentation and generated the appropriate installation script. However, bitbake picked a version of GCC that I don't want.
What is the recommended way to tell bitbake which version of GCC to pick for the bitbake meta-toolchain build?
Just to keep the record complete.
The exact GCC version is specified in the machine/.conf file as:
# This version is Yocto-branch dependent
PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "5.2%"