[SOLVED] XDG_RUNTIME_DIR non impostato

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
gian_d
Linux 2.x
Linux 2.x
Messaggi: 220
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 5.4.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

[SOLVED] XDG_RUNTIME_DIR non impostato

Messaggio da gian_d »

QT5 designer dal menu non si avvia, perciò ho provato da Konsole e mi compare questo avviso:

Codice: Seleziona tutto

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-gian'
Errore di segmentazione
Il problema si presenta con tutti gli account, anche creati di nuovo. All'inizio pensavo che dipendesse dal fatto che ho compilato e installato qt 5.13.2, ma lo stesso identico problema si presenta anche con qt 5.9.2 la cui compilazione è pulita (era uno dei primi slackbuild avviati in un sistema appena installato). Peraltro Qt5 Assistant, Qt5 Linguist e Qt5 D-BUS Debugger si avviano regolarmente. Così come Qt4 designer.

Quale potrebbe essere la causa?
1) configurazione incasinata?
2) configurazione non impostata?
3) pacchetto non installato?
4) altro?
Ultima modifica di gian_d il mer 27 nov 2019, 23:14, modificato 1 volta in totale.

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

Re: XDG_RUNTIME_DIR non impostato

Messaggio da ponce »

quello che ti posso dire e' che il warning di "XDG_RUNTIME_DIR not set" lo da anche a me ma poi parte tranquillamente su un'installazione pulita e completa di slackware64-current su cui ho compilato e installato solo qt5-5.9.8 (e la sua unica dipendenza libxkbcommon) dal repository non ufficiale per current.
non ho idea del perche' a te dia errore di segmentazione.

gian_d
Linux 2.x
Linux 2.x
Messaggi: 220
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 5.4.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

Re: XDG_RUNTIME_DIR non impostato

Messaggio da gian_d »

Mah, purtroppo non posso fare un confronto con una situazione precedente. Appena avrò sistemato una serie di incombenze installerò una current su virtualbox e vedrò cosa succede. Per l'errore di segmentazione non escludo che tutto possa essere causato da Qt 5.13 e poi abbia mandato a quel paese il sistema delle directory temporanee. La cosa strana è che tutto il resto funziona: le altre finestre. Il software che ha Qt5 come dipendenza, in runtime continua a funzionare anche dopo l'upgrade da 5.9.8 a 5.13.2. Devo ancora verificare la ricompilazione del software in dipendenza per vedere se ci sono problemi con la nuova versione di Qt5.
L'installazione non è certo pulita: ho verificato tutte le patch della 5.9.8 rimuovendo tutte quelle superate (quasi tutte) poi ho avviato lo slackbuild della 5.9.8. La compilazione è andata, poi lo slackbuild si è arrestato nelle fasi finali perché c'erano delle modifiche da fare nei comandi sed e nel trasferimento di alcuni file. Per evitare di riavviare la compilazione ho usato una copia dello slackbuild per completare la generazione del pacchetto da lanciare solo per le fasi successive alla compilazione ma ho dovuto procedere per tentativi perché in questo modo venivano alterate le posizioni dei percorsi nella procedura dello script.
Uno dei prossimi giorni riavvierò lo slackbuild mettendo le opportune correzioni in modo che possa completare la compilazione e la generazione del pacchetto senza interruzioni.

Per quanto riguarda l'interfaccia grafica del designer poco male. Non devo usarla se non per curiosità dal momento che sto ancora studiando gli elementi del C++ e per giocherellare più avanti ho sempre le interfacce di code::blocks e di qt4. L'importante è che Qt5 funzioni come dipendenza per la compilazione del software che lo richiede.

A margine, ieri ho visto che Benjamin Trigona, il mantainer dello slackbuild di Qgis, ha aggiornato tutto alla 3.10. Ha fatto un bel lavoraccio, peraltro ha introdotto delle soluzioni che mi incuriosiscono perché ha messo come dipendenza un pacchetto QScintilla-PyQt5 che dovrebbe (credo) sovrapporsi al pacchetto di QScintilla rilasciato dalla current, che non supporta Qt5. Se è come penso è un'ottima soluzione che semplifica sicuramente le cose. Io avevo ricompilato l'intero pacchetto di QScintilla sostituendolo a quello precompilato della current. Poi devo ancora vedere come ha risolto la compatibilità di python3-PyQt5 con QScintilla, cosa che a me ha fatto dannare per un mese

gian_d
Linux 2.x
Linux 2.x
Messaggi: 220
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 5.4.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

Re: XDG_RUNTIME_DIR non impostato

Messaggio da gian_d »

E niente, l'installazione di Qt 5.13.2 è taroccata, sembrava troppo bello per essere vero. Volevo ricompilare i pacchetti che hanno qt5 come dipendenza e ho iniziato da qt5-webkit, ma già dall'inizio mi ha dato un errore.
Ci ho rinunciato e ho rimesso la 5.9.8, inutile sbatterci la testa. Peraltro ho notato che adesso Qt5/designer si avvia tranquillamente. Ieri no, neppure con qt 5.9.8. Boh, chissà che pasticci stavo combinando. E comunque tutto questo spiega anche il segmentation fault.

gian_d
Linux 2.x
Linux 2.x
Messaggi: 220
Iscritto il: mer 16 lug 2014, 17:35
Nome Cognome: Giancarlo Dessì
Slackware: 64 current
Kernel: 5.4.xx
Desktop: KDE 4.14.38
Località: Sardinia
Contatta:

Re: [SOLVED] XDG_RUNTIME_DIR non impostato

Messaggio da gian_d »

Innanzitutto buon natale a tutti, ammesso che ci sia qualche pazzoide (a parte me) che traffichi da queste parti.
Riapro questa discussione per un aggiornamento e per porre un ulteriore quesito. Dopo varie peripezie ho finalmente individuato le cause dei miei problemi.

1. XDG_RUNTIME_DIR
Questo era un problema secondario, come giustamente aveva fatto notare Ponce, non era questo che bloccava l'esecuzione dei programmi. Da quello che ho capito, nella Slackware la directory temporanea di runtime non viene impostata, penso perché (non vorrei sparare cavolate) non dipendendo necessariamente dalle funzionalità di sudo non dovrebbe essere necessaria. Infatti in una installazione su virtualbox ho visto che la variabile d'ambiente comunque non esiste. In ogni modo, volendo si rimedia facilmente impostando XDG_RUNTIME_DIR nel file .bashrc. Io ho fatto così:
export XDG_RUNTIME_DIR="/tmp/runtime-gian.5Uj"

L'avviso non compare più con le piattaforme che usano questa variabile d'ambiente (es. qt5 e vlc)

2. Errore di segmentazione
L'errore di segmentazione restituito da qt5-designer non è causato da compilazioni taroccate. Ho verificato che il segmentation fault si verifica lanciando il designer di qt5-5.13.2 ma anche di qt5-5.9.8. Ma lo stesso errore si ripete anche con l'installazione del pacchetto di qt5-5.9.8 precompilato e distribuito da Ponce.
A questo punto era evidente che il problema era nella configurazione del mio sistema, perciò non ho neppure provato a compilare qt5 in una Slackware virtuale. Per individuare la causa ho avviato il designer con GDB (gdb run /usr/lib64/qt5/bin/designer) e ho ottenuto questo curioso risultato:

Codice: Seleziona tutto

Starting program: /usr/lib64/qt5/bin/designer qt5-designer
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff25bd700 (LWP 25880)]

Thread 1 "designer" received signal SIGSEGV, Segmentation fault.
0x00007fffe17cfe54 in ?? () from /usr/lib64/qt/lib/libQtGui.so.4
Insomma, sembra che la causa sia un conflitto per la coesistenza nel sistema delle librerie Qt4 e Qt5.

Ho quindi disinstallato il pacchetto qt-4.8.7 della current. Il designer di Qt5 si avvia regolarmente, sia con la 5.9.8 sia con la 5.13.2.

3. Questione
A questo punto mi trovo di fronte ad un dubbio atroce. Da parecchio tempo mi sto scontrando con errori di compilazione di software basato su qt5, in particolare con Qgis. Apparentemente sembra che tutto funzioni ma alla fine, al 100% della compilazione, salta fuori un errore di python relativo a oggetti associati all'interfaccia grafica. Le ho provate tutte e l'unica soluzione che sono riuscito ad ottenere è quella di compilare Qgis senza il supporto a python. Ovviamente si tratta di una soluzione invalidante perché molti plugin di Qgis sono dipendenti da python.
Per parecchio tempo ho pensato che la causa fosse in qualche errata installazione di Qt5/PyQt5/QScintilla/sip, anche se poi queste librerie funzionano regolarmente uscendo dal contesto di Qgis. Tuttavia avevo già riscontrato che probabilmente l'errore era generato dalla mancata compilazione dei sorgenti C++ relativi a oggetti associati a QtGui che poi devono essere gestiti da python nella compilazione finale.

A questo punto ho il sospetto fondato che a monte di tutti questi problemi ci sia proprio questo conflitto tra Qt4 e Qt5 nella gestione di QtGui. Probabilmente il problema non si pone nella compilazione di altri programmi (es. Blender, vlc, ecc) perché avranno nel loro codice sorgente impostazioni che esulano da questo contesto, mentre una parte dei sorgenti di Qgis incappano in questo conflitto.

Dopo, per avere conferma del mio sospetto, proverò a ricompilare Qgis senza le librerie Qt4 installate. In ogni modo resta il mio dilemma: cosa farne del pacchetto Qt4? L'interfaccia del designer non mi serve, se non più avanti, ma il pieno supporto a Qt5 come ambiente di sviluppo è comunque indispensabile per la compilazione di programmi ormai basati su questa libreria. D'altra parte credo che la rimozione di Qt4 potrebbe crearmi non pochi problemi con la compilazione di programmi basati su queste librerie, se non addirittura in runtime, cosa che non ho verificato.

Nello stesso tempo ho il sospetto che questo conflitto risieda nella specificità della configurazione del mio sistema. Possibile che capiti solo a me!?

Rispondi