[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