On Fri, Aug 02, 2019 at 07:03:17PM +0200, Bálint Réczey wrote: > Control: tags -1 confirmed > Severity: -1 wishlist > > F. Poirotte <[email protected]> ezt írta (időpont: 2018. > ápr. 7., Szo, 18:33): > > > > Package: libevent-dev > > Version: 2.0.21-stable-3 > > Severity: normal > > > > Dear Maintainer, > > > > While bug #675320 added support for multi-arch for the main packages, it > > seems > > the development package was overlooked. As such, it is not currently > > possible to > > install the dev package for multiple architectures (eg. amd64 and i386) at > > the > > same time. > > > > Trying to co-install multiple variants results in apt-get/aptitude trying > > to first > > remove previously installed packages. Here's the trace when trying to > > install > > the i386 variant on a system where the amd64 variant is already installed: > > > > $ sudo aptitude install libevent-dev:i386 > > The following NEW packages will be installed: > > libevent-core-2.0-5:i386{a} libevent-dev:i386{b} > > libevent-extra-2.0-5:i386{a} libevent-openssl-2.0-5:i386{a} > > libevent-pthreads-2.0-5:i386{a} > > 0 packages upgraded, 5 newly installed, 0 to remove and 2 not upgraded. > > Need to get 569 kB of archives. After unpacking 1,971 kB will be used. > > The following packages have unmet dependencies: > > libevent-dev : Conflicts: libevent-dev:i386 but 2.0.21-stable-3 is to be > > installed > > libevent-dev:i386 : Conflicts: libevent-dev but 2.0.21-stable-3 is > > installed > > The following actions will resolve these dependencies: > > > > Remove the following packages: > > 1) libevent-dev [2.0.21-stable-3 (now, stable)] > > > > > > Accept this solution? [Y/n/q/?] q > > > > > > I checked the control file in testing/sid (libevent-2.1-6 (2.1.8-stable-4)) > > and the problem is also visible there. > > Yes, this is correct. > > Header files differ between architectures: > > $ diffoscope libevent-dev_2.1.8-stable-4_* > ... > │ │ ├── ./usr/include/event2/event-config.h > │ │ │ @@ -439,33 +439,33 @@ > │ │ │ your system. */ > │ │ │ /* #undef EVENT__PTHREAD_CREATE_JOINABLE */ > │ │ │ > │ │ │ /* The size of `int', as computed by sizeof. */ > │ │ │ #define EVENT__SIZEOF_INT 4 > │ │ │ > │ │ │ /* The size of `long', as computed by sizeof. */ > │ │ │ -#define EVENT__SIZEOF_LONG 8 > │ │ │ +#define EVENT__SIZEOF_LONG 4 > ... > > This can be fixed, but the -dev packages are not co-installable currently.
This is a bit annoying, when using libevent-dev in a CI container aimed at building for multiple architectures, we have to install the arch-specific package version manually before each arch build job. You mentioned it can be fixed. How would you envision that ? Ideally upstream should geenrate a header file with SIZEOF macros, but that may be hard to change as it could break some users. -- Regards, Laurent Pinchart

