Cómo buscar en qué paquete está contenido un comando no instalado en SUSE Linux.
Si queremos compilar un programa escrito en C++ necesitaremos el compilador g++. Si ejecutamos g++ en un SLES recién instalado, nos encontraremos con el siguiente error:
HOST# g++
If 'g++' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf g++
Como nos dice el texto, podemos usar la utilidad "command-not-found" o "cnf" exclusiva de las distintas distribuciones de SUSE Linux para averiguar en qué paquete se encuentra un determinado binario.
Buscamos en qué paquete se encuentra "g++":
HOST# cnf g++
The program 'g++' can be found in the following package:
* gcc-c++ [ path: /usr/bin/g++, repository: zypp (Basesystem_Module_15_SP1_x86_64:SLE-Module-Basesystem15-SP1-Pool) ]
Try installing with:
zypper install gcc-c++
Llegados a este punto, solo nos queda instalar el paquete sugerido siguiendo las instrucciones proporcionadas por el output del paso anterior.
En este caso, instalamos el paquete "gcc-c++" el cual incluye el binario "g++":
HOST# zypper install gcc-c++
RRefreshing service 'Basesystem_Module_15_SP1_x86_64'.
Refreshing service 'Desktop_Applications_Module_15_SP1_x86_64'.
Refreshing service 'Development_Tools_Module_15_SP1_x86_64'.
Refreshing service 'SUSE_Linux_Enterprise_Server_15_SP1_x86_64'.
Refreshing service 'SUSE_Package_Hub_15_SP1_x86_64'.
Refreshing service 'Server_Applications_Module_15_SP1_x86_64'.
Refreshing service 'Web_and_Scripting_Module_15_SP1_x86_64'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 2 NEW packages are going to be installed:
gcc-c++ gcc7-c++
2 new packages to install.
Overall download size: 8.9 MiB. Already cached: 0 B. After the operation, additional 23.9 MiB
will be used.
Continue? [y/n/v/...? shows all options] (y):
Cuando finalice la instalación, ya podremos compilar proyectos de C++ con g++.
0 comentarios:
Publicar un comentario