Bug#874802: libcblas3 and libatlas3-base: error when trying to install together
On Sat, Sep 09, 2017 at 09:11:46PM +0200, Sébastien Villemot wrote: > - completely dropping libcblas3 (and libcblas-dev). These two packages are > actually useless, because they provide the same C interface to BLAS than the > other BLAS implementations (libblas3, libatlas3-base, libopenblas-base), but > in a less optimized way; I made a mistake here. Paradoxically libcblas-dev does not provide the standardized C API for BLAS, which is called… “CBLAS”; it only provides the Fortran API. See the discussion in https://lists.debian.org/debian-science/2017/09/msg00038.html -- ⢀⣴⠾⠻⢶⣦⠀ Sébastien Villemot ⣾⠁⢠⠒⠀⣿⡁ Debian Developer ⢿⡄⠘⠷⠚⠋⠀ http://sebastien.villemot.name ⠈⠳⣄ http://www.debian.org signature.asc Description: PGP signature
Bug#874802: libcblas3 and libatlas3-base: error when trying to install together
On Sat, Sep 09, 2017 at 08:22:08PM +0200, Ralf Treinen wrote: > Package: libatlas3-base,libcblas3 > Version: libatlas3-base/3.10.3-4 > Version: libcblas3/3.2.1+dfsg-1 > Severity: serious > User: trei...@debian.org > Usertags: edos-file-overwrite > > Date: 2017-09-09 > Architecture: amd64 > Distribution: sid > automatic installation tests of packages that share a file and at the > same time do not conflict by their package dependency relationships has > detected the following problem: > dpkg: error processing archive > /var/cache/apt/archives/libcblas3_3.2.1+dfsg-1_amd64.deb (--unpack): > trying to overwrite '/usr/lib/x86_64-linux-gnu/libcblas.so.3', which is also > in package libatlas3-base:amd64 3.10.3-4 > Processing triggers for libc-bin (2.24-17) ... > Errors were encountered while processing: > /var/cache/apt/archives/libcblas3_3.2.1+dfsg-1_amd64.deb > E: Sub-process /usr/bin/dpkg returned an error code (1) First, note that the problem has appeared because I have multiarchified atlas, and therefore the libcblas.so.3 that it provides has moved from /usr/lib to /usr/lib/. But in a sense the situation was already problematic before that change , because two libraries with the same SONAME were in the dynamic linker search path. Same reasoning for #874803. Now, I think there are two options for fixing this issue: - completely dropping libcblas3 (and libcblas-dev). These two packages are actually useless, because they provide the same C interface to BLAS than the other BLAS implementations (libblas3, libatlas3-base, libopenblas-base), but in a less optimized way; - or making the two packages conflict. Andreas (and others), what do you think? Best, -- ⢀⣴⠾⠻⢶⣦⠀ Sébastien Villemot ⣾⠁⢠⠒⠀⣿⡁ Debian Developer ⢿⡄⠘⠷⠚⠋⠀ http://sebastien.villemot.name ⠈⠳⣄ http://www.debian.org signature.asc Description: PGP signature
Bug#874802: libcblas3 and libatlas3-base: error when trying to install together
Package: libatlas3-base,libcblas3 Version: libatlas3-base/3.10.3-4 Version: libcblas3/3.2.1+dfsg-1 Severity: serious User: trei...@debian.org Usertags: edos-file-overwrite Date: 2017-09-09 Architecture: amd64 Distribution: sid Hi, automatic installation tests of packages that share a file and at the same time do not conflict by their package dependency relationships has detected the following problem: Selecting previously unselected package gcc-7-base:amd64. (Reading database ... 10979 files and directories currently installed.) Preparing to unpack .../gcc-7-base_7.2.0-4_amd64.deb ... Unpacking gcc-7-base:amd64 (7.2.0-4) ... Selecting previously unselected package libquadmath0:amd64. Preparing to unpack .../libquadmath0_7.2.0-4_amd64.deb ... Unpacking libquadmath0:amd64 (7.2.0-4) ... Selecting previously unselected package libgfortran4:amd64. Preparing to unpack .../libgfortran4_7.2.0-4_amd64.deb ... Unpacking libgfortran4:amd64 (7.2.0-4) ... Selecting previously unselected package libatlas3-base:amd64. Preparing to unpack .../libatlas3-base_3.10.3-4_amd64.deb ... Unpacking libatlas3-base:amd64 (3.10.3-4) ... Selecting previously unselected package libblas-common. Preparing to unpack .../libblas-common_3.7.1-1+b1_amd64.deb ... Unpacking libblas-common (3.7.1-1+b1) ... Selecting previously unselected package libf2c2:amd64. Preparing to unpack .../libf2c2_20130926-2_amd64.deb ... Unpacking libf2c2:amd64 (20130926-2) ... Selecting previously unselected package libcblas3. Preparing to unpack .../libcblas3_3.2.1+dfsg-1_amd64.deb ... Unpacking libcblas3 (3.2.1+dfsg-1) ... dpkg: error processing archive /var/cache/apt/archives/libcblas3_3.2.1+dfsg-1_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libcblas.so.3', which is also in package libatlas3-base:amd64 3.10.3-4 Processing triggers for libc-bin (2.24-17) ... Errors were encountered while processing: /var/cache/apt/archives/libcblas3_3.2.1+dfsg-1_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) This is a serious bug as it makes installation fail, and violates sections 7.6.1 and 10.1 of the policy. An optimal solution would consist in only one of the packages installing that file, and renaming or removing the file in the other package. Depending on the circumstances you might also consider Replace relations or file diversions. If the conflicting situation cannot be resolved then, as a last resort, the two packages have to declare a mutual Conflict. Please take into account that Replaces, Conflicts and diversions should only be used when packages provide different implementations for the same functionality. Here is a list of files that are known to be shared by both packages (according to the Contents file for sid/amd64, which may be slightly out of sync): /usr/lib/x86_64-linux-gnu/libcblas.so.3 This bug has been filed against both packages. If you, the maintainers of the two packages in question, have agreed on which of the packages will resolve the problem please reassign the bug to that package. You may then also register in the BTS that the other package is affected by the bug. -Ralf. PS: for more information about the detection of file overwrite errors of this kind see http://qa.debian.org/dose/file-overwrites.html.