This is most likely a link issue with your client application Makefile. net_impls are
activated via C constructor functions, so you need to use --whole_archive directives to
ensure the linker doesn't optimize out the constructor function (since the constructor
function isn't explicitly called anywhere).
See mk/spdk.app_vars.mk. SPDK uses constructor functions for registration in a lot of
places, so by default we wrap all SPDK libraries with --whole_archive directives to ensure
constructors don't get optimized out during link phase.
Hope that helps - please report back how it goes!
On 9/27/19, 1:56 PM, "SPDK on behalf of Tom Rainey"
<spdk-bounces(a)lists.01.org on behalf of tom.rainey(a)samsung.com> wrote:
We are attempting to use TCP to connect to a remote target, however, we noticed that
our posix socket layer is not being loaded. When spdk_sock_connect is called, there does
not seem to be any items in g_net_impls.
How does g_net_impls get populated on the client side? We've looked at the
hello_sock sample and there doesn't seem to be anything tricky happening before
spdk_sock_connect is called.
SPDK mailing list