Repository 32bit  Forum
Repository 64bit  Wiki

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

[RISOLTO] - Building for dummies

Messaggioda shoshin » mar lug 02, 2013 17:31

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 lun lug 08, 2013 23:15, modificato 1 volta in totale.
Avatar utente
shoshin
Linux 1.0
Linux 1.0
 
Messaggi: 22
Iscritto il: ven nov 27, 2009 23:12
Località: Roma
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10

Re: Building for dummies

Messaggioda miklos » mar lug 02, 2013 19:33

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
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: Building for dummies

Messaggioda shoshin » mar lug 02, 2013 23:40

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

Re: Building for dummies

Messaggioda shoshin » mer lug 03, 2013 8:52

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 31 volte
Avatar utente
shoshin
Linux 1.0
Linux 1.0
 
Messaggi: 22
Iscritto il: ven nov 27, 2009 23:12
Località: Roma
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10

Re: Building for dummies

Messaggioda miklos » mer lug 03, 2013 9:01

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
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: Building for dummies

Messaggioda miklos » mer lug 03, 2013 9:49

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.
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: Building for dummies

Messaggioda shoshin » mer lug 03, 2013 11:59

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! :)
Avatar utente
shoshin
Linux 1.0
Linux 1.0
 
Messaggi: 22
Iscritto il: ven nov 27, 2009 23:12
Località: Roma
Slackware: 14.0
Kernel: 3.7.7
Desktop: xfce-4.10

Re: Building for dummies

Messaggioda miklos » mer lug 03, 2013 13:23

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
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2

Re: Building for dummies

Messaggioda ponce » mer lug 03, 2013 13:56

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
ponce
Linux 3.x
Linux 3.x
 
Messaggi: 1485
Iscritto il: mer mar 05, 2008 16:45
Località: limbo
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 3.17-rc3
Desktop: lxde

[RISOLTO] Re: Building for dummies

Messaggioda shoshin » gio lug 04, 2013 17:43

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

Re: Building for dummies

Messaggioda miklos » gio lug 04, 2013 21:45

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 :)
ho visto cose che voi astemi non potete immaginare
miklos
Linux 3.x
Linux 3.x
 
Messaggi: 1207
Iscritto il: lun lug 16, 2007 16:39
Località: Roma
Slackware: 14.1 64bit
Kernel: 3.12.6
Desktop: openbox 3.5.2


Torna a Slackware64

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite