Messaggi: 6,921
Discussioni: 266
Registrato: Mar 2015
Reputazione:
367
L'immagine allegata, non c'è.
Messaggi: 1,229
Discussioni: 4
Registrato: Apr 2016
Reputazione:
130
03/06/2020, 17:35
(Questo messaggio è stato modificato l'ultima volta il: 03/06/2020, 18:12 da ippogrifo.)
Il compilatore ti sta indicando un errore dovuto alla ridefinizione di "struct statx......" inizialmente definita in stat.h e poi in qualche modo viene modificata (o tentata) la ridefinizione nel file sorgente utils.c. Verifica la rispondenza dei tipi e delle "voci" (stringhe, vettori, ecc.) che compongono la struttura stessa tra il file header e quella in c (utils.c). Tieni presente che un file header (xxxxx.h) è quello che "comanda"; un sorgente (include xxxxx.h) si deve attenere alle definizioni specificate nell'header.
Tieni presente che nel link si fa riferimento ad un SOC bcm2835.
Messaggi: 58
Discussioni: 24
Registrato: May 2020
Reputazione:
3
03/06/2020, 18:17
(Questo messaggio è stato modificato l'ultima volta il: 03/06/2020, 18:21 da UBt.)
Grazie delle informazioni, ma non sono in grado di comprenderle appieno e soprattutto di rimediare all'errore. Io mi sono limitato a seguire pedissequamente le istruzioni lette nel sito il cui link ho indicato nel primo post.
Ipotizzo che forse manca qualche elemento del compilatore, forse dovuto al fatto che c'è un disallineamento fra la versione del compilatore a mia disposizione (quasi sicuramente l'ultimissima disponibile) e il sorgente (forse creato con un precedente compilatore).
La mia è soltanto un'ipotesi che comunque non sono in grado di verificare, stante la mia scarsa preparazione sull'ambiente raspberry.
Qualche competenza di programmazione, anche a livello abbastanza approfondito, la possiedo, ma non in questo specifico ambiente.
Ad esempio mi era capitato in passato di dover modificare un sorgente da una versione di Python (da 2 a 3 o viceversa, non ricordo bene) modificando "StreanHeader" in "streamheader". Avevo trovato su internet queste precise informazioni ed avevo operato in tal senso. Ma qui le cose sono più complesse.
Avrei bisogno - se fosse possibile - di indicazioni precise di come operare.
Grazie in anticipo per ogni aiuto che mi vorrete dare.
Messaggi: 1,229
Discussioni: 4
Registrato: Apr 2016
Reputazione:
130
03/06/2020, 20:38
(Questo messaggio è stato modificato l'ultima volta il: 03/06/2020, 20:45 da ippogrifo.)
Il link da cui hai seguito la procedura è del 2016, quindi fa riferimento ai primi RPi e quindi non aggiornato ai prodotti di ultima generazione.
I sorgenti sono realizzati con dei text editor (anche se sofisticati), e quindi non hanno nulla a che vedere con un compilatore, il quale invece, in funzione degli aggiornamenti, può essere meno "elastico", ovvero più "ossequioso" al linguaggio ed alla sua sintassi.
Il "C" è un linguaggio potente ma "ferreo": nei file header definisci "l'architettura" di quello che poi pensi di sviluppare per mezzo dei codici sorgente che verranno poi "elaborati" dal compilatore; tutto quello che si discosta da quanto prestabilito nel file header verrà successivamente segnalato come errore. In questo caso vi è una differenza tra la struttura impostata nel file header e quanto poi utilizzato/impostato nel file sorgente.c.
Normalmente la soluzione è nel confronto tra il sorgente che crea l'errore ed il file header (include xxxx.h). La soluzione può anche prevedere la modifica del file header (è anch'esso un file di testo).
Messaggi: 58
Discussioni: 24
Registrato: May 2020
Reputazione:
3
Qualcosa ho capito. Però mi sembra strano che un insieme di files (probabilmente stat.h e utils.c, non ho sottomano l'elenco dei files) distribuiti contemporaneamente nello stesso "pacchetto" non vadano d'accordo insieme.
Domani proverò ad modificarli lievemente; probabilmente una sola modifica potrebbe risolvere il problema.
Messaggi: 1,229
Discussioni: 4
Registrato: Apr 2016
Reputazione:
130
Può essere dovuto al miglioramento del compilatore, ovvero ad una maggiore aderenza dello stesso alle specifiche del linguaggio. Si può evidenziare con l'uso dei deferenziatori e matrici.