[ofiwg] libverbs static vs. dynamic linkage issue for CentOS 7.6

Anthony Skjellum skjellum at gmail.com
Sat Jun 1 16:45:02 PDT 2019


I am having truly weird experiences as follows

1) My library, when statically linked, works fine with libverbs
2) My library, when dynamically linked, provides unpredictable errors with
3) My test programs, in main(), dynamically linked with libverbs, work OK

This has been reproduced in several Centos 7.6 InfiniBand networks.

I have done extensive debugging; as more and more functions move into
main(), my program runs further.  Typically, I either segmentation violate
inside libverbs ibv_ calls, or I get errno=9 in my library, depending on
how much code has moved into the statically compiled main or library.

All my code runs fine with a dynamically built main, a statically built
library (my product), and -libverbs dynamically linking.

Is there any known set of conditions that produces such a situation with
recent libverbs?

Any specific things to look out for with readelf that would indicate that
libfabrics is not going to link properly with a dynamic library?

I've read extensively on inter-dll dependencies and proper linking.  What's
the best practice according to the developers of this library ? :-)

Thank you,
Tony Skjellum

Anthony Skjellum, PhD
skjellum at gmail.com
Cell: +1-205-807-4968
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofiwg/attachments/20190601/8fba830f/attachment.html>

More information about the ofiwg mailing list