Repository 32bit  Forum
Repository 64bit  Wiki

[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.

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

Messaggioda ZeroUno » mer apr 07, 2010 9:08

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 apr 07, 2010 13: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
ZeroUno
Staff
Staff
 
Messaggi: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda 414N » mer apr 07, 2010 9:53

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
414N
Iper Master
Iper Master
 
Messaggi: 2881
Iscritto il: mer feb 13, 2008 16:19
Località: Bulagna
Slackware: 14.0 (x64)
Kernel: 3.2.29
Desktop: LXDE

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

Messaggioda ZeroUno » mer apr 07, 2010 10:45

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
ZeroUno
Staff
Staff
 
Messaggi: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda d4z_c0nf » mer apr 07, 2010 10:50

Quale versione di timidity?

rock
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

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

Messaggioda ZeroUno » mer apr 07, 2010 11:22

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
ZeroUno
Staff
Staff
 
Messaggi: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda d4z_c0nf » mer apr 07, 2010 11:35

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
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

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

Messaggioda ZeroUno » mer apr 07, 2010 11:56

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: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda ZeroUno » mer apr 07, 2010 12:02

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: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda ZeroUno » mer apr 07, 2010 12:33

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
ZeroUno
Staff
Staff
 
Messaggi: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda conraid » mer apr 07, 2010 13:00

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
conraid
Staff
Staff
 
Messaggi: 12002
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

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

Messaggioda ZeroUno » mer apr 07, 2010 13:35

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: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current

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

Messaggioda ZeroUno » mer apr 07, 2010 13:47

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
Avatar utente
ZeroUno
Staff
Staff
 
Messaggi: 4387
Iscritto il: ven giu 02, 2006 13:52
Località: Roma / Castelli
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current


Torna a Slackware64

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti