Come risolvere l’errore di compilazione CMake “multiple definition of”

Cerca

Nella mia avventura alla scoperta di EDID, mi stavo dilettando a compilare dai sorgenti il tool read-edid quando mi sono imbattuto in questo errore:

				
					multiple definition of `quiet'; 
CMakeFiles/get-edid.dir/get-edid.c.o:./obj-s390x-linux-gnu/get-edid/./get-edid/get-edid.c:12:
 first defined here
				
			
Dopo qualche ricerca, mi sono imbattuto nella soluzione. Dalla versione GCC10, il default “-fcommon” flag è cambiato in “-fnocommon”. Per fixare il problema è sufficiente quindi attivare -DCMAKE_C_FLAGS=-fcommon quando si esegue cmake.

Caso specifico

Nel mio caso specifico stavo creando uno snap di read-edid, pertanto la soluzione l’ho raggiunta aggiungendo allo snapcraft.yaml il seguente:

				
					
parts:
  read-edid:
    plugin: cmake
    source: read-edid-3.0.2
    cmake-parameters:
      - -DCMAKE_C_FLAGS=-fcommon
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Most Recent

Come creare un watchdog per Cups

In questo scenario ci troviamo su una macchina Linux in cui abbiamo bisogno di monitorare lo stato di Cups e, in caso di crash del

Come eseguire unban di un IP su fail2ban

Se per disgrazia il nostro indirizzo IP da cui ci colleghiamo al nostro server è stato bannato da fail2ban, seguiamo questa guida per ripristinarlo in

Partners