[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.
Avatar utente
ZeroUno
Staff
Staff
Messaggi: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 10: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 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: 2893
Iscritto il: mer feb 13, 2008 16:19
Slackware: current
Kernel: 3.14.23
Desktop: KDE4
Località: Bulagna
Contatta:

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

Messaggioda 414N » mer apr 07, 2010 10: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
ZeroUno
Staff
Staff
Messaggi: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 11: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
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

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

Messaggioda d4z_c0nf » mer apr 07, 2010 11:50

Quale versione di timidity?

rock

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 12: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
d4z_c0nf
Packager
Packager
Messaggi: 1296
Iscritto il: mar mar 14, 2006 18:07
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce
Località: Salerno

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

Messaggioda d4z_c0nf » mer apr 07, 2010 12: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
ZeroUno
Staff
Staff
Messaggi: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 12: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: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 13: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: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 13: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
conraid
Staff
Staff
Messaggi: 12726
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

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

Messaggioda conraid » mer apr 07, 2010 14: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
ZeroUno
Staff
Staff
Messaggi: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 14: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: 4929
Iscritto il: ven giu 02, 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

Messaggioda ZeroUno » mer apr 07, 2010 14: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


Torna a “Slackware64”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite