Hi, I have put a lot of time into learning about dpdk-20.11 but I have not yet found documentation on how to use it with shared libraries. In dpdk-20.11, the examples are all built as "static" by default meaning that the entire kitchen sink of all DPDK libraries are linked in during the "ld" phase and the resulting binary is huge. When built as "static", the examples all appear to work fine as everything is loaded by default at runtime.
When I build the examples as "shared", however, the story is completely different. Examples that run fine as "static" do not work at all when built as "shared". It is clear that somehow the build procedure is not giving adequate instructions to the loader so that all necessary libraries will be ready to go at runtime. I believe what needs to happen is that initialization code needs to be added to the example "main.c" modules to initialize functions that will be needed by lower levels but that are not being picked up on by the loader. But, I can find no documentation for how to do this. In my next message, I will send a code example of what I have tried so far. Stephen, can you provide guidance on how to work with dpdk-20.11 in shared library environments? I would be happy to be pointed to any documentation I may be missing. Thanks - Fred
