Instalar g ++ ubuntu 14.04 Depende: g ++ - 4.8 (> = 4.8.2-5 ~) pero no se instalará

9

Acabo de escribir:

sudo apt-get install g++

y consiguió:

The following packages have unmet dependencies:
 g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Intenté también según las sugerencias en otros foros:

sudo apt-get update

y

sudo apt-get -f install

Ninguno resolvió mi problema. Por favor, ayuda si sabes la respuesta.

EDITAR:

Según la sugerencia colocada en el comentario, intenté:

sudo apt-cache policy g++-4.8

y obtuve el siguiente resultado:

g++-4.8:
  Installed: (none)
  Candidate: 4.8.2-19ubuntu1
  Version table:
     4.8.2-19ubuntu1 0
        500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Tratando:

sudo apt-get install g++-4.8

Tengo:

The following packages have unmet dependencies:
 g++-4.8 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
           Depends: gcc-4.8 (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
           Depends: libstdc++-4.8-dev (= 4.8.2-19ubuntu1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
alecrosico
fuente
¿Cuáles son los resultados / errores de esos apt-getcomandos?
Daniel
apt-get update solo actualiza el repositorio ... muchas líneas de salida pero sin errores ... apt-get -f install proporciona: 0 actualizado, 0 recién instalado, 0 para eliminar y 44 no actualizado.
alecrosic
Edite su pregunta y agregue la salida deapt-cache policy g++-4.8
AB
Intente forzar la instalación sudo apt-get install g++-4.8y agregue la salida a su pregunta. Debería ver otro mensaje de error. Y necesitamos este mensaje para encontrar el verdadero problema.
AB
Y deme un comentario con @A.B.Sin eso no recibo una notificación de que ha cambiado su pregunta.
AB

Respuestas:

9

El problema es:

libstdc++-4.8-dev : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed

¿Por qué? Es por eso:

  • libstdc++-4.8-dev en los repositorios principales depende de libstdc++-4.8-dev=4.8.2-19ubuntu1

  • libstdc++-4.8-deven el repositorio de actualizaciones depende de libstdc++-4.8-dev=4.8.4-2ubuntu1~14.04, que está instalado en su sistema


¿La solución?

Mi primera opción es habilitar nuevamente el repositorio de actualizaciones:

  • Abrir Software & Updatesy la pestañaUpdates

  • Seleccionar trusty-updatesy trusty-securityy haga clicClose

    Si alguien tiene una versión para el terminal, hágamelo saber.

    ingrese la descripción de la imagen aquí

  • Reload

    ingrese la descripción de la imagen aquí

  • Instalar en pc

    sudo apt-get install g++
    

Mi segunda opción, rebajar

Hmm, diría que es una mala idea =)

AB
fuente
¡Habilitando las actualizaciones y la recarga funciona! gracias.
alecrosic
Estos ya fueron verificados por mí, pero desmarcarlos y volver a verificarlos y luego volver a cargarlos también funciona.
Mitch
0

Debido a que Ubuntu 14.04 de la fuente es demasiado viejo o no está accesible, entonces deberíamos actualizar la fuente. Eso se resolverá. Primero, debemos hacer una copia de seguridad del archivo fuentesources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

Según la versión de Ubuntu para agregar las nuevas fuentes.

  1. Consulta el comando de versión:

    lsb_release -a
    

    Luego imprimirá la información como:

    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 14.04.4 LTS
    Release:    14.04
    Codename:   trusty
    
  2. De acuerdo con el verison para elegir la fuente suitbale y agregar al final del archivo '/etc/apt/sources.list'.

    http://wiki.ubuntu.org.cn/Template:14.04source,
    

    Fuente de Ubuntu 14.04:

    deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
    
  3. Fuente de actualización

    sudo apt-get update
    
  4. Okay

    sudo apt-get install g++
    
Jack ma
fuente