[SOLVED] compilaz dipendenze kmid2 a64b:recompile with -fPIC

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

[SOLVED] compilaz dipendenze kmid2 a64b:recompile with -fPIC

Messaggio da ZeroUno »

sto compilando timidy++ per 64bit
ma trovo un errore di compilazione sulle dipendenze.
Per ora drumstick:

Codice: Seleziona tutto

Linking CXX shared library libdrumstick-file.so
cd /tmp/txz/drumstick/drumstick-0.3.0/build/library && /usr/bin/cmake -E cmake_link_script CMakeFiles/drumstick-file.dir/link.txt --verbose=1
/usr/bin/c++  -fPIC -O2 -fPIC -O3 -DNDEBUG  -shared -Wl,-soname,libdrumstick-file.so.0 -o libdrumstick-file.so.0.3.0 CMakeFiles/drumstick-file.dir/include/moc_qsmf.cxx.o CMakeFiles/drumstick-file.dir/include/moc_qwrk.cxx.o CMakeFiles/drumstick-file.dir/src/qsmf.cpp.o CMakeFiles/drumstick-file.dir/src/qwrk.cpp.o -L/usr/lib64/qt/lib -L/tmp/txz/drumstick/drumstick-0.3.0/build /usr/lib64/qt/lib/libQtSvg.so /usr/lib64/qt/lib/libQtGui.so -lpng -lSM -lICE -lXrender -lfreetype -lfontconfig -lXext -lX11 -Wl,-Bstatic -lm -Wl,-Bdynamic /usr/lib64/qt/lib/libQtXml.so /usr/lib64/qt/lib/libQtCore.so -lz -lgthread-2.0 -lglib-2.0 -lgobject-2.0 -Wl,-Bstatic -lrt -Wl,-Bdynamic -lpthread -ldl /usr/lib64/qt/lib/libQtSvg.so /usr/lib64/qt/lib/libQtGui.so -lpng -lSM -lICE -lXrender -lfreetype -lfontconfig -lXext -lX11 -Wl,-Bstatic -lm -Wl,-Bdynamic /usr/lib64/qt/lib/libQtXml.so /usr/lib64/qt/lib/libQtCore.so -lz -lgthread-2.0 -lglib-2.0 -lgobject-2.0 -Wl,-Bstatic -lrt -Wl,-Bdynamic -lpthread -ldl 
/usr/lib64/gcc/x86_64-slackware-linux/4.4.3/../../../../x86_64-slackware-linux/bin/ld: /usr/lib64/gcc/x86_64-slackware-linux/4.4.3/../../../../lib64/libm.a(e_powl.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/lib64/gcc/x86_64-slackware-linux/4.4.3/../../../../lib64/libm.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [library/libdrumstick-file.so.0.3.0] Error 1
make[2]: Leaving directory `/tmp/txz/drumstick/drumstick-0.3.0/build'
make[1]: *** [library/CMakeFiles/drumstick-file.dir/all] Error 2
make[1]: Leaving directory `/tmp/txz/drumstick/drumstick-0.3.0/build'
make: *** [all] Error 2
Mi dice "recompile with -fPIC", ma io già compilo con -fPIC

Come risolvo?

Ciao
01
Ultima modifica di ZeroUno il mer 7 apr 2010, 14:49, modificato 3 volte in totale.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2922
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 15.0
Kernel: 5.15.19
Desktop: KDE5
Località: Bulagna
Contatta:

Re: compilazione timidy++ a 64bit: recompile with -fPIC

Messaggio da 414N »

L'errore si riferisce alla libm di gcc (la libreria math in soldoni), che, a quanto pare, non è stata compilata con il flag di compilazione per PIC.
Dato che tutti gli SlackBuild (ufficiali e non) lo includono (anche inutilmente) per tutte le compilazioni quando ARCH=x86_64, tutto ciò mi sembra piuttosto strano.
Hai aggiornato i pacchetti di gcc di recente?

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: compilazione timidy++ a 64bit: recompile with -fPIC

Messaggio da ZeroUno »

uso la current.

http://ftp.osuosl.org/pub/slackware/sla ... SlackBuild :
x86_64)
OPTIMIZ="-O3 -fPIC"
LIBDIRSUFFIX="64"
;;

libm è compilata con -fPIC
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: compilazione timidy++ a 64bit: recompile with -fPIC

Messaggio da d4z_c0nf »

Quale versione di timidity?

rock

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: compilazione timidy++ a 64bit: recompile with -fPIC

Messaggio da ZeroUno »

timidity++ 2.13.2
gus-patches 20090910
kmid2 2.2.2
drumstick 0.3.0

compile order:
drumstick, gus-patches, timidy++, kmid2

effettivamente drumstick (che al momento è quello che mi da problemi) non è una dipendenza di timidy++ ma di kmid2.

Ciao
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar 14 mar 2006, 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.2-current64
Kernel: 4.14.73
Desktop: awesomeWM
Località: Pinerolo

Re: compilazione timidy++ a 64bit: recompile with -fPIC

Messaggio da d4z_c0nf »

ZeroUno ha scritto:timidity++ 2.13.2
gus-patches 20090910
kmid2 2.2.2
drumstick 0.3.0

compile order:
drumstick, gus-patches, timidy++, kmid2

effettivamente drumstick (che al momento è quello che mi da problemi) non è una dipendenza di timidy++ ma di kmid2.

Ciao
01
Ma perchè kmid2 è una dipendenza di timidity?

Io ho solo le gus-patches per timidity.
Quindi il problema è kmid, mi sa che ti conviene cambiare il titolo, così magari avrai più risposte.
L'unica cosa strana che vedo nel codice postato è che vengono date due volte -fPIC, ma forse questo non è un problema, ma addirittura due diverse direttive -O2 e -O3 e questo mi sa che potrebbe esserlo.

rock

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: compilaz dipendenze kmid2 a 64bit: recompile with -fPIC

Messaggio da ZeroUno »

d4z_c0nf ha scritto:Ma perchè kmid2 è una dipendenza di timidity?
Il viceversa...
A memoria ricordavo male

Per la precisione dovevo compilare kmid2 che richiede timidy e drumstick. timidy necessita solo gus-patches.

Chi mi da fastidio è drumstick. Timidy non lo ho ancora provato.
due diverse direttive -O2 e -O3 e questo mi sa che potrebbe esserlo.
no, non è un problema, innanzitutto perchè gcc prende solo la seconda, poi perchè ho provato anche senza e da lo stesso errore

Ciao
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Re: compilaz dipendenze kmid2 a 64bit: recompile with -f

Messaggio da ZeroUno »

Sono andato a vedere la libreria libm.a e in particolare la libreria e_powl.o contenuta.

Codice: Seleziona tutto

# ldd e_powl.o
ldd: warning: you do not have execution permission for `./e_powl.o'
        not a dynamic executable

# file ./e_powl.o
./e_powl.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped

# strings ./e_powl.o
.symtab
.strtab
.shstrtab
.rela.text
.data
.bss
.rodata
.note.GNU-stack
.rela.eh_frame
infinity
inf_zero
zero
minf_mzero
minfinity
mzero
limit
__ieee754_powl
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: compilaz dipendenze kmid2 a 64bit: recompile with -fPIC

Messaggio da ZeroUno »

Compilato su una 13.0-stable compila perfettamente.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
conraid
Staff
Staff
Messaggi: 13630
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: compilaz dipendenze kmid2 a 64bit: recompile with -fPIC

Messaggio da conraid »

compilano anche su una current 32 bit

comunque kmid2 ha di suo drumstick, e se guardi i sorgenti vedi che sono proprio l'ultima versione
prova a compilare kmid2 direttamente senza drumstick separato e vedi cosa ti dice

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: compilaz dipendenze kmid2 a 64bit: recompile with -fPIC

Messaggio da ZeroUno »

ZeroUno ha scritto:Compilato su una 13.0-stable compila perfettamente.
mmm. no, non è una stable ma una current al primo marzo. In quanto tale ha le stesse glibc e gcc della mia

a questo punto devo avere qualcosa di corrotto.

che kmid2 abbia già drumstik non so... io ho semplicemente visto lo slack-required dai sorgenti su slacky-13.0 e lì c'è scritto che gli serve quel pacchetto.
Controllerò, ma ora indipendentemente da questo devo capire perchè con la mia non compila.

Ciao
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

[SOLVED] Re: compilaz dipendenze kmid2 a 64bit: recompile

Messaggio da ZeroUno »

upgradepkg --reinstall glibc*
e funziona tutto :-)
devo aver pasticciato con le librerie

Ciao
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Rispondi