mull icon indicating copy to clipboard operation
mull copied to clipboard

Warnings about "Could not find dynamic library"

Open RobertoBagnara opened this issue 1 year ago • 1 comments

I get these warnings that I do not know how to solve:

[warning] Could not find dynamic library: libboost_log.so.1.74.0
[warning] Could not find dynamic library: libboost_thread.so.1.74.0
[warning] Could not find dynamic library: libboost_system.so.1.74.0
[warning] Could not find dynamic library: libboost_log_setup.so.1.74.0
[warning] Could not find dynamic library: libstdc++.so.6
[warning] Could not find dynamic library: libm.so.6
[warning] Could not find dynamic library: libgcc_s.so.1
[warning] Could not find dynamic library: libc.so.6

Actually, if among those there were not the ones about libc, libm and libstdc++, I would probably think that I need to use the option --ld-search-path option of mull-runner-12, but according to what was written in previous tickets (now closed), this should not be required.

What am I missing?

$ mull-runner-12 --version
Mull: Practical mutation testing for C and C++
Home: https://github.com/mull-project/mull
Docs: https://mull.readthedocs.io
Support: https://mull.readthedocs.io/en/latest/Support.html
Version: 0.20.0
Commit: 3060128
Date: 17 Jan 2023
LLVM: 12.0.0

RobertoBagnara avatar May 17 '23 10:05 RobertoBagnara

Hi @RobertoBagnara, thank you for the great question.

These are just warnings and in this case they are benign. The reason behind the warning is simple: in case you build your executable, and the executable uses your dynamic libraries, and both the executable and the library contain mutations, Mull would need to know about all the dynamic dependencies so that it can extract info about all the mutants.

In this specific case, it seems that these are "3rd-party" dependencies, so it's ok to ignore the warnings. You can also fix them by providing --ld-search-path pointing to the "default" ld search path in your environment.

I hope this helps!

AlexDenisov avatar May 25 '23 17:05 AlexDenisov