Comment 58 for bug 1847361

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I was going into a bionic VM and bulding the former built .23 version.
In that environment I can compile file-posix.c.

The simplified call works in that VM:
$ gcc -Iblock -I. -I/home/ubuntu/qemu-2.11+dfsg -I/home/ubuntu/qemu-2.11+dfsg/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -D_GNU_SOURCE -Wall -Wundef -c -o file-posix.o ../block/file-posix.c 2>&1

While the same in e.g. a sbuild-chroot does not!

Running the compile with -E shows the usage of BITPER_LONG in e.g. test_bit
code:
    return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
good case -E:
    return 1UL & (addr[((nr) / (sizeof (unsigned long) * 8))] >> (nr & ((sizeof (unsigned long) * 8)-1)));
bad case -E doesn't get to that, as it breaks in the preprocessor stage with the known errors.

I aligned packages by purging all that the VM had on top of the build env.
I did a clean and a new build run to be sure, but still it builds in the VM but not in the chroot.