Why installing some libraries would trigger update-initramfs? - initramfs

I just installed some libraries as guided in Minimal requirements to compile the Kernel
Intro
I don't know why it triggered the update-initramfs?

Related

Qt (linux) - Incompatible version of OpenSSL (built with OpenSSL 1.x, runtime version is >= 3.x)

I built a qt c++ application on a Linux system which uses network requests as part of its functionality, and on the system which it was built on it works alright, after I deployed it (using cqtdeployer), and ran the application on a different Linux computer, the GUI opens up and everything, but when it tries to perform HTTP requests it logs the following error to the console:
qt.tlsbackend.ossl: Incompatible version of OpenSSL (built with OpenSSL 1.x, runtime version is >= 3.x)
My question is - can Qt be built with modern OpenSSL versions, or do I have to manually install OpenSSL1.x on the computer which tries to run the program? Maybe I can just provide a bunch of libraries to the deployment folder?
Thanks.
OpenSSL is generally binary incompatible between major versions, especially with version 3, which is a major API change.
Perhaps it will be a good investment of time for you to take this opportunity to learn how to use your Linux distribution's package manager, (rpm/dnf on Fedora-based Linux distributions, and dpkg/apt on Debian-derived distributions) which exists precisely to solve these kinds of problems.
Most major Linux distributions still include an additional compatibility package for code that's built with OpenSSL 1. If you use your Linux distribution's package manager and prepared an appropriate package, the compatibility package would've gotten installed, automatically, by the package manager together with your package. That's what the package manager is for.
It's also a fair chance that the version of Qt is different too, and there's also a high chance of an incompatibility between your code that's compiled for one version of Qt and the different version that's installed on the computer in question, even though it seemingly runs. If you used the package manager it would've figured it out too, and alerted you.

c++ ABI compatibility between gcc-4.4 and gcc-4.8

I've got a RedHat6 build platform which has gcc-4.4.7 installed and I've built a bunch of shared and static libraries on that platform.
Now I want to build an app on the above platform which links against the above libraries along with a third party library which has been built on RedHat7 using gcc-4.8.5.
My app will be deployed on RedHat7 platforms.
My questions are:
Will I be able to build my app successfully on the RH6 platform?
Will my app run when deployed on the RH7 platform?
According to my understanding of this, it seems that both versions of the toolchain have compatible ABIs, so I feel that the answer to both my questions is probably 'yes'.
A toy example I built to test it worked as expected, but I'd like to get the opinion of an experienced Linux developer.

How can you add a macos framework as a dependency of a C++ library in Bazel

I'm working on getting a Qt application building using Bazel on macos in preparation to getting it running cross platform on Mac and Windows.
I started with the linux example of this from github (https://github.com/bbreslauer/qt-bazel-example) and that mostly worked except that the Bazel couldn't link the frameworks from Qt as "cc_library"s. Unfortunately, after changing these to "objc_framework"s both the cc_library and qt_cc_library rules complain that objc_framework types are unexpected:
"objc_framework rule '#qt//:qt_widgets' is misplaced here (expected cc_library, objc_library, cc_proto_library or cc_import)"
From reading around, I understand that you can have a library depend on a framework (and you'd have to in order to build anything using frameworks) so the question is how can I tell Bazel to do it?
Note: I am using the latest bazelbuild/apple_rules extensions in my workspace setup.

where can I find grpc library for c++ windows and Linux both

I am trying to setup grpc server for a embedded device which runs the C++ environment. I have followed the link at https://github.com/grpc/grpc/blob/master/INSTALL.md, but I am unable to understand what needs to be done there in a order for grpc library to be available or installed in C++ libs.
Setting up grpc for C++, I assume to be having a generic approach for windows/Linux environment apart from the specifics of C++ run time location
The approach at above location says to build, but its failing for me at step,
With error as below,
Anyone if having more detailed link/reference to step by step process would be really helpful
For building gRPC under Windows nowadays, I would highly encourage people to use the provided CMakefile.
We haven't done any work towards supporting cygwin however, and we don't have any plans in supporting it at the moment. Most of the Windows-specific codebase would expect msys/mingw or VC, and I wouldn't be surprised if it would fail at runtime with cygwin even if you manage to compile, as our usage of the Linux API is probably too advanced for cygwin's emulation layer.
The Makefile should potentially behave properly under msys, if you insist on using it.

Qt deploying issue on other computer

I have a deployment problem after having compiled the release of my program. I can use it on my computer, but it doesn't work on another computer unless I install Qt on it.
I tried to compile with MSVC2012 and MinGW:
With MSVC2012, the program doesn't show any error messages.
With MinGW the program sends me a c++ runtime error.
You have three options:
Compile Qt with static libraries and link you program with those static libraries. All dependencies will be included in the program binary.
Ship Qt dynamic libraries that your program needs with your program.
Ask the user to install Qt libraries with the same major version you used to compile your program.
I'm not a Windows guys so I can't tell you Windows specifics, but these will do the job.