gpp non riconosciuto

Ieri ho installato C++ col seguente comando:

# yum install gpp

L’installazione è stata completata se nza difficoltà. Tuttavia, quando da utente comune ho provato a compilare il mio primo esercizio in C++, ho ricevuto il seguente messaggio di errore:

$ gpp Ese_somma.cpp -o Ese_somma bash: gpp: comando non trovato...

Non capisco, eppure secondo quando letto nelle guide di C++, dovrebbe avviarsi il compilatore di C++.

gpp sta per GNOME Photo Printer. A te serve un compilatore C++ (il comando c++ o g++ è fornito dal pacchetto gcc-c++).

Grazie. Ho installato e provato: funziona!
Da solo non ci sarei mai arrivato.

Quello che manca, secondo me, è una bella tabella di corrispondenza fra “Nome-cmune del pacchetto” e “Nome-fedora del pacchetto”. Infatti ogni volta che mi capita di dovere installare un pacchetto, per me nuovo, incontro sempre timore di non farcela e difficoltà, anche insormontabili, come per il C++.
Ciao.

mi pare che il buon marcomotta mi pare si fosse divertito a creare un qualcosa di simile :wink:

[quote=punico]Grazie. Ho installato e provato: funziona!
Da solo non ci sarei mai arrivato.

Quello che manca, secondo me, è una bella tabella di corrispondenza fra “Nome-cmune del pacchetto” e “Nome-fedora del pacchetto”. Infatti ogni volta che mi capita di dovere installare un pacchetto, per me nuovo, incontro sempre timore di non farcela e difficoltà, anche insormontabili, come per il C++.
Ciao.[/quote]

Figurati.

In futuro, se volessi un certo file od eseguibile, puoi usare il comando yum provides per sapere quale pacchetto lo contiene. Ad esempio:

$ yum provides g++

Se vedi tanti pacchetti con lo stesso nome e con versione o architettura diversa, è normale: vedrai quello per la tua architettura, quello compatibili (ad esempio i686 se hai installato Fedora x86_64), quello del repository principale e quello del repository degli aggiornamenti (in parole povere puoi ritrovarti lo stesso file fornito da quattro pacchetti diversi).
Questo comando torna molto utile anche quando vuoi compilare un programma e ti manca un file .h che non sai dove andare a pescare.

Se usi dnf, la sintassi da usare è leggermente diversa (in realtà puoi usarla anche con yum, ma il risultato è un po’ diverso):

$ dnf provides */g++

Volendo si potrebbero escludere dai risultati i pacchetti per i686 (nel caso si usi x86_64) e non estendere la ricerca al repository updates (quello che non contiene gli aggiornamenti).

$ dnf provides */g++ --disablerepo=updates --exclude=*.i686

(volendo al posto di --exclude=*.i686 si può utilizzare -x *.i686)

Infine, se è un eseguibile quello che ci interessa, è praticamente scontato debba essere presente nel $PATH, quindi potremmo ulteriormente restringere la ricerca, in questo modo:

$ dnf provides /{usr/,}{s,}bin/g++ --disablerepo=updates --exclude=*.i686

Sul mio portatile (che ha quasi 5 anni), se la lista dei file del repository è già stata scaricata, il comando viene eseguito in soli due secondi. Stranamente yum ci mette meno della metà del tempo: credo sia legato al controllo dei metadati.

Nota per chi conosce meglio di me dnf e le sue regressioni rispetto a yum: ho installato gcc-c++ su f21 pescando da f22 e nei risultati di dnf provides mi viene mostrato il pacchetto installato sotto il repository @System, mentre yum me lo mostra sotto @fedora/22. Può essere legato a questo vecchio bug? https://bugzilla.redhat.com/show_bug.cgi?id=977753
Se qualcuno ne sapesse di più e volesse scrivermi in privato qui o sulla chat o volesse direttamente segnalare questo possibile bug è il benvenuto.

Guarda il secondo commento del bugreport
https://bugzilla.redhat.com/show_bug.cgi?id=1209525

[quote=Caterpillar]Guarda il secondo commento del bugreport
https://bugzilla.redhat.com/show_bug.cgi?id=1209525[/quote]

Ciao Caterpillar. Potrebbe essere relativo/riferibile a http://dnf.readthedocs.org/en/latest/user_faq.html#why-do-i-get-different-results-with-dnf-upgrade-vs-yum-update?