web-dev-qa-db-fra.com

apt-get purge libc6-dev-i386 veut supprimer les paquets importants

J'ai eu un problème lors de la compilation d'ELF 32 bits dans Ubuntu 64 bits. C'est un message d'erreur produit par le compilateur GCC:

cheap-laptop@my-machine:~/DEV-DIR$ gcc -m32 test.c -o test
In file included from /usr/include/stdio.h:27:0,
                 from test.c:1:
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
 #  include <sys/cdefs.h>
                         ^
compilation terminated.

J'ai cherché sur Google ce problème et trouvé que libc6-dev-i386 doit être installé en premier.

Je l'ai installé et je n'ai pas eu de chance, et la même erreur s'est toujours produite. Donc, j'avais encore Google et j'ai trouvé ceci lien .

Il a suggéré de supprimer la purge libc6-dev et de la réinstaller à l'aide de apt-get. Ensuite, un message est apparu et il ressemble à ceci: -

cheap-laptop@my-machine:~/DEV-DIR$ Sudo apt-get purge libc6-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gir1.2-gee-0.8 gir1.2-gtk-2.0 icu-devtools libboost-atomic1.54.0
  libboost-chrono1.54.0 libboost-context1.54.0 libboost-filesystem1.54.0
  libboost-graph-parallel1.54.0 libboost-graph1.54.0 libboost-iostreams1.54.0
  libboost-locale1.54.0 libboost-log1.54.0 libboost-math1.54.0
  libboost-mpi-python1.54.0 libboost-mpi1.54.0 libboost-program-options1.54.0
  libboost-python1.54.0 libboost-random1.54.0 libboost-regex1.54.0
  libboost-serialization1.54.0 libboost-signals1.54.0 libboost-test1.54.0
  libboost-thread1.54.0 libboost-timer1.54.0 libboost-tools-dev
  libboost-wave1.54.0 libboost1.54-tools-dev libcairo-script-interpreter2
  libdbus-1-dev libgnutlsxx27 libgpg-error-dev libgssrpc4 libharfbuzz-dev
  libharfbuzz-gobject0 libibverbs-dev libice-dev libidn11-dev
  libkadm5clnt-mit9 libkadm5srv-mit9 libkdb5-7 libp11-kit-dev libpcrecpp0
  libpixman-1-dev libpthread-stubs0-dev libsm-dev libssl-doc libtasn1-6-dev
  libtinfo-dev libvala-0.22-0 libx11-dev libxau-dev libxcb-render0-dev
  libxcb-shm0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxi-dev libxinerama-dev
  libxml2-utils libxrandr-dev libxrender-dev mpi-default-bin valac-0.22-vapi
  x11proto-composite-dev x11proto-randr-dev x11proto-render-dev
  x11proto-xinerama-dev
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  comerr-dev* gcc-4.9-multilib* gcc-multilib* krb5-multidev* libatk1.0-dev*
  libboost-all-dev* libboost-atomic-dev* libboost-atomic1.54-dev*
  libboost-chrono-dev* libboost-chrono1.54-dev* libboost-context-dev*
  libboost-context1.54-dev* libboost-coroutine-dev*
  libboost-coroutine1.54-dev* libboost-date-time-dev*
  libboost-date-time1.54-dev* libboost-dev* libboost-exception-dev*
  libboost-exception1.54-dev* libboost-filesystem-dev*
  libboost-filesystem1.54-dev* libboost-graph-dev*
  libboost-graph-parallel-dev* libboost-graph-parallel1.54-dev*
  libboost-graph1.54-dev* libboost-iostreams-dev* libboost-iostreams1.54-dev*
  libboost-locale-dev* libboost-locale1.54-dev* libboost-log-dev*
  libboost-log1.54-dev* libboost-math-dev* libboost-math1.54-dev*
  libboost-mpi-dev* libboost-mpi-python-dev* libboost-mpi-python1.54-dev*
  libboost-mpi1.54-dev* libboost-program-options-dev*
  libboost-program-options1.54-dev* libboost-python-dev*
  libboost-python1.54-dev* libboost-random-dev* libboost-random1.54-dev*
  libboost-regex-dev* libboost-regex1.54-dev* libboost-serialization-dev*
  libboost-serialization1.54-dev* libboost-signals-dev*
  libboost-signals1.54-dev* libboost-system-dev* libboost-system1.54-dev*
  libboost-test-dev* libboost-test1.54-dev* libboost-thread-dev*
  libboost-thread1.54-dev* libboost-timer-dev* libboost-timer1.54-dev*
  libboost-wave-dev* libboost-wave1.54-dev* libboost1.54-dev* libc6-dev*
  libc6-dev-i386* libc6-dev-x32* libcairo2-dev* libcurl4-openssl-dev*
  libdbus-glib-1-dev* libdbusmenu-glib-dev* libdee-dev* libexpat1-dev*
  libfontconfig1-dev* libfreetype6-dev* libgcrypt11-dev* libgdk-pixbuf2.0-dev*
  libgee-0.8-dev* libglib2.0-dev* libgnutls-dev* libgpgme11-dev*
  libgtk2.0-dev* libhwloc-dev* libicu-dev* libkrb5-dev* libncurses5-dev*
  libncursesw5-dev* libnotify-dev* libopenmpi-dev* libpango1.0-dev*
  libpcap-dev* libpcap0.8-dev* libpci-dev* libpcre3-dev* libpng12-dev*
  libpython-dev* libpython2.7-dev* librtmp-dev* libsqlite3-dev* libssh-dev*
  libssh2-1-dev* libssl-dev* libstdc++-4.8-dev* libunity-dev* libxft-dev*
  mpi-default-dev* nvidia-331* python2.7-dev* uuid-dev* valac-0.22*
  zlib1g-dev*
0 upgraded, 0 newly installed, 107 to remove and 0 not upgraded.
After this operation, 506 MB disk space will be freed.
Do you want to continue? [Y/n] 

Il veut supprimer des paquets importants tels que libboost-*, nvidia-331* et autres. Pourquoi cela se passe?

1
Mohd Shahril

Après avoir cherché pendant quelques minutes, j'ai trouvé ceci réponse dans le site Stack Overflow.

Donc, la solution à mon problème est d'utiliser simplement l'argument install --reinstall [package-name] lorsque vous exécutez apt-get, il réinstallera simplement le paquet souhaité sans le purger et le télécharger, voici donc la commande complète qui a résolu mon problème:

Sudo apt-get install --reinstall libc6-dev-i386

0
Mohd Shahril

Le paquetage libc6-dev est nécessaire pour compiler quoi que ce soit, et donc la plupart, sinon tous, des packages de développement dépendent de ce package. Si vous supprimez libc6-dev, ces en-têtes seront également supprimés (ainsi que certaines des bibliothèques elles-mêmes, si rien d'autre ne dépend de ces bibliothèques et qu'elles ont été installées automatiquement).

Supprimer et réinstaller ce paquet ne vous aidera probablement pas à compiler des programmes 32 bits à partir d'Ubuntu 64 bits, car ce paquet sert à la compilation de programmes 64 bits. Au lieu de cela, assurez-vous que libc6-dev-i386 est installé. Si vous rencontrez toujours une erreur, créez une nouvelle question et postez-y le message d'erreur.

0
saiarcot895