Bug#1094386: openldap FTCBFS: uses the build architecture compiler
Ryan Tandy
ryan at nardis.ca
Wed Feb 12 06:22:03 GMT 2025
Helmut, thank you very much for taking the time to explain. This was all
very valuable context.
On Fri, Jan 31, 2025 at 10:47:23AM +0100, Helmut Grohne wrote:
>I considered pushing the results into debian/rules, but was
>unconvinced that it would be reasonable to ask maintainers to spend
>effort on maintaining these results. If you are happy to do so, sure, go
>ahead.
It's worthwhile for me personally, if I can have successful cross builds
in salsa-ci and crossqa.debian.net without too much effort. Salsa-ci in
particular would help me catch these FTCBFS issues before uploading.
>ifneq ($(filter cross,$(DEB_BUILD_PROFILES)),)
> ifeq ($(DEB_HOST_ARCH_OS)-$(DEB_HOST_ARCH_LIBC),linux-gnu)
> CONFIG += --with-yielding-select=yes
> endif
> ifeq ($(DEB_HOST_ARCH_LIBC),gnu)
> CONFIG += ac_cv_func_memcmp_working
> endif
>endif
So I rabbit-holed on this a bit, and concluded that for these specific
checks in this specific package, I think it's better without the added
conditions.
For ac_cv_func_memcmp_working, its documentation says: "This macro is
obsolescent, as current systems have a working memcmp. New programs need
not use this macro." Also, OpenLDAP actually FTBFS if the answer is no:
https://bugs.openldap.org/show_bug.cgi?id=9228 (WONTFIX). Therefore, for
any system where OpenLDAP can be built natively, the answer must be yes.
ol_cv_pthread_select_yields is kind of fascinating (to me): it's about
early, pure userspace threading implementations, where blocking syscalls
would block the entire process: https://danluu.com/threads-faq/#Q164.
But as far as I can tell, thread-blocking is required by POSIX since
(AFAICT) POSIX.1c-1995 and process-blocking is historic.
For both of these checks, my evaluation is that they are extremely
unlikely to answer "no" on any current or future system; and that
requiring future ports to opt-in is far more likely to just add friction
than to truly detect a broken system.
More information about the Pkg-openldap-devel
mailing list