On 31/12/2020 14:12, Black Michael via wsjt-devel wrote:
Seems we had a problem on Linux WSJT-X builds as they are using the hamlib shared library instead of static build.
I've already recommended they switch to static.

The problem crept up where one version of hamlib worked but another was getting the wrong value for rig->caps->vfo_list since the caps structure had changed.

What I'd like to do is work with the WSJT-X team to provide whatever function calls you need to eliminate any references to the data structures in hamlilb and prevent this problem in the future.

So at this point I know we maybe need a rig_get_caps(RIG *rig, RIG_CAPS_VFO_LIST, value_t *value) This function would allow querying any needed caps values and remove the structure offset dependencies.

Thoughts?

Mike W9MDB

Mike,

binary packages released by the WSJT-X team use statically linked Hamlib and have done so for several Years. That may change soon as Hamlib 4.0 is released. We are not responsible for packages added to repositories by package maintainers, but they may well be constrained by Linux distribution rules that do not allow static linking.

Any current direct data structure accesses are probably because no alternatives were available at the time the code was written. If such structures are not part of the public API of Hamlib then your first step should be removing the definitions of those structures from the public header files and providing access via opaque pointers and API functions.

73
Bill
G4WJS.



_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to