Ok, questa veramente non avrei mai voluto doverla scrivere
Mi si verifica il seguente problema.
Cluster, a lavoro.
Ci girano sopra (a seconda della macchina) Red Hat 9, Red Hat Enterprise Linux 5, Suse 9.qualcosa. Sono quattro macchine parallele per calcoli di fluidodinamica - NON sono in parallelo fra di loro, né vengono usate per calcoli combinati, hanno semplicemente un nodone master cui è collegata una serie di più piastre pluriprocessore.
Client, in ufficio.
Sono sistemi Windows credo tutti XP (Vista per fortuna ancora non s'è... visto!) usati per la postprocessazione dei dati elaborati dalle macchine parallele e per tutto il resto del normale lavoro
Porzioni di codice scritte in C++, Fortran77 o Fortran90 vengono amabilmente scambiate/editate via scp/ssh da una macchina all'altra (sia i cluster linux che la roba windows) senza uno straccio di problema.
Trattasi ovviamente di tutti files .C .f77 .f90 che altro non sono che banalissimi files di testo editati con gli editor più disparati (a dir la verità il vecchissimo vi di linux la fa da padrone perché è più comodo usarlo direttamente da shell remota sui cluster)
Esistono tuttavia due laptop, su cui sono installati Ubuntu e Kubuntu (uno dei quali ovviamente è il MIO laptop)
Alcuni (e solo alcuni) dei files C, f90, f77 di cui sopra quando vengono semplicemente copiati (via rete, via penna usb, via posta elettronica, via qualsiasi cosa uno generalmente usi per scambiarsi dei files) manifestano il seguente comportamento: appaiono alla fine di ogni riga dei metacaratteri che gli editor di testo (dal tradizionale "vi" fino a roba più sofisticata e grafica come kate, gedit o openoffice write) visualizzano come "^M" (senza le virgolette)
Vien da sè che:
1. i files che manifestano tale comportamento non hanno all'apparenza nulla di diverso da quelli che non lo manifestano (che sono la maggiorparte)... a dirla tutta sono semplicemente diversi moduli dello stesso codice
2. i compilatori gnu o intel che girano sulle varie macchine ovviamente rispondono a pernacchie quando si tenta di compilare il codice e puntualmente occorre rimuovere a manina tutte 'ste ^M alla fine di ogni maledettissima riga... che ovviamente non si riesce nemmeno a toglierle con la funzione "sostituisci tutto" di un editor di testo, tantomeno con il s/.../... del vi
Qualcuno ha la più pallida idea di cosa diavolo determini questa disgrazia e soprattutto se c'è un modo per evitarla?![]()