Subject: [bug#68682] [PATCH] gnu: maths: arpack-ng: Modify build settings.

From: Romain Garbage <[email-masked]>
Date: Wed, 24 Jan 2024 17:04:50 +0100 (CET)

Hello :)

----- Mail original -----
> De: "Ludovic Courtes" <[email-masked]>
> À: "Andreas Enge" <[email-masked]>
> Cc: "Romain Garbage" <[email-masked]>, "Eric Bavier" <[email-masked]>, "Sharlatan Hellseher"
> <[email-masked]>, [email-masked], "Efraim Flashner" <[email-masked]>
> Envoyé: Mercredi 24 Janvier 2024 14:51:52
> Objet: Re: [bug#68682] [PATCH] gnu: maths: arpack-ng: Modify build settings.

> Hi!  :-)
> 
> Andreas Enge <[email-masked]> skribis:
> 
>> I see that the ISO C binding flag installs additional headers, but I do not
>> see why the flag for building shared libraries would be needed. In the current
>> arpack-ng, there is already a shared library in the lib/ subdirectory.
>>
>> Could you explain how adding the flag makes a difference?
> 
> The goal should be to build shared libraries only.  If that’s already
> happening without passing ‘-DBUILD_SHARED_LIBS=ON’, I agree we can drop
> it, in an effort to keep the package definition minimal.
> 
> Romain, could you confirm that ‘-DBUILD_SHARED_LIBS=ON’ is indeed
> unnecessary and send a new version without it if it is?

I built the package with and without '-DBUILD_SHARED_LIBS=ON' and compared the outputs:
```
$ diff -r /gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0 /gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0
Binary files /gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0/lib/libarpack.so and /gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0/lib/libarpack.so differ
Binary files /gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0/lib/libarpack.so.2 and /gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0/lib/libarpack.so.2 differ
Binary files /gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0/lib/libarpack.so.2.1.0 and /gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0/lib/libarpack.so.2.1.0 differ
diff -r /gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0/lib/pkgconfig/arpack.pc /gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0/lib/pkgconfig/arpack.pc
1c1
< prefix=/gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0
---
> prefix=/gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0
3,4c3,4
< libdir=/gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0/lib
< includedir=/gnu/store/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng-3.9.0/include/arpack-ng
---
> libdir=/gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0/lib
> includedir=/gnu/store/5hbj4pza16d0vbmam0rmyx5h6z50fgqi-arpack-ng-3.9.0/include/arpack-ng

$  diff -u /tmp/*arpack-ng # these files contain the output of 'ldd /gnu/store/*arpack-ng/lib/libarpack.so'
+++ /tmp/wsx55w6bbak6sa3g6c8lwm3bliipkhy1-arpack-ng	2024-01-24 16:53:44.805910227 +0100
@@ -1,9 +1,9 @@
-	linux-vdso.so.1 (0x00007ffe84d4b000)
-	libblas.so.3 => /gnu/store/p34bwhh7lb9lsa8vd5w7bs5v599iayag-lapack-3.9.0/lib/libblas.so.3 (0x00007f9208982000)
-	liblapack.so.3 => /gnu/store/p34bwhh7lb9lsa8vd5w7bs5v599iayag-lapack-3.9.0/lib/liblapack.so.3 (0x00007f9208200000)
-	libgfortran.so.5 => /gnu/store/ldkp6a8cpl35vfs8bgnirhw12f76q414-gfortran-11.3.0-lib/lib/libgfortran.so.5 (0x00007f9207e00000)
-	libm.so.6 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libm.so.6 (0x00007f92088a5000)
-	libgcc_s.so.1 => /gnu/store/ldkp6a8cpl35vfs8bgnirhw12f76q414-gfortran-11.3.0-lib/lib/libgcc_s.so.1 (0x00007f92081e6000)
-	libquadmath.so.0 => /gnu/store/ldkp6a8cpl35vfs8bgnirhw12f76q414-gfortran-11.3.0-lib/lib/libquadmath.so.0 (0x00007f920819d000)
-	libc.so.6 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 (0x00007f9207c04000)
-	/gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/ld-linux-x86-64.so.2 (0x00007f9208a22000)
+	linux-vdso.so.1 (0x00007ffdb2fb5000)
+	libblas.so.3 => /gnu/store/p34bwhh7lb9lsa8vd5w7bs5v599iayag-lapack-3.9.0/lib/libblas.so.3 (0x00007f0e9f582000)
+	liblapack.so.3 => /gnu/store/p34bwhh7lb9lsa8vd5w7bs5v599iayag-lapack-3.9.0/lib/liblapack.so.3 (0x00007f0e9ee00000)
+	libgfortran.so.5 => /gnu/store/ldkp6a8cpl35vfs8bgnirhw12f76q414-gfortran-11.3.0-lib/lib/libgfortran.so.5 (0x00007f0e9ea00000)
+	libm.so.6 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libm.so.6 (0x00007f0e9f4a5000)
+	libgcc_s.so.1 => /gnu/store/ldkp6a8cpl35vfs8bgnirhw12f76q414-gfortran-11.3.0-lib/lib/libgcc_s.so.1 (0x00007f0e9ede6000)
+	libquadmath.so.0 => /gnu/store/ldkp6a8cpl35vfs8bgnirhw12f76q414-gfortran-11.3.0-lib/lib/libquadmath.so.0 (0x00007f0e9ed9d000)
+	libc.so.6 => /gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/libc.so.6 (0x00007f0e9e804000)
+	/gnu/store/ln6hxqjvz6m9gdd9s97pivlqck7hzs99-glibc-2.35/lib/ld-linux-x86-64.so.2 (0x00007f0e9f622000)
```

To me, it doesn't seem that the '-DBUILD_SHARED_LIBS=ON' option is necessary, but I might miss something.

What do you think?

Cheers,
Romain