this is a bug tracker, not a fan boy forum. If you need incoherent cross build environments including setups involving both multilib and multiarch, then don't install gcc-multilib, but provide the correct include paths on your own. Or use chroots if you don't need these archs for the same project. However the link
$ ls -l /usr/include/asm
lrwxrwxrwx 1 root root 20 Feb 11 09:47 /usr/include/asm -> x86_64-linux-gnu/asm
is *wrong* for every cross compiler, therefore the conflict. Feel free to provide patches for glibc and gcc to avoid having this symlink at all, and have libc6-dev-i386 install into a location which is *only* read by gcc -m32, *and* which doesn't conflict with libc-dev:i386 or libc6-dev:amd64.
this is a bug tracker, not a fan boy forum. If you need incoherent cross build environments including setups involving both multilib and multiarch, then don't install gcc-multilib, but provide the correct include paths on your own. Or use chroots if you don't need these archs for the same project. However the link
$ ls -l /usr/include/asm linux-gnu/ asm
lrwxrwxrwx 1 root root 20 Feb 11 09:47 /usr/include/asm -> x86_64-
is *wrong* for every cross compiler, therefore the conflict. Feel free to provide patches for glibc and gcc to avoid having this symlink at all, and have libc6-dev-i386 install into a location which is *only* read by gcc -m32, *and* which doesn't conflict with libc-dev:i386 or libc6-dev:amd64.