kde 3.5.4, kdelibs, kdenetwork e zeroconf

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

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware 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 Slackware, se l'argomento è generale usate il forum 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
linuxboy
Linux 0.x
Linux 0.x
Messaggi: 50
Iscritto il: gio 30 dic 2004, 0:00
Località: Pianeta Terra (SOL3), Via Lattea - UNIVERSO

kde 3.5.4, kdelibs, kdenetwork e zeroconf

Messaggio da linuxboy »

La cosa e' tornata alla ribalta dopo la pubblicazione del package avahi qui su slacky.

Qualcuno ha questo servizio funzionante e abilitato (verifica: aprire conqueror e digitare "zeroconf:/" nella barra indirizzi)?

E se si, come ha fatto?

Leggendo questo wiki:
http://wiki.kde.org/tiki-index.php?page ... 20in%20KDE

ho installato i packages che richiedeva, ricompilato le kdelibs (non senza trovare un problemuccio nei sorgenti, mancava un "unsigned"). Da qualche parte ho letto che si doveva ricompilare anche le kdenetwork. Io ho tentato di ricompilare le kdenewtwork senza riuscirci (non trova un riferimento ad una funzione di libreria e mi sono bloccato cosi', perche' il riferimento invece c'e'... ma e' sospetto perche' e' proprio la funzione che non faceva compilare le kdelibs prima).

Tutto quello che sono riuscito ad ottenere e' che ora konqueror, digitando "zeroconf:/", mentre prima diceva che l'installazione di kde era stata creata senza supporto zeroconf, ora mi dice che:

Codice: Seleziona tutto

Si è verificato un errore durante il caricamento di zeroconf:/:
Impossibile avviare il processo
Impossibile creare un io-slave:
klauncher ha detto: Errore durante il caricamento di "kio_zeroconf".
Idee?

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Da quello che ho capito, si possono usare due soluzioni!

1> usare mDNSresponder della Apple http://www.slacky.it/index.php?option=c ... fo&id=1179 e ricompilare le kdelibs e kdenetwork che abiliteranno il supporto.

2> Senza ricompilare le Kdelibs.

Installare Avahi, Nss-Mdns http://www.slacky.it/index.php?option=c ... fo&id=1162 e poi compilare kdnssd-avahi http://helios.et.put.poznan.pl/~jstacho ... rig.tar.gz

Ho provato la seconda soluzione ma mi da quest'errore in compilazione!

remoteservice.cpp:198:29: remoteservice.moc: No such file or directory
make[2]: *** [libkdnssd_la-remoteservice.lo] Error 1
make[2]: Leaving directory `/root/Desktop/kdnssd/kdnssd-avahi-0.1.2/kdnssd-avahi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Desktop/kdnssd/kdnssd-avahi-0.1.2'
make: *** [all] Error 2
root@argo:~/Desktop/kdnssd/kdnssd-avahi-0.1.2#

Ora che sarebbe sto remoteservice.moc che manca? :roll:

Avatar utente
linuxboy
Linux 0.x
Linux 0.x
Messaggi: 50
Iscritto il: gio 30 dic 2004, 0:00
Località: Pianeta Terra (SOL3), Via Lattea - UNIVERSO

Messaggio da linuxboy »

gohanz ha scritto: Ho provato la seconda soluzione ma mi da quest'errore in compilazione!

remoteservice.cpp:198:29: remoteservice.moc: No such file or directory
make[2]: *** [libkdnssd_la-remoteservice.lo] Error 1
make[2]: Leaving directory `/root/Desktop/kdnssd/kdnssd-avahi-0.1.2/kdnssd-avahi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Desktop/kdnssd/kdnssd-avahi-0.1.2'
make: *** [all] Error 2
root@argo:~/Desktop/kdnssd/kdnssd-avahi-0.1.2#

Ora che sarebbe sto remoteservice.moc che manca? :roll:
Ah, si, anche a me lo fa.

i moc li ottieni, di norma, facendo "analizzare" il file .cpp a "moc", cosa che fa automaticamente qmake.

man moc

moc - generate Qt meta object support code.

Ma se lo applichi a quei cpp, non ottieni nulla, risponde che non ci sono classi rilevanti nel sorgente. Cosi', ho compilato generando (con touch) un file vuoto *.moc per ogni cpp nella directory.

Comunque la prova con avahi e' stata infruttuosa: non solo zeroconf non funzionava (stesso problema di quando ho ricompilato le kdelibs) ma ha smesso di funzionarmi il remote desktop, con il quale controllo alcuni serventi remoti.

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Ho provato anche a compilare le Kdelibs con mDNSresponder ma anche qui mi da errore! :roll:

orType, const char*, const char*, uint16_t, uint16_t, const char*, void*)' to `void (*)(_DNSServiceRef_t*, DNSServiceFlags, uint32_t, DNSServiceErrorType, const char*, const char*, uint16_t, uint16_t, const unsigned char*, void*)'
remoteservice.cpp:105: error: initializing argument 7 of `DNSServiceErrorType DNSServiceResolve(_DNSServiceRef_t**, DNSServiceFlags, uint32_t, const char*, const char*, const char*, void (*)(_DNSServiceRef_t*, DNSServiceFlags, uint32_t, DNSServiceErrorType, const char*, const char*, uint16_t, uint16_t, const unsigned char*, void*), void*)'
make[2]: *** [remoteservice.lo] Error 1
make[2]: Leaving directory `/tmp/tgz/kdelibs-3.5.5/dnssd'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/tgz/kdelibs-3.5.5'
make: *** [all] Error 2

Avatar utente
linuxboy
Linux 0.x
Linux 0.x
Messaggi: 50
Iscritto il: gio 30 dic 2004, 0:00
Località: Pianeta Terra (SOL3), Via Lattea - UNIVERSO

Messaggio da linuxboy »

gohanz ha scritto:Ho provato anche a compilare le Kdelibs con mDNSresponder ma anche qui mi da errore! :roll:
stay tuned.

in questo momento sto finendo di ricompilare kdenetwork.

Se funge, pubblico cosa ho fatto.

Avatar utente
linuxboy
Linux 0.x
Linux 0.x
Messaggi: 50
Iscritto il: gio 30 dic 2004, 0:00
Località: Pianeta Terra (SOL3), Via Lattea - UNIVERSO

Qualche passo avanti...

Messaggio da linuxboy »

In grassetto le modifiche (sono poche).

Qualche altro passo avanti:

Package da installare PRIMA DI INIZIARE A COMPILARE:

avahi-0.6.16-i486-1as.tgz
hspell-1.0-i486-2as.tgz
libdaemon-0.10-i486-2as.tgz
mdnsresponder-107.6-i686-2as.tgz
openslp-1.2.1-i486-2as.tgz
twisted-20061011-noarch-1sl.tgz
xmltoman-0.3-noarch-2as.tgz
zopeinterface-3.1.0c1-noarch-2sl.tgz

tutti qui su slacky.

Procurarsi i sources di kdelibs e kdenetwork 3.5.4, decomprimerli.

In kdelibs, andare nella directory dnssd e applicare (a mano) queste due patch (dove c'e' '-' la riga va rimossa, dove c'e' '+' va aggiunta):

Codice: Seleziona tutto

in remoteservice.cpp

 #include <qeventloop.h>
 #include <qapplication.h>
 at  at  -43,7 +43,7  at  at
  const char                          *hosttarget,
  uint16_t                            port,
  uint16_t                            txtLen,
- const char                          *txtRecord,
+ const unsigned char                 *txtRecord,
  void                                *context
  );
 


 #ifdef HAVE_DNSSD
  DNSServiceRef ref;
  if (DNSServiceResolve(&ref,0,0,m_serviceName.toUtf8(), m_type.toAscii().constData(),
- domainToDNS(m_domain),resolve_callback,reinterpret_cast<void*>(this))
+ domainToDNS(m_domain),(DNSServiceResolveReply)resolve_callback,reinterpret_cast<void*>(this))
  == kDNSServiceErr_NoError) d->setRef(ref);
 #endif
  if (!d->isRunning()) emit resolved(false);



        const char                          *hosttarget,
        uint16_t                            port,
        uint16_t                            txtLen,
-       const char                          *txtRecord,
+       const unsigned char                 *txtRecord,
        void                                *context
  )
 { 
Ritornare ora nella directory superiore (kdelibs) e compilare con queste istruzioni (incorporabili facilmente in uno slackbuild, se vuoi):

Codice: Seleziona tutto

export ARCH=i486
export CPUOPT="-O2 -march=i486 -mtune=i686"
export TARGET=i486

CFLAGS=$CPUOPT CXXFLAGS=$CPUOPT ./configure --prefix=/opt/kde --with-ssl-dir=/usr --with-xinerama --disable-debug --disable-libfam --enable-dnotify --program-prefix="" --program-suffix=""  $TARGET-slackware-linux

make
make install
In kdenetwork, bisogna solo ricompilare con queste istruzioni:

Codice: Seleziona tutto


export ARCH=i486
export CPUOPT="-O2 -march=i486 -mtune=i686"
export TARGET=i486

CFLAGS=$CPUOPT CXXFLAGS=$CPUOPT ./configure --prefix=/opt/kde --with-xinerama --disable-debug --program-prefix="" --program-suffix=""  $TARGET-slackware-linux

make
make install
Conclusione: kdelibs e kdenetwork sembrano essere correttamente funzionanti, ora.

Fatto cio', occorre avviare il demone mdns.

da root:

/etc/rc.d/rc.mdns start

Fatto, o almeno, fatto tutto il possibile.

Aprendo konqueror e digitando "zeroconf:/" per accedere al kio_slave relativo, ora il sistema non da piu' errori.

Ma ZeroConf continua a non andare. Infatti, qualsiasi servizio tenti di pubblicare qualcosa sulla rete zeroconf, non ci riesce e il kio_slave mostra una finestra inesorabilmente vuota.
Ultima modifica di linuxboy il dom 31 dic 2006, 15:21, modificato 1 volta in totale.

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Messaggio da gohanz »

Ma non è che sia qualche problema con il pacchetto di mdnsresponder dovrei riprovare a compilare in maniera classica lo stesso.In ogni caso complimenti per le patch! ;)

Avatar utente
linuxboy
Linux 0.x
Linux 0.x
Messaggi: 50
Iscritto il: gio 30 dic 2004, 0:00
Località: Pianeta Terra (SOL3), Via Lattea - UNIVERSO

Messaggio da linuxboy »

gohanz ha scritto:Ma non è che sia qualche problema con il pacchetto di mdnsresponder dovrei riprovare a compilare in maniera classica lo stesso.In ogni caso complimenti per le patch! ;)
ho aggiornato il messaggio precedente.

Per ora getto la spugna.

Rispondi