found 970659 2:4.35-1 found 970673 2:4.35-1 thanks Hello again, (bug reports first filed on 20+21 september 2020 against 4.28-1)
nspr still FTBFS on GNU/Hurd due to a one-line error in the file nspr/pr/src/pthreads/ptsynch.c, see #970659. Additionally tests in runtest.sh are not run due to a bug in debian/rules, see #970673. The first problem is solved by adding a condition on __GNU__ in the ptsynch.c file. Secondly, the missing tests are run by replacing sh - with sh -s in debian/rules for all tests. Note that tests for gethost\|getproto\|nblayer\|socket\|vercheck are already commented out in runtests.sh and not needed. Additionally sema tests needs to be excluded for GNU/Hurd. The patches debian/rules.patch and nspr_pr_src_pthreads_ptsynch.c.diff, somewhat modified with respect to earlier patches, are attached for convenience. Built and tests run successfully on both GNH/Hurd i386 and GNU/Linux amd64. Thanks!
--- a/debian/rules 2022-10-17 23:15:00.000000000 +0200 +++ b/debian/rules 2022-10-17 23:19:20.000000000 +0200 @@ -84,7 +84,12 @@ # Skip socket because it freezes. # Skip getproto because it fails on some buildds. # Skip nblayer because it freezes on armel. - cd nspr/pr/tests && grep -v '^\(fdcach\|gethost\|getproto\|nblayer\|peek\|socket\|vercheck\)$$' ./runtests.sh | sh - $(CURDIR)/nspr/dist +ifneq (hurd,$(shell dpkg-architecture -qDEB_HOST_ARCH_OS)) + cd nspr/pr/tests && grep -v '^\(fdcach\|peek\)$$' ./runtests.sh | sh -s $(CURDIR)/nspr/dist +else + # Skip semaphore tests: not implemented on GNU/Hurd. + cd nspr/pr/tests && grep -v '^\(sema\|semaerr\|semaping\)$$' ./runtests.sh | sh -s $(CURDIR)/nspr/dist +endif cd nspr/lib/tests && LD_LIBRARY_PATH=$(CURDIR)/nspr/dist/bin$(addprefix :,$(LD_LIBRARY_PATH)) ./base64t cd nspr/lib/tests && LD_LIBRARY_PATH=$(CURDIR)/nspr/dist/bin$(addprefix :,$(LD_LIBRARY_PATH)) ./string endif
Index: nspr-4.35/nspr/pr/src/pthreads/ptsynch.c =================================================================== --- nspr-4.35.orig/nspr/pr/src/pthreads/ptsynch.c +++ nspr-4.35/nspr/pr/src/pthreads/ptsynch.c @@ -50,7 +50,8 @@ void _PR_InitLocks(void) rv = _PT_PTHREAD_MUTEXATTR_INIT(&_pt_mattr); PR_ASSERT(0 == rv); -#if (defined(LINUX) && (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) || \ +#if (defined(LINUX) && (__GLIBC__ > 2) || \ + (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 2)) && !defined(__GNU__) || \ (defined(FREEBSD) && __FreeBSD_version > 700055) rv = pthread_mutexattr_settype(&_pt_mattr, PTHREAD_MUTEX_ADAPTIVE_NP); PR_ASSERT(0 == rv);