[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux_var] Errore in fase di linking



Sto compilando del codice scritto da me.
Il programma non da nessun problema su PPC e x86, ma su AMD64 hnon va:
quando lancio make l'operazione fallisce col seguente messaggio

/usr/bin/ld: ../../lib/libssim.a(rand_o_matic.o): relocation
R_X86_64_32S against `a local symbol' can not be used when making a
shared object; recompile with -fPIC
../../lib/libssim.a: could not read symbols: Bad value

Ho aggiunto al Makefile della directory in questione l'opzione -fPIC
come suggerito ma la situazione non sembra migliorare

qua' sotto il Makefile:

SRCS    := $(wildcard *.c)
OUTPATH := ../../bin/initializers/
BINS    := $(SRCS:.c=.o)
OUTS    := $(addprefix $(OUTPATH), $(SRCS:.c=.so))
INCLUDE := -I../../lib/include
LDFLAGS := -L../../lib -lssim
CFLAGS  := $(INCLUDE)

.PHONY: all clean

all: $(OUTS)

$(OUTS): $(OUTPATH) $(BINS)

$(OUTPATH):
        mkdir $(OUTPATH)

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

$(OUTPATH)%.so: %.o
        $(CC) -shared -fPIC -Wl,-soname=$@ -Wall -o $@ $< $(LDFLAGS)
clean:
        $(RM) *.o
        $(RM) -r $(OUTPATH)

ora... qualcuno ha idea su cosa debba fare?
grazie

by aL


-- 
Per cancellare l'iscrizione: <talking-unsubscribe at ml.linuxvar.it>
Archivi web e configurazione: http://ml.linuxvar.it/ml/