Comment puis-je installer les versions 32 et 64 bits du même package -dev?

11

J'essaie d'installer libsqlite3-devpour les deux i386et amd64sur la même machine Ubuntu 12.04. Je développe une application qui utilise sqlite3 et souhaite compiler et tester les versions 32 bits et 64 bits.

Cependant, il semble que le libsqlite3-dev:i386package soit incompatible avec le libsqlite3-dev:amd64, tout en aptcontinuant à vouloir en supprimer un lorsque j'installe l'autre.

Existe-t-il un moyen d'installer les deux sur le même système?

Wim
la source

Réponses:

5

Vous ne pouvez pas installer les deux packages -dev sur le même système en même temps. Vous ne pouvez installer que l'un ou l'autre, car ils contiennent certains des mêmes fichiers. Multi-arch ne permet pas la prise en charge de la compilation croisée, ce que vous essayez de faire. Si vous deviez installer la :i386version du package de développement sqlite et compiler avec le compilateur 64 bits, vous aurez presque certainement une version cassée en conséquence.

Votre meilleur pari est de compiler dans un chroot ou une machine virtuelle 32 bits, pour construire la version 32 bits.

dobey
la source
Les fichiers d'en-tête sont en effet dans les deux packages, mais leur contenu est identique. De plus, pour d'autres -devpackages tels que ceux zlib1gqui ont également des fichiers partagés (et identiques), il est possible d'installer les deux versions simultanément.
Wim
1
Je viens d'installer de force les deux packages, cela ne semble rien casser et je peux maintenant construire (et exécuter correctement) les deux versions. S'agit-il simplement d'un cas où le mainteneur du package déclare un conflit là où il n'y en a pas vraiment?
Wim
0

Personnellement, je ne considère pas les installations forcées comme un dernier recours. Je pense que vous pourriez trouver pbuilder très utile. Voici un HOWTO pour cela. Vous pouvez même installer différentes distributions à cet effet et scripter le processus de construction pour différentes cibles en même temps.

http://ubuntuforums.org/showthread.php?t=206382

Ainsi, vous pouvez même laisser tous les packages de développement désinstallés. Ils sont installés dans cette installation temporaire de chroot.


la source