Re: [PATCH pve-qemu 2/2] d/rules: enable tcmalloc as the memory allocator

Fiona Ebner
2026-04-14T08:09:50Z

Am 13.04.26 um 3:39 PM schrieb Fabian Grünbichler:
> Quoting DERUMIER, Alexandre (2026-04-13 15:23:28)
>>>> Please also add the runtime dependency to Depends:
>>
>> I was going to say the same,
>>
>> it should depend on "libgoogle-perftools4t64"
>
> that is not needed. in general, for properly packaged libraries it is enough to
> build-depend on the -dev package, and have ${shlibs:Depends} in the binary
> package Depends (with this series applied and built):
>
> new Debian package, version 2.0.
> size 32266824 bytes: control archive=13756 bytes.
> 38 bytes, 2 lines conffiles
> 1732 bytes, 18 lines control
> 40920 bytes, 494 lines md5sums
> Package: pve-qemu-kvm
> Version: 10.2.1-1
> Architecture: amd64
> Maintainer: Proxmox Support Team <support@proxmox.com>
> Installed-Size: 422145
> Depends: ceph-common (>= 0.48), fuse3, iproute2, libiscsi7 (>= 1.18.0), libjpeg62-turbo (>= 1.3.1), libspice-server1 (>= 0.14.2), libusb-1.0-0 (>= 2:1.0.23~), libusbredirparser1 (>= 0.6-2), libuuid1 (>= 2.16), libaio1t64 (>= 0.3.93), libasound2t64 (>= 1.0.16), libc6 (>= 2.38), libcap-ng0 (>= 0.7.9), libcurl3t64-gnutls (>= 7.16.3), libepoxy0 (>= 1.5.2), libfdt1 (>= 1.7.2), libfuse3-4 (>= 3.17.2), libgbm1 (>= 12.0.0~0), libgcc-s1 (>= 3.0), libglib2.0-0t64 (>= 2.83.0), libgnutls30t64 (>= 3.8.6), libgoogle-perftools4t64 (>= 2.16), libnuma1 (>= 2.0.15), libpixman-1-0 (>= 0.30.0), libproxmox-backup-qemu0 (>= 1.3.0), libpulse0 (>= 0.99.1), librados2 (>= 19.2.3), librbd1 (>= 19.2.3), libseccomp2 (>= 2.1.0), libselinux1 (>= 3.1~), libslirp0 (>= 4.7.0), libsndio7.0 (>= 1.8.1), libsystemd0, libudev1 (>= 183), liburing2 (>= 2.3), libusbredirparser1t64 (>= 0.8.0), libvirglrenderer1 (>= 1.0.0), libxkbcommon0 (>= 0.5.0), libzstd1 (>= 1.5.5), zlib1g (>= 1:1.2.0)
> Recommends: numactl
> Suggests: libgl1
> Conflicts: kvm, pve-kvm, pve-qemu-kvm-2.6.18, qemu, qemu-kvm, qemu-system-arm, qemu-system-common, qemu-system-data, qemu-system-x86, qemu-utils
> Breaks: qemu-server (<= 8.0.6)
> Replaces: pve-kvm, pve-qemu-kvm-2.6.18, qemu-system-arm, qemu-system-x86, qemu-utils
> Provides: qemu-system-arm, qemu-system-x86, qemu-utils
> Section: admin
> Priority: optional
> Description: Full virtualization on x86 hardware
> Using KVM, one can run multiple virtual PCs, each running unmodified Linux or
> Windows images. Each virtual machine has private virtualized hardware: a
> network card, disk, graphics adapter, etc.
>
> if the library is packaged using symbol versioning, it even adds the proper lower version bound ;)
>
> in fact, with the following:
>
> diff --git a/debian/control b/debian/control
> index a3121e1..0a3ffbd 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -49,12 +49,6 @@ Architecture: any
> Depends: ceph-common (>= 0.48),
> fuse3,
> iproute2,
> - libiscsi4 (>= 1.12.0) | libiscsi7,
> - libjpeg62-turbo,
> - libspice-server1 (>= 0.14.0~),
> - libusb-1.0-0 (>= 1.0.17-1),
> - libusbredirparser1 (>= 0.6-2),
> - libuuid1,
> ${misc:Depends},
> ${shlibs:Depends},
> Recommends: numactl,
>
> we get even more accurate Depends: and nicer sorting, and less work in case one
> of those libraries goes through a transition in Forky:
>
> $ debdiff ...
> File lists identical (after any substitutions)
>
> Control files: lines which differ (wdiff format)
> ------------------------------------------------
> Depends: ceph-common (>= 0.48), fuse3, iproute2, [-libiscsi7 (>= 1.18.0), libjpeg62-turbo (>= 1.3.1), libspice-server1 (>= 0.14.2), libusb-1.0-0 (>= 2:1.0.23~), libusbredirparser1 (>= 0.6-2), libuuid1 (>= 2.16),-] libaio1t64 (>= 0.3.93), libasound2t64 (>= 1.0.16), libc6 (>= 2.38), libcap-ng0 (>= 0.7.9), libcurl3t64-gnutls (>= 7.16.3), libepoxy0 (>= 1.5.2), libfdt1 (>= 1.7.2), libfuse3-4 (>= 3.17.2), libgbm1 (>= 12.0.0~0), libgcc-s1 (>= 3.0), libglib2.0-0t64 (>= 2.83.0), libgnutls30t64 (>= 3.8.6), libgoogle-perftools4t64 (>= 2.16), {+libiscsi7 (>= 1.18.0), libjpeg62-turbo (>= 1.3.1),+} libnuma1 (>= 2.0.15), libpixman-1-0 (>= 0.30.0), libproxmox-backup-qemu0 (>= 1.3.0), libpulse0 (>= 0.99.1), librados2 (>= 19.2.3), librbd1 (>= 19.2.3), libseccomp2 (>= 2.1.0), libselinux1 (>= 3.1~), libslirp0 (>= 4.7.0), libsndio7.0 (>= 1.8.1), {+libspice-server1 (>= 0.14.2),+} libsystemd0, libudev1 (>= 183), liburing2 (>= 2.3), {+libusb-1.0-0 (>= 2:1.0.23~),+} libusbredirparser1t64 (>= 0.8.0), {+libuuid1 (>= 2.16),+} libvirglrenderer1 (>= 1.0.0), libxkbcommon0 (>= 0.5.0), libzstd1 (>= 1.5.5), zlib1g (>= 1:1.2.0)

Ah, good to know! Let's do that then :)