Re: Bug in Gnuastro's multiple shared libraries
Hi Thorsten,
Thanks a lot for the great explanation, I understand the problem much
better now now :-)!
Within Gnuastro's installed library, the 'libgnuastro_make.so' file is
just a symbolic link to 'libgnuastro_make.so.18.0.0'. The same way that
'libgnuastro.so' is a symbolic link to 'libgnuastro.so.18.0.0'.
In the P.S. you can see the installed Gnuastro library files (it is also
attached in case the email viewer makes it hard to read).
Probably the reason that the Debian packaging is treating 'libgnuastro'
differently from 'libgnuastro_make' is that the latter is not an
independent package. Does this sound reasonable?
As I think more about it, the GNU Make extensions of Gnuastro are indeed
used in other contexts from the low-level library (it has a different
purpose). So I think it is good to separate it in any case ;-).
Thanks again :-),
Cheers,
Mohammad
P.S.
$ ls -l /usr/local/lib/libgnuastro*
-rw-r--r-- 1 root root 6772824 Sep 22 19:48 /usr/local/lib/libgnuastro.a
-rwxr-xr-x 1 root root 1160 Sep 22 19:48 /usr/local/lib/libgnuastro.la
-rw-r--r-- 1 root root 5992 Sep 22 19:48
/usr/local/lib/libgnuastro_make.a
-rwxr-xr-x 1 root root 1225 Sep 22 19:48
/usr/local/lib/libgnuastro_make.la
lrwxrwxrwx 1 root root 26 Jun 9 19:53
/usr/local/lib/libgnuastro_make.so.18 -> libgnuastro_make.so.18.0.0
lrwxrwxrwx 1 root root 26 Sep 22 19:48
/usr/local/lib/libgnuastro_make.so -> libgnuastro_make.so.18.0.0
-rwxr-xr-x 1 root root 16152 Jun 9 19:53
/usr/local/lib/libgnuastro_make.so.18.0.0
lrwxrwxrwx 1 root root 21 Jun 9 19:53
/usr/local/lib/libgnuastro.so.18 -> libgnuastro.so.18.0.0
-rwxr-xr-x 1 root root 5236384 Jun 9 19:53
/usr/local/lib/libgnuastro.so.18.0.0
lrwxrwxrwx 1 root root 21 Sep 22 19:48
/usr/local/lib/libgnuastro.so -> libgnuastro.so.18.0.0
On 10/3/23 10:34, Thorsten Alteholz wrote:
Hi Mohammad,
there is package libgnuastro18 which contains
/usr/lib/x86_64-linux-gnu/libgnuastro_make.so and libgnuastro17 which
contains the same file.
As these are shared libraries, they need to be installable at the same
time (broadly speaking), which is not possible due to this file
conflict. I assume that libgnuastro_make.so is different in both versions.
So adding libgnuastro_make.so to a separate package would not help
(libgnuastro17 would not work with the libgnuastro_make.so from
libgnuastro18). You need to introduce a versioned libgnuastro_make (and
put the libgnuastro_make.so as a link into the corresponding -dev package).
As there is no versioned libgnuastro_make.so in libgnuastro17 and you
can not change this, you need to change the name of libgnuastro_make.so
in libgnuastro18 to avoid to introduce Conflicts: between the -dev
package and libgnuastro17.
I hope this makes sense to you
Good luck with your data release
Thorsten
$ ls -l /usr/local/lib/libgnuastro*
-rw-r--r-- 1 root root 6772824 Sep 22 19:48 /usr/local/lib/libgnuastro.a
-rwxr-xr-x 1 root root 1160 Sep 22 19:48 /usr/local/lib/libgnuastro.la
-rw-r--r-- 1 root root 5992 Sep 22 19:48 /usr/local/lib/libgnuastro_make.a
-rwxr-xr-x 1 root root 1225 Sep 22 19:48 /usr/local/lib/libgnuastro_make.la
lrwxrwxrwx 1 root root 26 Jun 9 19:53 /usr/local/lib/libgnuastro_make.so.18 -> libgnuastro_make.so.18.0.0
lrwxrwxrwx 1 root root 26 Sep 22 19:48 /usr/local/lib/libgnuastro_make.so -> libgnuastro_make.so.18.0.0
-rwxr-xr-x 1 root root 16152 Jun 9 19:53 /usr/local/lib/libgnuastro_make.so.18.0.0
lrwxrwxrwx 1 root root 21 Jun 9 19:53 /usr/local/lib/libgnuastro.so.18 -> libgnuastro.so.18.0.0
-rwxr-xr-x 1 root root 5236384 Jun 9 19:53 /usr/local/lib/libgnuastro.so.18.0.0
lrwxrwxrwx 1 root root 21 Sep 22 19:48 /usr/local/lib/libgnuastro.so -> libgnuastro.so.18.0.0
Reply to: