[Gfoss] pericoli mortali da evitare

a.furieri a lqt.it a.furieri a lqt.it
Gio 17 Nov 2011 14:12:13 CET


non so se vi ricordate, ma qualche tempo
fa avevo segnalato ai (molti) che usano
gcc+make di usare l'opzione -j (multithread)
per le build; p.es.
make -j8
in modo tale da parallizzare la compilazione
su tutti i cores fisicamente disponibili, 
ottenendo tempi di compilazione da record.

WARNING: su WinOZ / MinGW / MSYS è un'opzione
che a volte si blocca, ed è *pericolosa*
[immagino che i threads ed i semafori di WinOZ
lascino abbastanza a desiderare rispetto a quelli
di Linux ...]

a me è successo di compilare la openssl-1.0.0e
e di scoprire poi che ottenevo un numero enorme
di errori: non solo "make test" abortiva quasi
immediatamente, ma anche il linker segnalava
un numero enorme di simboli non risolti dentro
alle librerie SSL.

alla fine, prova e riprova, sono ripartito
con una build pulita, questa volta senza
usare il maledetto -j8 
e funziona tutto perfettamente ...

conclusione: make multithread è favolosa
su Linux, ma su MSYS a volte ti frega ;-)

ciao Sandro
 


Maggiori informazioni sulla lista Gfoss