On 2018-02-18 19:17, Hillel Lubman wrote: > Package: libc6-i386 > Version: 2.26-6 > Severity: important > > Dear Maintainer, > > I tried cross compile 32-bit Mesa on 64-bit Debian (amd64), and I had to > install these packages in order to do it: > > llvm-5.0-dev:i386 libclang-5.0-dev:i386 gcc-multilib g++-multilib > > Unfortunately it failed, and I managed to narrow it down to the conflict > between libc6-i386 conflicts and libc6-amd64:i386:
You can install only one set of multilib package at the same time, otherwise you end up with files conflict. In your case llvm-5.0-dev:i386 requires the :i386 version of the multilib set, while gcc-multilib requires the :amd64 version of it. > sudo apt-get install libc6-amd64:i386 libc6-i386 > Reading package lists... Done > Building dependency tree > Reading state information... Done > Some packages could not be installed. This may mean that you have > requested an impossible situation or if you are using the unstable > distribution that some required packages have not yet been created > or been moved out of Incoming. > The following information may help to resolve the situation: > > The following packages have unmet dependencies: > libc6-amd64:i386 : Conflicts: libc6-i386 but 2.26-6 is to be installed > libc6-i386 : Conflicts: libc6-amd64:i386 but 2.26-6 is to be installed > E: Unable to correct problems, you have held broken packages. > > How can this be resolved? If you want to install llvm for i386 you also need to install gcc for i386. The other option is to not install gcc-multilib and g++-multilib. If that solution is not acceptable for you, here are the few other alternatives I can think of: - report a bug against llvm to split libclang-common-5.0-dev into two parts, one providing the native support, the other one the multilib support, just like it is done in GCC. - report a bug against llvm to support a multiarch alternative to the 64-bit libraries. That means for example changing the lib64gcc1:i386 dependency into lib64gcc1:i386 | libgcc1:amd64. This might require code change to look into both multiarch and multilib paths. - report a bug against gcc to support a multiarch alternative to the 32-bit libraries. - report a bug against gcc-7-cross to add an i386 cross-compiler on amd64. There is nothing we can do on the glibc side. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net