Problema compilatore GCC

Prossima versione di Ubuntu in fase di sviluppo e test. Per i precedenti rilasci, consultare «Archivio del forum».
Alys_95
Prode Principiante
Messaggi: 32
Iscrizione: mercoledì 3 maggio 2017, 21:38

Problema compilatore GCC

Messaggio da Alys_95 »

Buonasera e mi scuso in anticipo se l'argomento è stato già trattato.

Ieri ho aggiornato ubuntu dalla versione 16.04 LTS alla versione 18.04 e ho riscontrato qualche problema con il compilatore GCC per i programmi C quando do il comando "make". Vi riporto il messaggio del compilatore:

Codice: Seleziona tutto

/usr/bin/ld: correttore_esercizio2.o: relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: link finale non riuscito: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:13: recipe for target 'all' failed
make: *** [all] Error 1
Mentre nel comando "gcc programma.c -o programma" mi genera un file diverso da come lo generava prima. Il file mat è come lo genera adesso, mentre il file puntatori è come lo generava prima.

Grazie in anticipo :D
Allegati
Schermata.png
Schermata.png (5.93 KiB) Visualizzato 2162 volte
Ultima modifica di trekfan1 il sabato 14 aprile 2018, 19:46, modificato 1 volta in totale.
Motivazione: Lo spoiler è sconsigliato nelle sezioni tecniche, usa i tag CODE, ricordalo per il futuro, grazie
Avatar utente
Filoteo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1318
Iscrizione: venerdì 28 agosto 2015, 9:38
Desktop: Gnome
Distribuzione: Arch Linux

Re: Problema compilatore GCC

Messaggio da Filoteo »

Prova a compilare con:

Codice: Seleziona tutto

-fPIE

Si tratta di una misura di sicurezza.

Fonte: https://www.debian.org/releases/stretch ... ow-default
Alys_95
Prode Principiante
Messaggi: 32
Iscrizione: mercoledì 3 maggio 2017, 21:38

Re: Problema compilatore GCC

Messaggio da Alys_95 »

Se compilo -fPIE mi esce
Spoiler
Mostra
make: PIE: File o directory non esistente
make: *** Nessuna regola per generare l'obiettivo "PIE". Arresto.
Ho provato anche ad aggiungerlo nel makefile nel CFLAGS ma niente :cry:
Avatar utente
Filoteo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1318
Iscrizione: venerdì 28 agosto 2015, 9:38
Desktop: Gnome
Distribuzione: Arch Linux

Re: Problema compilatore GCC

Messaggio da Filoteo »

Mi sembra un errore di sintassi, puoi postare il makefile?

Prova anche a reinstallare build-essential:

Codice: Seleziona tutto

sudo apt install --reinstall build-essential
Alys_95
Prode Principiante
Messaggi: 32
Iscrizione: mercoledì 3 maggio 2017, 21:38

Re: Problema compilatore GCC

Messaggio da Alys_95 »

Ho provato a reinstallare build-essential ma nulla

Questo è il makefile:
Spoiler
Mostra
CC=gcc
CFLAGS=--std=gnu99 -Wall
LDFLAGS=-lm
OBJECTS=esercizio3.o
CORR_OBJECTS=correttore_esercizio3.o
#UTILS_DIR=../utils
TARGET_SRC=test_esercizio3.c
TARGET=test_esercizio3

.phony: all clean

all: clean $(CORR_OBJECTS) $(OBJECTS)
$(CC) $(CFLAGS) -o $(TARGET) $(TARGET_SRC) $(CORR_OBJECTS) $(OBJECTS) $(LDFLAGS) -DESERCIZIO_1=1

%.o: %.c
$(CC) -c $(CFLAGS) -o $@ $< $(LDFLAGS)

clean:
rm -f $(OBJECTS) $(TARGET)

AGGIORNAMENTO: ho compilato un altro makefile di un'altra cosa e questa volta è andato tutto liscio, quindi penso che il problema sia quel makefile..
Alys_95
Prode Principiante
Messaggi: 32
Iscrizione: mercoledì 3 maggio 2017, 21:38

Re: Problema compilatore GCC

Messaggio da Alys_95 »

Up

Penso che il compilatore sia entrato in default in c++ perché ho provato a fare un file.c senza main e mi dice che manca il main
Alys_95
Prode Principiante
Messaggi: 32
Iscrizione: mercoledì 3 maggio 2017, 21:38

Re: Problema compilatore GCC

Messaggio da Alys_95 »

Nessuno sa come aiutarmi?
Scrivi risposta

Ritorna a “Bionic Beaver 18.04”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti