[Debian-med-packaging] Bug#1001305: orthanc ftbfs with glibc 2.34

Steve Langasek steve.langasek at canonical.com
Wed Dec 8 03:05:05 GMT 2021


Package: orthanc
Version: 1.9.7+dfsg-3
Severity: important
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu jammy ubuntu-patch

Dear maintainers,

In Ubuntu, we have upgraded to glibc 2.34 which results in orthanc failing
to build from source, because it includes a test that tries to dlopen()
libdl.so and in glibc 2.34 libdl.so no longer exists, its functionality
having been rolled into libc6.  To fix this test, orthanc will need to
dlopen some other library.

Attached is a patch which switches the test to dlopen libmemusage.so
instead, which is also provided by libc6-dev so should always be available.

Please consider applying this patch or a similar one in Debian.

This is obviously not critical in Debian yet, since experimental still only
has glibc 2.33.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
diff -Nru orthanc-1.9.7+dfsg/debian/patches/glibc-2.34.patch orthanc-1.9.7+dfsg/debian/patches/glibc-2.34.patch
--- orthanc-1.9.7+dfsg/debian/patches/glibc-2.34.patch	1969-12-31 16:00:00.000000000 -0800
+++ orthanc-1.9.7+dfsg/debian/patches/glibc-2.34.patch	2021-12-07 18:52:24.000000000 -0800
@@ -0,0 +1,26 @@
+Description: fix compatibility with glibc 2.34
+ In glibc 2.34, libdl.so no longer exists because the shared library has been
+ rolled into libc.so.  This causes the dlopen tests to fail.  Use
+ libmemusage.so instead, which is also provided by libc6-dev.
+Author: Steve Langasek <steve.langasek at ubuntu.com>
+Last-Update: 2021-12-07
+Forwarded: no
+
+Index: orthanc-1.9.7+dfsg/OrthancServer/UnitTestsSources/PluginsTests.cpp
+===================================================================
+--- orthanc-1.9.7+dfsg.orig/OrthancServer/UnitTestsSources/PluginsTests.cpp
++++ orthanc-1.9.7+dfsg/OrthancServer/UnitTestsSources/PluginsTests.cpp
+@@ -86,10 +86,10 @@
+   //ASSERT_TRUE(l.HasFunction("_init"));
+   
+ #elif defined(__linux__) || defined(__FreeBSD_kernel__)
+-  SharedLibrary l("libdl.so");
++  SharedLibrary l("libmemusage.so");
+   ASSERT_THROW(l.GetFunction("world"), OrthancException);
+-  ASSERT_TRUE(l.GetFunction("dlopen") != NULL);
+-  ASSERT_TRUE(l.HasFunction("dlclose"));
++  ASSERT_TRUE(l.GetFunction("munmap") != NULL);
++  ASSERT_TRUE(l.HasFunction("free"));
+   ASSERT_FALSE(l.HasFunction("world"));
+ 
+ #elif defined(__FreeBSD__) || defined(__OpenBSD__)
diff -Nru orthanc-1.9.7+dfsg/debian/patches/series orthanc-1.9.7+dfsg/debian/patches/series
--- orthanc-1.9.7+dfsg/debian/patches/series	2021-11-22 06:22:14.000000000 -0800
+++ orthanc-1.9.7+dfsg/debian/patches/series	2021-12-07 18:50:42.000000000 -0800
@@ -1 +1,2 @@
 donotforcec++11.patch
+glibc-2.34.patch


More information about the Debian-med-packaging mailing list