Bug#1023493: libmpg123-dev: trying to overwrite shared '/usr/include/mpg123.h', which is different from other instances of package libmpg123-dev:i386
Am Sat, 05 Nov 2022 12:07:57 +0000
schrieb Witold Baryluk <witold.baryluk@gmail.com>:
> trying to overwrite shared '/usr/include/mpg123.h', which is
> different from other instances of package libmpg123-dev:i386
Oh, dear. I broke multiarch headers again. By trying to fix BSDs that
don't react to _FILE_OFFSET_BITS at all, I introduced a build
dependency in the header. Again. Dammit.
For i386, you want largefile names. for x86-64, you don't. This is about
#if !defined(MPG123_LARGESUFFIX) && 1
or
#if !defined(MPG123_LARGESUFFIX) && 0
(the value of @BUILD_NO_LARGENAME@ in mpg123.h.in). The 0 or 1 is
determined by AC_SYS_LARGEFILE detecting largefile-sensitivity or not.
Linux/i386 is sensitive, Linux/x86-64 is not.
So either you need to scope the mpg123.h into the multiarch
sub-directories or it needs enhancement to figure out
largefile-sensitivity from macros alone. There's a reason this is no
simple macro hack but figured out at configure-time.
Since we do have off_t in the API (an error I regret but which I am
committed to for backwards compatibility), I guess the API and thus the
header _is_ architecture-specific, as not just the size of off_t
varies, but even the state of it having a fixed size at all.
Reply to: