Package: faketime Version: 0.9.10-2.1 Severity: important Tags: patch upstream
Hello, With glibc 2.34, faketime now fails to build from source, because it fails passing -lpthread to the linker: cc -o libfaketime.so.1 -Wl,-soname,libfaketime.so.1 -Wl,-z,relro -Wl,-z,now -lpthread -Wl,--version-script=libfaketime.map -shared libfaketime.o -ldl -lm -lrt since -lpthread is passed before libfaketime.o, libpthread is not actually getting pulled in. It happens that things used to be working before glibc 2.34 because librt.so depends on libpthread, and thus -lrt would pull libpthread. But in version 2.34, librt.so doesn't do so any more, so the lucky-pull is no more. The attached patch fixes this by passing -lpthread along the other -l, as it should anyway. Samuel -- System Information: Debian Release: bookworm/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, arm64 Kernel: Linux 5.19.0 (SMP w/8 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages faketime depends on: ii libc6 2.34-3 ii libfaketime 0.9.10-2.1 faketime recommends no packages. faketime suggests no packages. -- no debconf information -- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.
Index: faketime-0.9.10/src/Makefile =================================================================== --- faketime-0.9.10.orig/src/Makefile +++ faketime-0.9.10/src/Makefile @@ -117,13 +117,13 @@ endif LIB_LDFLAGS += -shared -LDFLAGS += $(FAKETIME_LINK_FLAGS) -lpthread +LDFLAGS += $(FAKETIME_LINK_FLAGS) ifneq ($(PLATFORM),SunOS) LDFLAGS += -Wl,--version-script=libfaketime.map endif -LDADD += -ldl -lm -lrt -BIN_LDFLAGS += -lrt +LDADD += -ldl -lm -lrt -lpthread +BIN_LDFLAGS += -lrt -lpthread SRC = libfaketime.c LIBS_OBJ = libfaketime.o libfaketimeMT.o