indilib / indi-3rdparty

INDI 3rd Party drivers repository
https://www.indilib.org/devices.html
GNU Lesser General Public License v2.1
123 stars 208 forks source link

libqhy: fix soversion #916

Closed returntoreality closed 4 months ago

returntoreality commented 4 months ago

the binary file actually has the SONAME libqhyccd.so.20 and is also distributed in the official SDK as libqhyccd.so.20. This changes the SOVERSION to match that.

knro commented 4 months ago

That would break indi-qhy, it's always been using SO version = year in INDI at least.

returntoreality commented 4 months ago

I created this because indi-qhy is broken because of this. During build the linker will search for libqhyccd.so, since "-lqhyccd" is given. It will find the symlink for libqhyccd.so->libqhyccd.24->libqhyccd.24.4.1 and read the file. There it will see the SONAME (can be seen with objdump -p libqhy/libqhyccd_x86_64.bin | grep SONAME ) and link to that SONAME. This SONAME in the master branch is libqhyccd.so.20. But because the libqhyccd.so is installed as libqhyccd.so.24 it is not found during runtime. If I build indi-3rdparty master I get a indi_qhy_ccd binary that was successfully linked, but then ldd shows:

...
libqhyccd.so.20 => not found
...