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

Jason Gunthorpe jgg at ziepe.ca
Mon Jun 3 06:48:13 PDT 2019


This sounds like your dynamic library is not being linked to
libibverbs.

Add -Wl,--no-undefined to all your compiler flags and fix any errors
that come up.

Jason

On Sat, Jun 01, 2019 at 07:45:02PM -0400, Anthony Skjellum 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
> 
> References
> 
>    1. mailto:skjellum at gmail.com

> _______________________________________________
> ofiwg mailing list
> ofiwg at lists.openfabrics.org
> https://lists.openfabrics.org/mailman/listinfo/ofiwg



More information about the ofiwg mailing list