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

Jeff Squyres (jsquyres) jsquyres at cisco.com
Mon Jun 3 06:40:52 PDT 2019


Tony --

While your issue sounds generic in nature, did you mean to send this issue to the libfabric mailing list (vs. the libibverbs / rdma-core mailing list)?



> On Jun 1, 2019, at 7:45 PM, Anthony Skjellum <skjellum at gmail.com> wrote:
> 
> Hi,
> 
> 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 libverbs
> 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
> 
> 
> _______________________________________________
> ofiwg mailing list
> ofiwg at lists.openfabrics.org
> https://lists.openfabrics.org/mailman/listinfo/ofiwg


-- 
Jeff Squyres
jsquyres at cisco.com



More information about the ofiwg mailing list