#1010536 libdcmimage.so.16: cannot open shared object file: No such file or directory

Package:
src:dcmtk
Source:
dcmtk
Submitter:
Johannes Schauer Marin Rodrigues
Date:
2022-06-11 10:45:02 UTC
Severity:
grave
Tags:
#1010536#5
Date:
2022-05-03 20:17:24 UTC
From:
To:
Hi Andreas,

thanks for your upload of the new upstream version of dcmtk.
Unfortunately, I think this is missing a proper transition because the
ABI and thus the SONAME changed. This can also be seen in the
autopkgtests of biosig, odil and odin which all fail with a similar
error right now:

biosig & odil: ImportError: libdcmdata.so.16: cannot open shared object file: No such file or directory

odin: gencoil: error while loading shared libraries: libdcmimgle.so.16: cannot open shared object file: No such file or directory

This is because the new upstream version bumped the SONAME from 16 to
17. This means, that the binary package name should also change from
libdcmtk16 to libdcmtk17. This probably would've been caught by
lintian if package-name-doesnt-match-sonames wasn't overridden in
debian/libdcmtk16.lintian-overrides... :/

The package should've probably first been uploaded to experimental,
would go through binary-NEW and create a auto-dcmtk transition. I'm
unsure how to clean this up now that the package has already been
uploaded to unstable.

I'm going to rebuild all reverse dependencies and see if anything breaks
and report back to you in case I find any FTBFS caused by the new dcmtk
version.

Thanks!

cheers, josch

#1010536#8
Date:
2022-05-04 08:56:57 UTC
From:
To:
Hi,

the following source package build depend on libdcmtk-dev:

aeskulap, amide, ants, biosig, cmtk, dicomscope, elastix, insighttoolkit4,
insighttoolkit5, itksnap, mia, odil, odin, openimageio, orthanc, orthanc-wsi,
plastimatch

I cannot test insighttoolkit4 or insighttoolkit5 because my system lacks the
resources to successfully build either source package (No space left on
device).

ants FTBFS but is broken beyond repair and hasn't been in testing since 2017.

itksnap FTBFS for for an unrelated reason (#1010549).

plastimatch FTBFS because of a missing build dependency on
libinsighttoolkit5-dev: https://buildd.debian.org/status/package.php?p=plastimatch

It seems the new dcmtk version did not just bump ABI but also changed its API
(the DcmTransportLayerStatus enum including TCS_ok was removed from dcmlayer.h
and defining INCLUDE_{CSTRING,CSTDLIB,CSTDIO} now raises an error), so some
patches were necessary:

biosig: #1010545
orthanc: #1010554

Mathieu, since you filed #1010474 (upgrading dcmtk to 3.6.7) could you help
clean this up? For example maybe you find a solution to get orthanc to
successfully compile again (I X-Debbugs-Cc-ed you on the last bug). Currently,
the testsuite fails with:

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libdcmdata.so: undefined reference to symbol 'inflateEnd'
/usr/bin/ld: /lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Which may be something that we have to fix in dcmtk?

Note, that I'm not a Debian Med team member. I'm just putting my time here,
because the last dcmtk upload broke blender (because it depends on openimageio)
which in turn hampers my work on the MNT Reform system image. So for me this is
just one big yak shave...

Thanks!

cheers, josch

#1010536#13
Date:
2022-05-04 09:25:20 UTC
From:
To:
Aaargh, sorry for my sloppyness.  I did not expect a SONAME
bump connected with micro-Version bump.  An updated package is
in new.

Kind regards

     Andreas.

#1010536#20
Date:
2022-05-04 09:42:00 UTC
From:
To:
Hi,

Am Wed, May 04, 2022 at 10:56:57AM +0200 schrieb Johannes Schauer Marin Rodrigues:

This is really a hard one.

I'd vote for a removal of ants.

I wished some warning would have been added.  I'm not that involved into
those medical imaging tools and a deeply regret that I have messed up things
that heavily.

Mathieu, could you say something about this?  Wouldn't it be better
to upload dcmtk-3.6.7+really3.6.6 and go a more sensible route?

I can absolutely understand your situation.  Medical imaging is also
kind of yak shaving for me - well, may be re-shaving by updating
packages others prepared.  But obviously I'm trapping fully into wide
open pitfalls.

Sorry again to pull several people into this
    Andreas.

#1010536#23
Date:
2022-05-04 10:22:50 UTC
From:
To:
Hi Andreas,

Quoting Andreas Tille (2022-05-04 11:25:20)

thanks a lot for this very quick fix!

I think the problem is that package-name-doesnt-match-sonames is overridden and
thus you didn't have Lintian tell you that there was a problem. That would've
probably have happened to me as well.

Will you take care of making sure that reverse dependencies are binNMU-ed?

Thanks!

cheers, josch

#1010536#28
Date:
2022-05-04 12:57:25 UTC
From:
To:
Hi Johannes,

Am Wed, May 04, 2022 at 12:22:50PM +0200 schrieb Johannes Schauer Marin Rodrigues:

You are welcome and for sure I'm keen on fixing what I messed up before.

Well, if I'm creating library packages I'm using d-shlibs which even
breaks at build time in these cases.  I would have even converted this
package right now, but this does not work since no static library is
build.  I admit I simply underestimated the number of dependencies
which I should habe checked.

I admit I would use the chance to to real team uploads and check the
other dependencies manually.  Your finding with ant makes me suspicious
about some of the other dependencies.  However, what do you think about
asking ftpmaster for rejecting what is currently in new, re-upload 3.6.6
to unstable and do a proper migration via experimental.  Currently the
package is sitting in new and we have this chance.  Or do you think it
is OK to force this "non-transition" somehow and leave things as they
are now?  What does this mean from your blender perspective?

Kind regards

      Andreas.

#1010536#31
Date:
2022-05-04 13:34:43 UTC
From:
To:
Hi Andreas,

Quoting Andreas Tille (2022-05-04 14:57:25)

I asked in #debian-release and Sebastian Ramacher writes:

15:27 < Sebastinas> libdcmtk17 will also need Breaks+Replaces on the libdcmtk16 version with the .so.17 files.
15:29 < Sebastinas> At least odil is involved in one ongoing transition, so the binNMU for icu may have broken that.
15:29 < Sebastinas> I'd appreciate a revert.

So it seems that the right way forward would be an upload of
dcmtk-3.6.7+really3.6.6.

And then not forgetting the Breaks+Replaces from libdcmtk17 on libdcmtk16 (=
3.6.7-1)

Thanks!

cheers, josch

#1010536#36
Date:
2022-05-04 14:07:27 UTC
From:
To:
Hi,

Am Wed, May 04, 2022 at 03:34:43PM +0200 schrieb Johannes Schauer Marin Rodrigues:

I'm an3as in IRC but I do not lurk in IRC usually.

Its obvious that I did also this in a hurry.

Well, I think I could do this in the source only upload.  I just pushed
that change to Git[1] to make sure we will not forget this.  Roling back
to dcmtk-3.6.7+really3.6.6 would remain an option anyway if this will be
more convenient for you.

Kind regards

     Andreas.


[1] https://salsa.debian.org/med-team/dcmtk/-/commit/42df3f97b29e95646d2df5dc427cf03588664163

#1010536#39
Date:
2022-05-04 14:12:49 UTC
From:
To:
Quoting Andreas Tille (2022-05-04 16:07:27)

Ah, nice word play in the nick. :)

I think this should be a Breaks+Replaces with exactly version 3.6.7-1. There is
no reason to make libdcmtk17 not be co-installable with other versions of
libdcmtk16, no? The file-conflict is only with libdcmtk16 (= 3.6.7-1).

Well, yes, it would be more convenient for me, but you are doing the work, so
I'm not going to make any demands. :D I think the stronger reason to go roll
back to dcmtk-3.6.7+really3.6.6 is, that Sebastian Ramacher as a release team
member pointed out that they would prefer that option.

Thanks!

cheers, josch

#1010536#44
Date:
2022-05-04 15:15:49 UTC
From:
To:
Hi Johannes,

Am Wed, May 04, 2022 at 04:12:49PM +0200 schrieb Johannes Schauer Marin Rodrigues:

I invented it at DebConf Argentina and Spanish speaking people get it
pretty easy. ;-)

Fixed in Git.
a look into ants and think the new upstream version can help to fix the
open RC bugs.  I once worked on this but at that point of time we did not
yet had insighttoolkit5.  Now the issue hopefully boiled down to some issue
I've reported upstream[1].

As a general remark:  The Debian Med team tries to take over and salvage
all NeuroDebian packages - but its quite some work in addition to the
many packages we just have.

Kind regards

     Andreas.

[1] https://github.com/ANTsX/ANTs/issues/1353

#1010536#49
Date:
2022-05-04 20:01:15 UTC
From:
To:
Good day,

Andreas Tille, on 2022-05-04:

Both insighttoolkit5 and insighttoolkit4 build alright against
libdcmtk-dev 3.6.7-1; assuming I'm checking against the right
things, there is nothing to see here thankfully.

Cheers  :)

#1010536#56
Date:
2022-05-08 09:34:15 UTC
From:
To:
Hi Andreas,

Quoting Andreas Tille (2022-05-04 17:15:49)

do you need any assistance? Sebastian Ramacher asked me on IRC about the status
of dcmtk and wants to add some blocks on the reverse dependencies so that they
don't migrate, should you choose not to revert dcmtk.

Thanks!

cheers, josch

#1010536#61
Date:
2022-05-08 11:28:13 UTC
From:
To:
Hi Johannes,

Am Sun, May 08, 2022 at 11:34:15AM +0200 schrieb Johannes Schauer Marin Rodrigues:

I admit I've lost track on this and I'm effectively on vac until 12.5.
Before I went on vac I've tried to build some dependencies against
dcmtk 3.6.7 which worked with easy patches.

Kind regards
    Andreas.

#1010536#82
Date:
2022-06-06 10:00:10 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
dcmtk, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1010536@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <tille@debian.org> (supplier of updated dcmtk package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 04 May 2022 09:08:00 +0200
Source: dcmtk
Binary: dcmtk dcmtk-dbgsym dcmtk-doc libdcmtk-dev libdcmtk17 libdcmtk17-dbgsym
Architecture: source amd64 all
Version: 3.6.7-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed-By: Andreas Tille <tille@debian.org>
Description:
 dcmtk      - OFFIS DICOM toolkit command line utilities
 dcmtk-doc  - OFFIS DICOM toolkit documentation
 libdcmtk-dev - OFFIS DICOM toolkit development libraries and headers
 libdcmtk17 - OFFIS DICOM toolkit runtime libraries
Closes: 1010536
Changes:
 dcmtk (3.6.7-2) unstable; urgency=medium
 .
   * Team upload.
   * Upstream has bumped SONAME thus rename binary package for shared
     library
     Closes: #1010536
Checksums-Sha1:
 b6ad40c2c2378695957502dbd80db0656699a10b 2258 dcmtk_3.6.7-2.dsc
 7953afab0b55c4f0f96de4e8c38afc71eb60e708 37144 dcmtk_3.6.7-2.debian.tar.xz
 5a243af5bd0fc3249e376d3c49c6c9a34c0981b4 5605036 dcmtk-dbgsym_3.6.7-2_amd64.deb
 38c41ccc3b61737920701930bc6b4f5bc0670ac2 8826512 dcmtk-doc_3.6.7-2_all.deb
 c44bf79b40faf40de807b654663beb8034faab3b 10449 dcmtk_3.6.7-2_amd64.buildinfo
 8a2fa731a07d489eca6f1fa69b93f36a6b4ccc34 877216 dcmtk_3.6.7-2_amd64.deb
 aeb0ebfc3369925e9f0423be202ac24c67e17103 1019900 libdcmtk-dev_3.6.7-2_amd64.deb
 6f4b2c4e8dedf3e484c7a1238e292082a5f18028 63493908 libdcmtk17-dbgsym_3.6.7-2_amd64.deb
 0594224c35b871d8e88bd2f8c1260de9b9912895 4916396 libdcmtk17_3.6.7-2_amd64.deb
Checksums-Sha256:
 e1ca6d8734cd236b5bbd3bcd8540c75cd1f41610dbdce0797b8d156f7ff27692 2258 dcmtk_3.6.7-2.dsc
 1efaa7d6ea6a2c0c8b7cbfe580f6ea3487c71314a7aed7cd792d52456351ca3f 37144 dcmtk_3.6.7-2.debian.tar.xz
 e44497e68fc10691f8d534e8c045c8712ea59d542424146688b8861b9a73ebf2 5605036 dcmtk-dbgsym_3.6.7-2_amd64.deb
 2811190911bdc50632a7bb4eb69240f832c67393c324d77eef459028096ddec4 8826512 dcmtk-doc_3.6.7-2_all.deb
 eb79455e677613b10950f0606a9b2935cb4b14a79daa23e76ce9c7c01261f121 10449 dcmtk_3.6.7-2_amd64.buildinfo
 1786df081b168d4910835b3c858632e03ec6044a22bb53aae21543d477ec26d8 877216 dcmtk_3.6.7-2_amd64.deb
 12685d31a1d8ebf9f38238c2cddae5d702b91afcc5fb96f32311765cb733eae7 1019900 libdcmtk-dev_3.6.7-2_amd64.deb
 4b5e01dda1dd5b898608cd89a5030177137a6272d2a9057b7e02b17d3c8d95a5 63493908 libdcmtk17-dbgsym_3.6.7-2_amd64.deb
 552fb7a96617bf55b6cbdbca80bd2222119bc588c5c70a8b6079e96ac9ea81ed 4916396 libdcmtk17_3.6.7-2_amd64.deb
Files:
 1395e74506c28740f3d20b5ab1434abd 2258 science optional dcmtk_3.6.7-2.dsc
 94232473cba90a42a2bcbabf248e3ed3 37144 science optional dcmtk_3.6.7-2.debian.tar.xz
 66ba7214d085b218d7dbe6c5370ff9b9 5605036 debug optional dcmtk-dbgsym_3.6.7-2_amd64.deb
 7ad6eb9940de10ea9cdb83fc0bc4482e 8826512 doc optional dcmtk-doc_3.6.7-2_all.deb
 f8dc471f3fbb2ee08fd73e9af4f9352b 10449 science optional dcmtk_3.6.7-2_amd64.buildinfo
 d8c64d99134817ff9e0efc088e20932b 877216 science optional dcmtk_3.6.7-2_amd64.deb
 e45518bb40e17d451d33cfd2f80839ac 1019900 libdevel optional libdcmtk-dev_3.6.7-2_amd64.deb
 b19ee6eade3768a0c321d061a4612b75 63493908 debug optional libdcmtk17-dbgsym_3.6.7-2_amd64.deb
 9ab3502cb70b5f4969f5b182b27e5a12 4916396 libs optional libdcmtk17_3.6.7-2_amd64.deb
-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmJyK3YRHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtE6JA//RzRpW1wZrQ1jrnBrQPBS2d9YSC+P5+kx
3r6JElysJvLtwLVfSeAFira8bLtKYvy4AtbKyYcZt59XvOIWlj/elEA1r1O69NP8
qY6difKXEt41Phmq6pSCP8XZpP8r0fbOy3Fhyg6Q8qKWevqrdb/EeGmvEarbKOc/
UZ6ztNevbVQ6vHYaeWKLO2SQaXVc8jrhnUNWMf7uyrtEpvzWD1RlPS6Wwln9ptj7
Pb9ywhKuONwqiA1mku1TqudtdfScKMbCtdhNj11pvDgZlaCezJa6EGNoq4P7Oezp
vh++JLWIrN55mvOqaxulYQjBWfr1KHQn0zy5L7OGsUIPKQFxTuDr7qZt0cbQRM7d
FaNXMuORO5vz4TzmC1C/r4FQbAvz3kQskVocEr+bhwcYEbeDJLjm1tIzBHbM8X69
eiXXd7xONASzCG1ccn81QnBlR8OMoxedRE6unyxDVAq/dgUmnHr372uERZXQSZAL
DDweHIn18QtwTsjPKOqdh7Fw+iMevNDgtaTiSQ/+9uS9lmaaJdz51/h6nxPIH9+h
OMHInc6BIJGvkZPu+Kc5UHnkcM06p748YX5C6RTXqx1Kz7ieXXIJobN0ewc7aGvY
yN4XomHxubCqykk+CpvOXDfBrClntHOHz9VDDFmtRX3HCyXtYD6qWUJsFmN5KPM0
gjKttuP8CHQ=
=L3Ns
-----END PGP SIGNATURE-----