Bug#939666: include files conflict with i386 version: split dev packages

Valerio Messina efa at iol.it
Sat Sep 7 15:35:25 BST 2019


Package: libsdl1.2-dev
Version: 1.2.15
Linux 02cor2130 5.0.0-27-generic x86_64
libc-2.27.so

Dev packages mainly contain:
0) /usr/bin/*   # optional library tool
1) /usr/include/*.h   # headers files
2) /usr/lib/x86_64-linux-gnu/lib*.a   # the compile time library itself
3) /usr/lib/x86_64-linux-gnu/lib*.so  # the run time library itself
4) /usr/lib/x86_64-linux-gnu/pkgconfig/*.pc   #pkg-config file
5) /usr/share/aclocal   # other tools and manual files
    /usr/share/doc-base
    /usr/share/man
The i386 version of a dev package deliver the library and pkg-config in
/usr/lib/i386-linux-gnu

Many dev packages and its corresponding i386 dev packages are marked 
conflict each other, as both contain the same include, tools and manual 
files. This forbid install both dev packages at the same time, and so it 
is impossible generate for both target 64 and 32 bit.

As the .a compile time library itself, for 64 and 32 bit are installed 
in different paths, make sense split dev packages in different packages:
A) common part to both 32 and 64 bit
B) compile time library for 64 bit
C) compile time library for 32 bit
or at least:
A) common part to both 32 and 64 bit
    compile time library for 64 bit
C) compile time library for 32 bit
where C is installable only when needed

This let install any combination of packages and generate for both 32 
and 64 bit at the same time.

I tryed to manually copy .a files in the right place and both generation 
work

I discovered this with libsdl1.2-dev, but apply to many other -dev packages.

thank you,
-- 
Valerio



More information about the Pkg-sdl-maintainers mailing list