[RISOLTO] - Building for dummies

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
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

[RISOLTO] - Building for dummies

Messaggio da shoshin »

Salve,

su desktop ho Slackware 14.0 kernel-huge-3.2.45, XFCE (che lascierò per Razor-Qt) e stò compilando i vari moduli per tirare su Compiz. Ovviamente tali moduli li stò prendendo da Slackbuild.org.

Nel compilare il 3°modulo (come riportato qui [0]) ottengo il seguente errore:

Codice: Seleziona tutto

make[2]: Entering directory `/home/denshi/scaricati/compiz/libcompizconfig/libcompizconfig-0.8.8/src'
/bin/sh ../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -I../include -I../src -DPLUGINDIR=\"/usr/lib64/compiz\" -DMETADATADIR=\"/usr/share/compiz\" -DLIBDIR=\"/usr/include/compiz\" -DUSE_PROTOBUF=1 -DSYSCONFDIR=\"/usr/local/etc\"    -g -O2 -MT compiz.lo -MD -MP -MF .deps/compiz.Tpo -c -o compiz.lo compiz.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I/usr/include/libxml2 -I../include -I../src -DPLUGINDIR=\"/usr/lib64/compiz\" -DMETADATADIR=\"/usr/share/compiz\" -DLIBDIR=\"/usr/include/compiz\" -DUSE_PROTOBUF=1 -DSYSCONFDIR=\"/usr/local/etc\" -g -O2 -MT compiz.lo -MD -MP -MF .deps/compiz.Tpo -c compiz.cpp  -fPIC -DPIC -o .libs/compiz.o
compiz.cpp:44:25: fatal error: compiz-core.h: No such file or directory
compilation terminated.
make[2]: *** [compiz.lo] Error 1
lanciando un locate compiz-core.h lo trovo sotto /usr/include/compiz

Su G. non ho trovato nulla che mi spiegasse il problema e comunque ho aperto il topic focalizzandomi sul capire la compilazione perchè in queste situazioni mi ci sono già trovato altre volte, ma non sono mai riuscito a risolverle.

Ho provato a spacchettare il sorgente libcompizconfig-0.8.8 e passando al ./configure varie opzioni (ovviamente una per volta):
--includedir=/usr/include/compiz oppure
--libdir=/usr/include/compiz, oppure
--prefix=/usr

ma non ho risolto nulla. Ho poi creato un link simbolico dentro la directory src con ln -s /usr/include/compiz/compiz-core.h compiz-core.h e l'errore si è spostato sul file compiz-plugin.h che viene richiamato da compiz-core.h, ma che essendo su un altro percorso (anche questo sotto /usr/include/compiz), non lo trova. Possibile che mi tocca creare n link simbolici per tutti i moduli che stanno da altre parti? non credo che questa possa essere la soluzione più corretta e pulita.

Grazie in anticipo a tutti.

Davide

[0] - http://slackbuilds.org/slackbuilds/14.0 ... fig/README
Ultima modifica di shoshin il mar 9 lug 2013, 0:15, modificato 1 volta in totale.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Building for dummies

Messaggio da ilmich »

ma l'errore che hai postato è l'output dello slackbuild che hai provato a modificare?!?! perchè a me non mi tornano alcune cose.

Codice: Seleziona tutto

-DLIBDIR=\"/usr/include/compiz\"
eppoi ti manca qualcosa tipo

Codice: Seleziona tutto

-I/usr/include/compiz
ora da cosa puo' dipendere questa cosa è variabile, nel senso che io ho provato a seguire il tuo iter tramite slackbuild e compila correttamente.
probabilmente nel tuo caso il sorgente fatica a trovare il pacchetto compiz.
sicuramente le opzioni che hai provato a configurare non servono, nel senso che questo pacchetto usa gli autotools per compilare, un set di software che esiste da un po' ed è usato come 'standard' per la compilazione di programmi.
le opzioni che hai modificato servono ad indicare dove vuoi che vengano INSTALLATE le librerie e gli header non dove il sistema deve andare a cercare quelle di cui hai bisogno.

il consiglio che ti do io è di rimettere lo slackbuild com'era.. lanciarlo e se ti da' lo stesso errore andare nella directory

Codice: Seleziona tutto

/tmp/SBo/nome-pacchetto/
e spulciare il file config.log, cercando la parola COMPIZ (distingui tra maiuscole e minuscole).
il file che ti ho suggerito di spulciare è il log che gli autotools scrivono quando 'configurano' il sorgente per essere compilato. di solito errori relativi a pacchetti mancanti o comunque nn rilevati li trovi qui' dentro.

se noti qualcosa di strano postane il contenuto e vediamo che si puo' fare :D
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: Building for dummies

Messaggio da shoshin »

L'output che ho riportato é stato generato dallo SlackBuild. Poi non sapendo come interagire, ho preso il sorgente e ho provato a compilarlo a mano.
Ad ogni modo, il messaggio di errore mi viene fuori in fase di make, indipendentemente dai parametri che passo al ./configure

Grazie dei toui consigli, domani provo e ti aggiorno sulla situazione.

Una domanda, in questo caso, centra qualcosa il pkgconfig? perché su alcuni Slackbuilds, ho dovuto passare dei parametri appunto al pkgconfig.

Grazie dell' aiuto.

Davide

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: Building for dummies

Messaggio da shoshin »

Ciao Miklos,

ho controllato il file /tmp/SBo/libcompizconfig-0.8.8/config.log (che ho allegato) e non trovo nulla di strano, ossia fà una miriade di check su componenti che ovviamente trova, e conclude con configure: exit 0 (che suppongo 0 sia exit status ok).

La cosa che mi sembra strana è che in config.log, non trovo alcun riferimento su check o operazioni di compilazione relativi al file compiz-core.h
A te la compilazione gira senza problemi, potresti fare un riscontro sul tuo config.log?

Grazie di nuovo :)

Davide
Allegati
config.log
(46.72 KiB) Scaricato 129 volte

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Building for dummies

Messaggio da ilmich »

shoshin ha scritto:Una domanda, in questo caso, centra qualcosa il pkgconfig? perché su alcuni Slackbuilds, ho dovuto passare dei parametri appunto al pkgconfig.
se per pkgconfig intendi il pacchetto pkg-config e relativo comando si.. in questo caso viene utilizzato per rilevare la presenza di compiz e ricavare i flag per la compilazione (header e librerie)
se hai modificato quello di compiz (ma essendo un pacchetto ufficiale non ne vedo il motivo.. anche se, tutto puo' essere ;) ) potrebbe darsi che lo hai modificato in modo scorretto.

ad ogni modo, in attesa di tue ulteriori notizie, in veste di pacchettizzatore che ne ha viste tante, ogniqualvolta ti capitano di queste circostanze la soluzione piu' pulita e che nn intacca pacchetti pre-installati e aggiungere i flags tramite la variabile CFLAGS e CXXFLAGS. qualcosa tipo

Codice: Seleziona tutto

CFLAGS="-I/usr/include/compiz" ./configure
cosi' facendo in fase di compilazione oltre ai flag che il configure si calcola automaticamente, vengono aggiunti quelli che hai specificato in questa variabile. una volta risolto il problema modificare lo slackbuild è banale perchè essendo utilizzati il piu' delle volte si tratta di cercare CFLAGS o CXXFLAGS e modificarli secondo le tue esigenze.

ad ogni modo sto cercando di trasmetterti quello che so io in materia perchè lo hai chiesto esplicitamente a inizio post :D
Pero' io nel tuo caso sono riuscito a compilare il tutto senza bisogno di toccare/modificare nulla quindi al momento il tuo problema mi resta comunque un po' strano.

ciau

EDIT: ho letto ora la tua risposta.. ora vedo :D
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Building for dummies

Messaggio da ilmich »

ho dato uno sguardo al tuo log e come immaginavo la libreria compiz viene 'cercata' tramite pkg-config.
infatti se cerchi nel log la chiave COMPIZ (tutto maiuscolo) troverai ad un certo punto questo (l'ho estratto dal tuo log)

configure:17123: checking for COMPIZ
configure:17130: $PKG_CONFIG --exists --print-errors ""compiz""
configure:17133: $? = 0
configure:17146: $PKG_CONFIG --exists --print-errors ""compiz""
configure:17149: $? = 0
configure:17206: result: yes

poi pero' dopo vedo questo

COMPIZ_CFLAGS=''
COMPIZ_LIBS=''

quindi qualcosa nn è andato bene. ora faccio una prova sul mio picci e ti faccio sapere

EDIT: intanto da console prova a dare questo comando

pkg-config --cflags --libs compiz

e vedi che ti dice.
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

Re: Building for dummies

Messaggio da shoshin »

Il comando

pkg-config --cflags --libs compiz mi riporta quanto di seguito:

Codice: Seleziona tutto

denshi@TRENO-118:~$ pkg-config --cflags --libs compiz
Package kbproto was not found in the pkg-config search path.
Perhaps you should add the directory containing `kbproto.pc'
to the PKG_CONFIG_PATH environment variable
Package 'kbproto', required by 'X11', not found
che però non trovo, quindi suppongo che dovrò installare.
Inoltre volevo farti una domanda: dove e come lo passo il comando che mi hai riportato?

Codice: Seleziona tutto

CFLAGS="-I/usr/include/compiz" ./configure
Grazie mille! :)

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Building for dummies

Messaggio da ilmich »

beh diciamo che l'errore è piuttosto esplicativo.. nel senso che mancandoti questo pacchetto non ti restituisce i valori corretti.
infatti compiz dipendendo da altri pacchetti quando gli vai a chiedere, tramite pkg-config, i flag che servono per compilare correttamente ti dice che non ne è in grado visto che mancano alcune librerie.
io se lo lancio sul mio picci infatti ricevo le stringhe corrette.

aggiungendo questo pacchetto ora vedrai che (a meno che non te ne manchino altri) risponde in modo corretto e tutto si risolve senza alcun bisogno di aggiustare lo slackbuild.
ora tu dirai.. eh ma perchè allora non me lo ha detto in fase di configure?!?!? presto detto.. se guardi il configure.log per testare l'esistenza di compiz viene eseguito il comando

$PKG_CONFIG --exists --print-errors ""compiz""

che controlla l'esistenza del pacchetto, ma non nel senso piu' naturale del termine (che sarebbe c'e' e funziona).. questo comando controlla che esista tra i vari file usati da pkg-config quello relativo a compiz.. che come hai vissuto sulla tua pelle non è la stessa cosa :D
shoshin ha scritto:Inoltre volevo farti una domanda: dove e come lo passo il comando che mi hai riportato?

Codice: Seleziona tutto
CFLAGS="-I/usr/include/compiz" ./configure

il comando che ti ho riportato è un esempio che devi lanciare all'interno del sorgente.
insomma prima hai scritto che lanciavi il ./configure manualmente dopo aver estratto il sorgente.. ti ho suggerito un possibile modo per, nei casi come questo ma senza soluzione cosi' semplice, aggiungere parametri in compilazione senza dover maneggiare troppo con link simbolici o file di configurazione di altri pacchetti.

ciau
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3026
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Building for dummies

Messaggio da ponce »

shoshin, forse ti è sfuggito, ma gli script su SlackBuilds.org hanno come prerequisito un'installazione full dell'ultima versione stabile di slackware: ogni altra piattaforma (comprese installazioni parziali) non è supportata.

Avatar utente
shoshin
Linux 0.x
Linux 0.x
Messaggi: 23
Iscritto il: ven 27 nov 2009, 23:12
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10
Località: Roma

[RISOLTO] Re: Building for dummies

Messaggio da shoshin »

Compiz compilato e funzionante!

Ho risolto scaricato kbproto il cui .pc mi si è installato sotto /usr/local/lib64/pkg-config anziché sotto /usr/local/lib64/pkg-config credo perchè ho lanciato il ./configure senza --prefix=/usr (comunque risolto con un link simbolico).

Unico neo, il ccsm che lo ha compilato correttamente, ma installando il .tgz mi ha riportato il seguente messaggio di errore:

Codice: Seleziona tutto

Executing install script for ccsm-0.8.4-x86_64-1_SBo.tgz.
install/doinst.sh: line 3:  8791 Segmentation fault      /usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor > /dev/null 2>&1
Package ccsm-0.8.4-x86_64-1_SBo.tgz installed.
ma se lancio

Codice: Seleziona tutto

/usr/bin/gtk-update-icon-cache -f -t usr/share/icons/hicolor > /dev/null 2>&1
sembra funzionare.

Ad ogni modo grazie mille Miklos dell' aiuto!!

@Ponce non è che mi è sfuggito, è che non lo sapevo proprio della prerogativa del sistema full. Altra cosa imparata! Grazie anche a te!

:thumbright:

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Building for dummies

Messaggio da ilmich »

shoshin ha scritto:Ho risolto scaricato kbproto il cui .pc mi si è installato sotto /usr/local/lib64/pkg-config anziché sotto /usr/local/lib64/pkg-config credo perchè ho lanciato il ./configure senza --prefix=/usr (comunque risolto con un link simbolico).
ma te lo sei compilato da solo per 'divertimento' o cosa?!?! :D
quel pacchetto fa parte della slackware ufficiale.. per questo ponce sottolineava il fatto che tipicamente gli slackbuild presi da slackbuilds.org sono 'garantiti' se hai installato una full oppure sai perfettamente cosa fare.

comunque lieto di esserti stato utile :)
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Rispondi