Package: libglobus-common-dev
Version: 18.14-2
Severity: serious
Tags: ftbfs trixie sid
Justification: breaks build of src:lcmaps
X-Debbugs-Cc: denni...@nikhef.nl, jw...@jwilk.net, lcm...@packages.debian.org
Control: affects -1 + src:lcmaps

During the recent binNMUs of much of the archive, lcmaps failed to rebuild
from source on at least amd64 and i386.

Investigation by Jakub Wilk indicates that this is a problem with the
Cflags in the pkg-config metadata provided by libglobus-common-dev, which
cause some glibc headers (at least stdio.h) to fail to compile:

> $ grep -rP 'D_FILE_OFFSET_BITS=(?!64)' /usr
> /usr/lib/x86_64-linux-gnu/pkgconfig/globus-common.pc:Cflags:  
> -D_FILE_OFFSET_BITS= -I${includedir}

A minimal reproducer for the problem is to compile a trivial "hello world"
program against libglobus-common-dev on amd64:

$ podman run --rm -it debian:sid-slim   # or use a chroot or something
# apt update
# apt upgrade
# apt install libglobus-common-dev build-essential pkgconf
# cat > t.c <<'EOF'
#include <stdio.h>
int main(void) { return 0; }
EOF
# gcc -ot t.c $(pkgconf --cflags --libs globus-common)

Expected result: ./t is compiled successfully. You can run it.

Actual result:

> In file included from 
> /usr/include/x86_64-linux-gnu/bits/libc-header-start.h:33,
>                  from /usr/include/stdio.h:28,
>                  from t.c:1:
> /usr/include/features.h:398:52: error: operator '&&' has no right operand
>   398 | #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
>       |                                                    ^~

Please look into why "-D_FILE_OFFSET_BITS=" appears in the Cflags.

Thanks,
    smcv

Reply via email to