gem5 - linking to external library's header/binaries - build

We are trying to build gem5 with an external library (redis server). We tried passing the library's binary file paths as LINKFLAGS to the build. But the build is failing and the error states that the redis library is not found.
Does any one have any experience linking external libraries with gem5?
We are trying to use the redis library to send messages from the gem5's cache access function to another external process (a python function).

Related

cMake run build step of ExternalProject at cmake configure time

I have a cmake project which includes an external not cmake based project with ExternalProject_Add. The external project is a library used in my application.
Is there a way to run the build step of the external project during the cmake configure time?
Right now, I have to call the build step of the external project before I'm able to see the library header files in my project. So far not that big issue, but it would be convenient to have all headers ready after the configuration step...
Thanks

How to build GRPC with custom BoringSSL symbol prefix?

I need to use in the my application both GRPC (which uses and comes with sources of the BoringSSL) and another third-party library which is tied to OpenSSL, and does not link with BorinSSL. Specifying both of them on the linker arguments leads to some linker errors.
So I've got an idea to build gRPC with custom BoringSSL symbol prefix (and as result do not "shadow" OpenSSL), because I have seen in the standalone BorongSSL build instructions that there is a way to do that ( https://boringssl.googlesource.com/boringssl/+/HEAD/BUILDING.md#building-with-prefixed-symbols ), so I assume this is potentially possible in the GRPC build too.
I am using CMake (and cannot use Bazel). OS: Linux, Windows. Toolchains: VS2017, GCC.
So I've tried to add -DBORINGSSL_PREFIX_SYMBOLS=/path/to/symbols and -DBORINGSSL_PREFIX=my_bssl_prefix on the GRPC cmake command line, but it has finally printed me a warning that these symbols were not used:
CMake Warning:
Manually-specified variables were not used by the project:
BORINGSSL_PREFIX
BORINGSSL_PREFIX_SYMBOLS
If anybody knows, please explain, how to do that correctly.

N-API include an .so or dll

I am developing an app using electron.
I have setup an addon that uses c++ code and translated it into nodejs code using NAPI.
Now I want to include an external .so library (with a .h file) but can't find any documents that achieve any success.
I keep getting error: undefined symbol: Some_Function_Name
you can specifiy libraries to link against in the binding.gyp, details is in Node-gyp/C++ import shared library (.so) and How to build nodejs C++ addon depending on a shared library with relative location. when using NAPI you use node-gyp as the toolchain to compile automatically, is a dependency of NAPI

cmake detect flags during build using another tool

I'm faced a problem how to add 3rd-party dependency library to link command using cmake.
Currently, my cmake build does the following :
gets 3rd-party library from git and builds it (ExternalProject_Add)
after building of 3rd-party libarry, it provides custom binary file
(named 'config++') that allows to invoke it with the following
arguments :
'config++ --cppflags' - to get CPPFLAGS being used to
compile with the library
'config++ --ldflags' - to get library path
where libraries are placed during bulding
'config++ --libs' - to get
list of libraries (inluding static and shared dependent libaries) to
be used when linking with the libary.
(Yes, config++ it is very similar to pkg-config.)
As 3rd-party libary build is done during project build and I don't have config++ ready before, is there any way to detect dynamically CXXFLAGS/LDFLAGS (by invoking 'config++') to be passed to compile/linkage command when performing 'cmake build'?
Thanks.
You can use the CMake command execute_process to run the external program and then collect its output in a variable that you can then append to your build flags.

Boost and Telegram API: unresolved external symbol

I am trying to build Telegram API to C++ from here https://github.com/reo7sp/tgbot-cpp
And it need Boost libs. I installed it, builded solution with CMake, but then I try to build my solution I have a lot of "unresolved external symbot" problems
These are OpenSSL library symbols. boost::asio::ssl requires OpenSSL. See notes at the bottom of this page: http://www.boost.org/doc/libs/1_64_0/doc/html/boost_asio/overview/ssl.html.