upgrade to gcc 4.7
Inviato: sab 14 apr 2012, 17:16
Questo topic è rivolto soprattutto ai pacchettizzatori, ma interessa tutti, quindi non lo metto nell'area riservata.
Non so quanto manchi all'uscita di slackware 14, ma la current al momento usa gcc 4.7
Questo introduce un po' di problemi (v. http://gcc.gnu.org/gcc-4.7/porting_to.html) in quanto alcune funzionalità in stato 'deprecating' fino a poco tempo fa fornivano solamente dei warning in fase di compilazione suppongo, e suppongo altrettanto che molti sviluppatori hanno ignorato la cosa.
Ora che queste sono passate in 'deprecated' molti programmi falliscono la compilazione.
Per esempio, compilando chromium 20 su current mi sono accorto di errori tipo
"ssize_t non dichiarato"
"geteuid non dichiarato"
ecc...,
anche mettendo l'opzione -Dgcc_version=47
Il link di cui sopra suggerisce ai programmatori di aggiungere #include <unistd.h> al codice che da quello che ho capito veniva prima incluso tipo implicitamente in precedenza, o quasi.
Per farla breve, per compilare chromium ho dovuto settare
CXXFLAGS="-include unistd.h"
(non CFLAGS perchè fallivano solo i "g++"; "cc" veniva usato per compilare codice assembler e unistd.h gli dava fastidio)
E se il problema si presenta con chromium 20 (che comunque non ho terminato di compilare per problemi al linking, ma il building è passato correttamente), suppongo che si presenterà anche in altro software
Suggerisco di cominciare a fare qualche test compilando in current.
Non so quanto manchi all'uscita di slackware 14, ma la current al momento usa gcc 4.7
Questo introduce un po' di problemi (v. http://gcc.gnu.org/gcc-4.7/porting_to.html) in quanto alcune funzionalità in stato 'deprecating' fino a poco tempo fa fornivano solamente dei warning in fase di compilazione suppongo, e suppongo altrettanto che molti sviluppatori hanno ignorato la cosa.
Ora che queste sono passate in 'deprecated' molti programmi falliscono la compilazione.
Per esempio, compilando chromium 20 su current mi sono accorto di errori tipo
"ssize_t non dichiarato"
"geteuid non dichiarato"
ecc...,
anche mettendo l'opzione -Dgcc_version=47
Il link di cui sopra suggerisce ai programmatori di aggiungere #include <unistd.h> al codice che da quello che ho capito veniva prima incluso tipo implicitamente in precedenza, o quasi.
Per farla breve, per compilare chromium ho dovuto settare
CXXFLAGS="-include unistd.h"
(non CFLAGS perchè fallivano solo i "g++"; "cc" veniva usato per compilare codice assembler e unistd.h gli dava fastidio)
E se il problema si presenta con chromium 20 (che comunque non ho terminato di compilare per problemi al linking, ma il building è passato correttamente), suppongo che si presenterà anche in altro software
Suggerisco di cominciare a fare qualche test compilando in current.