I have a project that I've developed with Windows. It uses a few of my libraries (that use another libraries sometime) and in Win it works perfectly.
Now I try to run it in Astra Linux and have a strange problem.
A file dependencies seem like (example):
I have these libraries: core.so
, my.so
and manager.so
— manager
uses core.so
and my.so
, and I can build this without problems.
Then I have a main application that uses a manager.so
, and I have this warning:
libmy.so.1 needed by ***output_path***/libmanager.so, not found (try using -rpath)
and an error:
undefined reference to my::my()
All files exist (checked for 100 times and already tried to put all lib at all possible folders)! And the main strange thing is that I have not the same problem for core.so
that is used by manager.so
with the same way, and it is located in the same folders.
Maybe there are any nuances on Linux with using a chain of libs? I remind, on Windows, it works perfectly.
I tried to configure all paths, but same problem.
The problem is that I have to add a lib path in the main application too (even if I don't use any classes from it). And I checked it again on Windows, and it works without paths in app (adding paths in modules is enough). So, it means that if I've changed any module, I have to rebuild all modules and application again.