Your message dated Fri, 22 May 2026 13:18:50 +0000
with message-id <[email protected]>
and subject line Bug#1135544: fixed in libgdiplus 6.1+dfsg-2
has caused the Debian Bug report #1135544,
regarding libgdiplus: FTBFS with current unstable due to vendored googletest
compatibility
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1135544: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1135544
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:libgdiplus
Version: 6.1+dfsg-1.2
Severity: serious
Tags: patch
User: [email protected]
Usertags: ftbfs
Hello,
libgdiplus 6.1+dfsg-1.2 currently fails to build from source in a clean
unstable amd64 chroot due to incompatibilities in the vendored googletest
copy under external/googletest.
I reproduced this with a clean sbuild on unstable-amd64-sbuild.
The first failure is that the vendored googletest CMake files still use an
old compatibility floor that current CMake now rejects:
Compatibility with CMake < 3.5 has been removed from CMake.
...
-- Configuring incomplete, errors occurred!
make[4]: *** [Makefile:2016: ../gtest_build/.stamp-gtest] Error 1
After fixing that and switching the tests/Makefile.am invocation to a modern
cmake -S/-B form, the same clean build then fails again with current C++
toolchains in vendored gtest-death-test.cc:
external/googletest/googletest/src/gtest-death-test.cc:1385:26:
error: 'uintptr_t' does not name a type
...
note: 'uintptr_t' is defined in header '<cstdint>'; this is probably
fixable by adding '#include <cstdint>'
So this is separate from #1045809: that bug is about source-after-build
cleanliness, while this one is a current clean-chroot build failure in the
vendored googletest test helper build.
A tested Debian-side fix exists here and consists of:
1. raising the obsolete googletest CMake minimum versions
2. updating tests/Makefile.am to use an explicit CMake source/build
invocation
3. adding <cstdint> in gtest-death-test.cc for uintptr_t
With that patch in place, the package again builds successfully in a clean
unstable-amd64-sbuild chroot.
I have attached the scoped patch for the tested Debian-side fix.
Best,
James
From 1c8c2dfd62e85d1112994a8cb15441fbaf848231 Mon Sep 17 00:00:00 2001
From: James Montgomery <[email protected]>
Date: Sat, 2 May 2026 11:19:30 +0000
Subject: [PATCH 3/3] Fix vendored googletest compatibility
Keep clean builds working on current unstable by:
- raising obsolete CMake minimum versions
- using modern CMake source/build invocation in tests
- including <cstdint> for uintptr_t in gtest death tests
---
debian/patches/googletest-cmake-compat.patch | 80 ++++++++++++++++++++
debian/patches/series | 1 +
2 files changed, 81 insertions(+)
create mode 100644 debian/patches/googletest-cmake-compat.patch
diff --git a/debian/patches/googletest-cmake-compat.patch b/debian/patches/googletest-cmake-compat.patch
new file mode 100644
index 0000000..349849e
--- /dev/null
+++ b/debian/patches/googletest-cmake-compat.patch
@@ -0,0 +1,80 @@
+Description: Fix vendored Googletest build with current CMake and toolchains
+Author: Debian Mono Group <[email protected]>
+Origin: vendor
+Forwarded: not-needed
+Last-Update: 2026-05-02
+
+--- libgdiplus-6.1+dfsg.orig/external/googletest/CMakeLists.txt
++++ libgdiplus-6.1+dfsg/external/googletest/CMakeLists.txt
+@@ -1,11 +1,7 @@
+ # Note: CMake support is community-based. The maintainers do not use CMake
+ # internally.
+
+-cmake_minimum_required(VERSION 2.8.8)
+-
+-if (POLICY CMP0048)
+- cmake_policy(SET CMP0048 NEW)
+-endif (POLICY CMP0048)
++cmake_minimum_required(VERSION 3.6)
+
+ project(googletest-distribution)
+ set(GOOGLETEST_VERSION 1.10.0)
+--- libgdiplus-6.1+dfsg.orig/external/googletest/googlemock/CMakeLists.txt
++++ libgdiplus-6.1+dfsg/external/googletest/googlemock/CMakeLists.txt
+@@ -36,13 +36,8 @@ endif()
+ # as ${gmock_SOURCE_DIR} and to the root binary directory as
+ # ${gmock_BINARY_DIR}.
+ # Language "C" is required for find_package(Threads).
+-if (CMAKE_VERSION VERSION_LESS 3.0)
+- project(gmock CXX C)
+-else()
+- cmake_policy(SET CMP0048 NEW)
+- project(gmock VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C)
+-endif()
+-cmake_minimum_required(VERSION 2.6.4)
++cmake_minimum_required(VERSION 3.6)
++project(gmock VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C)
+
+ if (COMMAND set_up_hermetic_build)
+ set_up_hermetic_build()
+--- libgdiplus-6.1+dfsg.orig/external/googletest/googletest/CMakeLists.txt
++++ libgdiplus-6.1+dfsg/external/googletest/googletest/CMakeLists.txt
+@@ -46,14 +46,8 @@ endif()
+
+ # Project version:
+
+-if (CMAKE_VERSION VERSION_LESS 3.0)
+- project(gtest CXX C)
+- set(PROJECT_VERSION ${GOOGLETEST_VERSION})
+-else()
+- cmake_policy(SET CMP0048 NEW)
+- project(gtest VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C)
+-endif()
+-cmake_minimum_required(VERSION 2.6.4)
++cmake_minimum_required(VERSION 3.6)
++project(gtest VERSION ${GOOGLETEST_VERSION} LANGUAGES CXX C)
+
+ if (POLICY CMP0063) # Visibility
+ cmake_policy(SET CMP0063 NEW)
+--- libgdiplus-6.1+dfsg.orig/tests/Makefile.am
++++ libgdiplus-6.1+dfsg/tests/Makefile.am
+@@ -390,7 +390,8 @@ $(GTEST_BUILDDIR):
+ mkdir -p $(GTEST_BUILDDIR)
+
+ $(GTEST_BUILDDIR)/.stamp-gtest: | $(GTEST_BUILDDIR)
+- cd $(GTEST_BUILDDIR) && $(CMAKE) . $(top_srcdir)/external/googletest && $(MAKE)
++ $(CMAKE) -S $(top_srcdir)/external/googletest -B $(GTEST_BUILDDIR)
++ $(CMAKE) --build $(GTEST_BUILDDIR)
+ touch $@
+
+ $(GTEST_LIBS): $(GTEST_BUILDDIR)/.stamp-gtest
+--- libgdiplus-6.1+dfsg.orig/external/googletest/googletest/src/gtest-death-test.cc
++++ libgdiplus-6.1+dfsg/external/googletest/googletest/src/gtest-death-test.cc
+@@ -32,6 +32,7 @@
+
+ #include "gtest/gtest-death-test.h"
+
++#include <cstdint>
+ #include <utility>
+
+ #include "gtest/internal/gtest-port.h"
diff --git a/debian/patches/series b/debian/patches/series
index 1d0f1b0..bb9f379 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
disable-Werror-googletest.patch
+googletest-cmake-compat.patch
--
2.53.0
--- End Message ---
--- Begin Message ---
Source: libgdiplus
Source-Version: 6.1+dfsg-2
Done: James Montgomery <[email protected]>
We believe that the bug you reported is fixed in the latest version of
libgdiplus, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
James Montgomery <[email protected]> (supplier of updated libgdiplus
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 [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 07 May 2026 17:45:30 +0000
Source: libgdiplus
Architecture: source
Version: 6.1+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Debian .NET Team <[email protected]>
Changed-By: James Montgomery <[email protected]>
Closes: 1079870 1135544
Changes:
libgdiplus (6.1+dfsg-2) unstable; urgency=medium
.
[ James Montgomery ]
* Take over package maintenance. (Closes: #1079870)
* debian/control: Set Maintainer to Debian .NET Team; add James
Montgomery to Uploaders; remove retired Uploaders.
* debian/control: Bump Standards-Version to 4.7.4, no changes
required.
* debian/control: Update Homepage to use HTTPS.
* debian/gbp.conf: Add git-buildpackage configuration.
* Fix vendored googletest compatibility with current toolchains:
- raise obsolete CMake compatibility floors in vendored googletest
- switch the test helper build to explicit cmake -S/-B invocation
- include <cstdint> for uintptr_t in gtest-death-test.cc
This restores successful clean builds on unstable. (Closes: #1135544)
.
[ Andreas Tille ]
* debhelper-compat (= 13)
* d/watch: version=5
* Build-Depends: libfreetype6-dev => libfreetype-dev
* Build-Depends: libfontconfig1-dev => libfontconfig-dev
* Use `cme fix dpkg-control` to get rid of unnecessary greater-than versioned
dependencies
Checksums-Sha1:
eda004252fb17b4f30852ece71d4390ce17ec838 2173 libgdiplus_6.1+dfsg-2.dsc
21d4858f1a638b1f2759d32b5cc8515f4ce378ac 9116
libgdiplus_6.1+dfsg-2.debian.tar.xz
f7b926d3942972d8c3d0b5a5efbfa95e94622f42 10381
libgdiplus_6.1+dfsg-2_amd64.buildinfo
Checksums-Sha256:
34368e0037816e0d8de8abcda572c4fe5f8e5e5c5ee45d2acfb598cfecc941a5 2173
libgdiplus_6.1+dfsg-2.dsc
3c53c165deabceafacd694a1b1dd0667e240a1ca603b15248ca48326da6f035e 9116
libgdiplus_6.1+dfsg-2.debian.tar.xz
2c048deb725f28e921586e88addd78850d3c14228544b98df2dc84401ca666a2 10381
libgdiplus_6.1+dfsg-2_amd64.buildinfo
Files:
7c4c362f91bd923473f1392149d8c57f 2173 libs optional libgdiplus_6.1+dfsg-2.dsc
e37f393345331c5032376d6fcf9600cf 9116 libs optional
libgdiplus_6.1+dfsg-2.debian.tar.xz
1f0362bafbf20c3b64da5c3e4351640f 10381 libs optional
libgdiplus_6.1+dfsg-2_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmoQU6kRHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtFdHBAAgpchY4ESIrdEcE+UPVOeA03/Tv3zIPTa
rJYivLVfcCPYtlNN6NKlYiaqfRIATTN/EC3a+nq7+MbD3isyqw/QypIBRQYxAF0t
EF1uIuNN/M66/Wm1rZU3AfBZMy82jChzh5atbxkTt4ddmiSPp2+wTmDbXVwiTmOb
B3KzQT1qo9jxX65yKAFYR4FBkdFFOjuUn/VIaliO2w46j3by6v9r5JNmDumj1r0v
4/WjmH4jyL0uZ/KKt4H0nMgmrEkIHwEyE3oyLo8cCGxHXUxnknCexaK+YhCVyfTC
JkzsCWUGrOWgYZeva4ueKJLfv2BU3/29L7O5SJQM8WWgK4r2W2+iE9XzXiZE1agp
uQxviplYK58ydsfPxnaR0pNYpBZz09bqoxuEQoO0yUL4v6pfwQ+kwoHUkVasvKhX
iUDQ4G7nzodRPUCqtgwppCyxzIaw25UN9JfOyu7F3E4zzwhd6Q2OWxLGCLgioCXj
JWQ1uW7MJzgxMGv/OKos0Ii+zTdxQObxDq38RsXgiWv/bDs96eGCfAlMf+37AGde
dBNOk3ZynIQ84rffigreLUWctEnlYYiC+LeXCipVqaGRNk5vvhiPm1llnhnJ9zAl
lXFgKHEoRzrgWJb5FWyw98um7Uw6nW3+nwQhw8/s9wfDGdixiojQRDF1ZY1QG/Iy
RqUDaO/GABg=
=BuAK
-----END PGP SIGNATURE-----
pgphqkGhTIk56.pgp
Description: PGP signature
--- End Message ---