• Bug#1099285: rt-app: FTBFS: error: redefinition of 'struct sched_attr'

    From Santiago Vila@21:1/5 to All on Sat Mar 1 22:10:12 2025
    Package: src:rt-app
    Version: 1.0-1.1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:

    --------------------------------------------------------------------------------
    [...]
    debian/rules clean
    dh clean
    debian/rules override_dh_clean
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    rm -rf build-aux m4
    rm *.log
    rm: cannot remove '*.log': No such file or directory
    make[1]: [debian/rules:26: override_dh_clean] Error 1 (ignored)
    rm unikid.json
    rm: cannot remove 'unikid.json': No such file or directory
    make[1]: [debian/rules:27: override_dh_clean] Error 1 (ignored)
    dh_clean
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    debian/rules binary
    dh binary
    dh_update_autotools_config
    dh_autoreconf
    aclocal: warning: couldn't open directory 'm4': No such file or directory libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: copying file 'build-aux/ltmain.sh'
    libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
    libtoolize: copying file 'm4/libtool.m4'
    libtoolize: copying file 'm4/ltoptions.m4'
    libtoolize: copying file 'm4/ltsugar.m4'
    libtoolize: copying file 'm4/ltversion.m4'
    libtoolize: copying file 'm4/lt~obsolete.m4'
    libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. configure.ac:10: warning: The macro 'AC_PROG_LIBTOOL' is obsolete. configure.ac:10: You should run autoupdate.
    m4/libtool.m4:100: AC_PROG_LIBTOOL is expanded from...
    configure.ac:10: the top level
    configure.ac:13: warning: The macro 'AC_HEADER_STDC' is obsolete. configure.ac:13: You should run autoupdate.
    ./lib/autoconf/headers.m4:663: AC_HEADER_STDC is expanded from... configure.ac:13: the top level
    configure.ac:8: installing 'build-aux/ar-lib'
    configure.ac:8: installing 'build-aux/compile'
    configure.ac:10: installing 'build-aux/config.guess'
    configure.ac:10: installing 'build-aux/config.sub'
    configure.ac:6: installing 'build-aux/install-sh'
    configure.ac:6: installing 'build-aux/missing'
    libdl/Makefile.am: installing 'build-aux/depcomp'
    debian/rules override_dh_auto_configure
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    dh_auto_configure -- --with-deadline --with-json
    ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/
    lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --with-deadline --with-json
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether sleep supports fractional seconds... yes
    checking filesystem timestamp resolution... 0.01
    checking whether build environment is sane... yes
    checking for a race-free mkdir -p... /usr/bin/mkdir -p
    checking for gawk... no
    checking for mawk... mawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking xargs -n works... yes
    checking whether make supports the include directive... yes (GNU style) checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether the compiler supports GNU C... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to enable C11 features... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... none
    checking for ar... ar
    checking the archiver (ar) interface... ar
    checking for gcc... (cached) gcc
    checking whether the compiler supports GNU C... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to enable C11 features... (cached) none needed
    checking whether gcc understands -c and -o together... (cached) yes
    checking dependency style of gcc... (cached) none
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking how to print strings... printf
    checking for a sed that does not truncate output... /usr/bin/sed
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for fgrep... /usr/bin/grep -F
    checking for ld used by gcc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
    checking the name lister (/usr/bin/nm -B) interface... BSD nm
    checking whether ln -s works... yes
    checking the maximum length of command line arguments... 1572864
    checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
    checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
    checking for /usr/bin/ld option to reload object files... -r
    checking for file... file
    checking for objdump... objdump
    checking how to recognize dependent libraries... pass_all
    checking for dlltool... no
    checking how to associate runtime and link libraries... printf %s\n
    checking for ranlib... ranlib
    checking for archiver @FILE support... @
    checking for strip... strip
    checking command to parse /usr/bin/nm -B output from gcc object... ok
    checking for sysroot... no
    checking for a working dd... /usr/bin/dd
    checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
    checking for mt... no
    checking if : is a manifest tool... no
    checking for stdio.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for strings.h... yes
    checking for sys/stat.h... yes
    checking for sys/types.h... yes
    checking for unistd.h... yes
    checking for dlfcn.h... yes
    checking for objdir... .libs
    checking if gcc supports -fno-rtti -fno-exceptions... no
    checking for gcc option to produce PIC... -fPIC -DPIC
    checking if gcc PIC flag -fPIC -DPIC works... yes
    checking if gcc static flag -static works... yes
    checking if gcc supports -c -o file.o... yes
    checking if gcc supports -c -o file.o... (cached) yes
    checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... yes
    checking for egrep... (cached) /usr/bin/grep -E
    checking for pthread_create in -lpthread... yes
    checking for round in -lm... yes
    checking for clock_gettime in -lrt... yes
    checking for json_object_from_file in -ljson-c... yes
    checking for sched_setattr... yes
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    config.status: creating libdl/Makefile
    config.status: creating README
    config.status: creating COPYING
    config.status: creating src/config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_auto_build
    make -j2
    make[1]: Entering directory '/<<PKGBUILDDIR>>'
    Making all in libdl
    make[2]: Entering directory '/<<PKGBUILDDIR>>/libdl'
    gcc -DHAVE_CONFIG_H -I. -I../src -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o
    dl_syscalls.o dl_syscalls.c
    rm -f libdl.a
    ar cr libdl.a dl_syscalls.o
    ranlib libdl.a
    make[2]: Leaving directory '/<<PKGBUILDDIR>>/libdl'
    Making all in src
    make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
    make all-am
    make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
    gcc -DHAVE_CONFIG_H -I. -I./../libdl/ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -
    c -o rt-app_utils.o rt-app_utils.c
    gcc -DHAVE_CONFIG_H -I. -I./../libdl/ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -
    c -o rt-app_args.o rt-app_args.c
    gcc -DHAVE_CONFIG_H -I. -I./../libdl/ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -
    c -o rt-app.o rt-app.c
    gcc -DHAVE_CONFIG_H -I. -I./../libdl/ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -
    c -o rt-app_parse_config.o rt-app_parse_config.c
    In file included from rt-app_types.h:28,
    from rt-app_utils.h:29,
    from rt-app.c:37:
    ./../libdl/dl_syscalls.h:77:8: error: redefinition of ‘struct sched_attr’
    77 | struct sched_attr {
    | ^~~~~~~~~~
    In file included from /usr/include/x86_64-linux-gnu/bits/sched.h:63,
    from /usr/include/sched.h:43,
    from /usr/include/pthread.h:22,
    from rt-app.c:30:
    /usr/include/linux/sched/types.h:98:8: note: originally defined here
    98 | struct sched_attr {
    | ^~~~~~~~~~
    ./../libdl/dl_syscalls.h:95:5: error: conflicting types for ‘sched_setattr’; have ‘int(pid_t, const struct sched_attr *, unsigned int)’ {aka ‘int(int, const struct sched_attr *, unsigned int)’}
    95 | int sched_setattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:148:5: note: previous declaration of ‘sched_setattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int)’}
    148 | int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
    | ^~~~~~~~~~~~~
    ./../libdl/dl_syscalls.h:99:5: error: conflicting types for ‘sched_getattr’; have ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    99 | int sched_getattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:153:5: note: previous declaration of ‘sched_getattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    153 | int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
    | ^~~~~~~~~~~~~
    rt-app.c: In function ‘run_event’:
    rt-app.c:405:25: warning: ‘pthread_yield’ is deprecated: pthread_yield is deprecated, use sched_yield instead [-Wdeprecated-declarations]
    405 | pthread_yield();
    | ^~~~~~~~~~~~~
    In file included from /usr/include/features.h:523,
    from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
    from /usr/include/stdlib.h:26,
    from rt-app.c:25:
    /usr/include/pthread.h:479:12: note: declared here
    479 | extern int __REDIRECT_NTH (pthread_yield, (void), sched_yield)
    | ^~~~~~~~~~~~~~
    make[3]: *** [Makefile:495: rt-app.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    In file included from rt-app_types.h:28,
    from rt-app_utils.h:29,
    from rt-app_parse_config.c:30:
    ./../libdl/dl_syscalls.h:77:8: error: redefinition of ‘struct sched_attr’
    77 | struct sched_attr {
    | ^~~~~~~~~~
    In file included from /usr/include/x86_64-linux-gnu/bits/sched.h:63,
    from /usr/include/sched.h:43,
    from /usr/include/pthread.h:22,
    from rt-app_types.h:25:
    /usr/include/linux/sched/types.h:98:8: note: originally defined here
    98 | struct sched_attr {
    | ^~~~~~~~~~
    ./../libdl/dl_syscalls.h:95:5: error: conflicting types for ‘sched_setattr’; have ‘int(pid_t, const struct sched_attr *, unsigned int)’ {aka ‘int(int, const struct sched_attr *, unsigned int)’}
    95 | int sched_setattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:148:5: note: previous declaration of ‘sched_setattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int)’}
    148 | int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
    | ^~~~~~~~~~~~~
    ./../libdl/dl_syscalls.h:99:5: error: conflicting types for ‘sched_getattr’; have ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    99 | int sched_getattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:153:5: note: previous declaration of ‘sched_getattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    153 | int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
    | ^~~~~~~~~~~~~
    make[3]: *** [Makefile:495: rt-app_parse_config.o] Error 1
    make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
    make[2]: *** [Makefile:341: all] Error 2
    make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
    make[1]: *** [Makefile:398: all-recursive] Error 1
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_auto_build: error: make -j2 returned exit code 2
    make: *** [debian/rules:7: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 --------------------------------------------------------------------------------

    The above is just how the build ends and not necessarily the most relevant part.
    If required, the full build log is available here:

    https://people.debian.org/~sanvila/build-logs/202503/

    About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages.

    If you could not reproduce the bug please contact me privately, as I
    am willing to provide ssh access to a virtual machine where the bug is
    fully reproducible.

    If this is really a bug in one of the build-depends, please use
    reassign and add an affects on src:rt-app, so that this is still
    visible in the BTS web page for this package.

    Thanks.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Sat Mar 8 18:30:01 2025
    Processing control commands:

    tag -1 + patch
    Bug #1099285 [src:rt-app] rt-app: FTBFS: error: redefinition of 'struct sched_attr'
    Added tag(s) patch.

    --
    1099285: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1099285
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aurelien Jarno@21:1/5 to Santiago Vila on Sat Mar 8 18:30:01 2025
    control: tag -1 + patch

    Hi,

    On 2025-03-01 21:03, Santiago Vila wrote:
    Package: src:rt-app
    Version: 1.0-1.1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:


    [...]

    gcc -DHAVE_CONFIG_H -I. -I./../libdl/ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection
    -c -o rt-app_parse_config.o rt-app_parse_config.c
    In file included from rt-app_types.h:28,
    from rt-app_utils.h:29,
    from rt-app.c:37:
    ./../libdl/dl_syscalls.h:77:8: error: redefinition of ‘struct sched_attr’
    77 | struct sched_attr {
    | ^~~~~~~~~~
    In file included from /usr/include/x86_64-linux-gnu/bits/sched.h:63,
    from /usr/include/sched.h:43,
    from /usr/include/pthread.h:22,
    from rt-app.c:30:
    /usr/include/linux/sched/types.h:98:8: note: originally defined here
    98 | struct sched_attr {
    | ^~~~~~~~~~
    ./../libdl/dl_syscalls.h:95:5: error: conflicting types for ‘sched_setattr’; have ‘int(pid_t, const struct sched_attr *, unsigned int)’ {aka ‘int(int, const struct sched_attr *, unsigned int)’}
    95 | int sched_setattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:148:5: note: previous declaration of ‘sched_setattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int)’}
    148 | int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
    | ^~~~~~~~~~~~~
    ./../libdl/dl_syscalls.h:99:5: error: conflicting types for ‘sched_getattr’; have ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    99 | int sched_getattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:153:5: note: previous declaration of ‘sched_getattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    153 | int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
    | ^~~~~~~~~~~~~
    rt-app.c: In function ‘run_event’:
    rt-app.c:405:25: warning: ‘pthread_yield’ is deprecated: pthread_yield is deprecated, use sched_yield instead [-Wdeprecated-declarations]
    405 | pthread_yield();
    | ^~~~~~~~~~~~~
    In file included from /usr/include/features.h:523,
    from /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
    from /usr/include/stdlib.h:26,
    from rt-app.c:25:
    /usr/include/pthread.h:479:12: note: declared here
    479 | extern int __REDIRECT_NTH (pthread_yield, (void), sched_yield)
    | ^~~~~~~~~~~~~~
    make[3]: *** [Makefile:495: rt-app.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    In file included from rt-app_types.h:28,
    from rt-app_utils.h:29,
    from rt-app_parse_config.c:30: ./../libdl/dl_syscalls.h:77:8: error: redefinition of ‘struct sched_attr’
    77 | struct sched_attr {
    | ^~~~~~~~~~
    In file included from /usr/include/x86_64-linux-gnu/bits/sched.h:63,
    from /usr/include/sched.h:43,
    from /usr/include/pthread.h:22,
    from rt-app_types.h:25: /usr/include/linux/sched/types.h:98:8: note: originally defined here
    98 | struct sched_attr {
    | ^~~~~~~~~~
    ./../libdl/dl_syscalls.h:95:5: error: conflicting types for ‘sched_setattr’; have ‘int(pid_t, const struct sched_attr *, unsigned int)’ {aka ‘int(int, const struct sched_attr *, unsigned int)’}
    95 | int sched_setattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:148:5: note: previous declaration of ‘sched_setattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int)’}
    148 | int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags)
    | ^~~~~~~~~~~~~
    ./../libdl/dl_syscalls.h:99:5: error: conflicting types for ‘sched_getattr’; have ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    99 | int sched_getattr(pid_t pid,
    | ^~~~~~~~~~~~~
    /usr/include/x86_64-linux-gnu/bits/sched.h:153:5: note: previous declaration of ‘sched_getattr’ with type ‘int(pid_t, struct sched_attr *, unsigned int, unsigned int)’ {aka ‘int(int, struct sched_attr *, unsigned int, unsigned int)’}
    153 | int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size,
    | ^~~~~~~~~~~~~
    make[3]: *** [Makefile:495: rt-app_parse_config.o] Error 1
    make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
    make[2]: *** [Makefile:341: all] Error 2
    make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
    make[1]: *** [Makefile:398: all-recursive] Error 1
    make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_auto_build: error: make -j2 returned exit code 2
    make: *** [debian/rules:7: binary] Error 25
    dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
    --------------------------------------------------------------------------------

    This build failure is due to glibc 2.41 which started to define
    sched_setattr() and struct sched_attr. I am sorry I missed this when
    preparing this version.

    I have sent a patch upstream to fix the issue: https://github.com/scheduler-tools/rt-app/pull/136

    As the version in debian is slightly outdated, the patch does not apply directly, I have attached an adapted version.

    Regards
    Aurelien

    --
    Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://aurel32.net

    --- rt-app-1.0.orig/configure.ac
    +++ rt-app-1.0/configure.ac
    @@ -16,7 +16,7 @@ AC_CHECK_LIB([pthread], [pthread_create]
    AC_CHECK_LIB([m], [round])
    AC_CHECK_LIB([rt], [clock_gettime])
    AC_CHECK_LIB([json-c], [json_object_from_file])
    -AC_CHECK_FUNCS(sched_setattr, [], [])
    +AC_CHECK_FUNCS(sched_setattr, [have_sched_settattr=yes], [have_sched_settattr=no])

    AC_ARG_WITH([deadline],
    [AS_HELP_STRING([--with-deadline],
    @@ -24,7 +24,7 @@ AC_ARG_WITH([deadline],
    [AC_DEFINE([DLSCHED], [1], [Define if you have SCHED_DEADLINE support])],
    [with_deadline=no])

    -AM_CONDITIONAL([SET_DLSCHED], [test x$with_deadline != xno && test !HAVE_SCHED_SETATTR])
    +AM_CONDITIONAL([SET_DLSCHED], [test x$with_deadline != xno && test x$have_sched_settattr = xno])

    AC_ARG_VAR([LOGLVL], [verbosity level, from 0 to 100. 100 is very verbose])

    --- rt-app-1.0.orig/src/rt-app_args.c
    +++ rt-a
  • From Aurelien Jarno@21:1/5 to Aurelien Jarno on Fri Mar 14 23:00:01 2025
    --E7lRrz9+Yp8m0CvW
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    Content-Transfer-Encoding: quoted-printable

    Hi,

    On 2025-03-08 18:20, Aurelien Jarno wrote:
    control: tag -1 + patch

    Hi,

    On 2025-03-01 21:03, Santiago Vila wrote:
    Package: src:rt-app
    Version: 1.0-1.1
    Severity: serious
    Tags: ftbfs trixie sid

    Dear maintainer:

    During a rebuild of all packages in unstable, your package failed to build:


    This build failure is due to glibc 2.41 which started to define sched_setattr() and struct sched_attr. I am sorry I missed this when preparing this version.

    I have sent a patch upstream to fix the issue: https://github.com/scheduler-tools/rt-app/pull/136

    As the version in debian is slightly outdated, the patch does not apply directly, I have attached an adapted version.

    This issue, introduced by glibc 2.41, is going to cause rt-app to get
    removed from testing, and thus to not get released with Trixie. I have therefore prepared a non-maintainer upload using the patch in the BTS
    and uploaded it to DELAYED/15. Please find the corresponding debdiff
    attached.

    Please feel free to upload a different fix in the meantime, ask me to
    delay further the NMU or to cancel it.

    Regards,
    Aurelien

    --
    Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://aurel32.net

    --E7lRrz9+Yp8m0CvW
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: attachment; filename="rt-app_1.0-1.2.NMU.debdiff" Content-Transfer-Encoding: quoted-printable

    diff -Nru rt-app-1.0/debian/changelog rt-app-1.0/debian/changelog
    --- rt-app-1.0/debian/changelog 2025-01-01 16:55:19.000000000 +0100
    +++ rt-app-1.0/debian/changelog 2025-03-14 22:41:52.000000000 +0100
    @@ -1,3 +1,10 @@
    +rt-app (1.0-1.2) unstable; urgency=medium
    +
    + * Non-maintainer upload.
    + * Add patch to fix build with glibc 2.41 (Closes: #1099285)
    +
    + -- Aurelien Jarno <aurel32@debian.org> Fri, 14 Mar 2025 22:41:52 +0100
    +
    rt-app (1.0-1.1) unstable; urgency=medium

    * Non-maintainer upload.
    diff -Nru rt-app-1.0/debian/patches/glibc-2.41.patch rt-app-1.0/debian/patches/glibc-2.41.patch
    --- rt-app-1.0/debian/patches/glibc-2.41.patch 1970-01-01 01:00:00.000000000 +0100
    +++ rt-app-
  • From Debian Bug Tracking System@21:1/5 to All on Sun Mar 23 12:30:02 2025
    Processing control commands:

    tag -1 + pending
    Bug #1099285 [src:rt-app] rt-app: FTBFS: error: redefinition of 'struct sched_attr'
    Added tag(s) pending.

    --
    1099285: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1099285
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)