DebuggingEmacs_it
Introduzione
Esistono molteplici pacchetti di Emacs, collettivamente chiamati "Emacsen". Dipendono tutti da un pacchetto chiamato emacsen-common e sono divisi in versioni. Le versioni principali sono GNU Emacs (ossia Emacs FSF; emacs24, emac23 ecc.) e xemacs21. A loro volta sono divisi in più pacchetti, al fine di separare i componenti generici (per i quali un solo pacchetto è necessario) da quelli che dipendono dall'architettura del sistema e componenti consigliati tra quelli opzionali.
Se si desidera una versione Emacs, attualmente la più cosigliata e quella stabile, GNU Emacs (attualmente emacs24). Attualmente emacs-snapshot contiene una relativamente recente e non rilasciata versione dei sorgenti di sviluppo, ma è anche possibile ottenere versioni più recenti da un PPA o da altre risorse. xemacs21 è la versione più vecchia ed oramai non molto attivamente supportata.
Sono disponibile una moltitudine di pacchetti aggiuntivi, molti dei quali supportati in tutte le versioni, ed alcuni che forniscono nuovi e/o differenti versioni dei componenti normalmente inclusi in una installazione base, ad esempio Gnus.
Procedura di debugging
Se Emacs non funziona a dovere, provare ad eseguire emacs -Q per vedere se il problema svanisce. Questa istruzione disabilita la lettura del proprio file .emacs ed altre modifiche locali. Se il problema svanisce è dovuto a qualche personalizzazione locale.
Se si riceve un messaggio di errore da parte di Emacs, è possibile ottenere una traccia che mostri quali funzioni Lisp venivano processate al momento dell'errore. Abilitare il tracciamento con il comando M-: (setq debug-on-error t) ed allegare il file *Backtrace* alla segnalazione.
Logs dell'installazione
Per problemi durante l'installazione, è necessario esaminarne i file di log. Installando con synaptic o update-manager, il log del terminale non è necessario, basterà cercare le informazioni necessarie nei file di sistema. Se l'istallazione problematica è parte di un aggiornamento, il file di log da analizzare sarà /var/log/dist-upgrade/term.log; altrimenti cercare in /var/log/apt/term.log. Per fare ciò saranno necessari i permessi di amministrazione.
Errori dovuti all'installazione di pacchetti
Un apparente errore di Emacs è spesso dovuto all'installazione di qualche pacchetto aggiuntivo che contiene un bug o è incompatibile con la versione di Emacs installata.
`emacs-install: /usr/lib/emacsen-common/packages/install/ecb emacs23 ` failed at /usr/lib/emacsen-common/emacs-install line 28, <TSORT> line 17. `dpkg: error processing emacs23 (--configure): ` subprocess installed post-installation script returned error exit status 1
Che afferma che ecb ne è la causa (bug || 466531)
`dpkg: dependency problems prevent configuration of emacs: ` emacs depends on emacs23 | emacs23-lucid | emacs23-nox; however: ` Package emacs23 is not configured yet. ` Package emacs23-lucid is not installed. ` Package emacs23-nox is not installed. `dpkg: error processing emacs (--configure): ` dependency problems - leaving unconfigured
Ciò significa che un problema precedente ha impedito l'installazione di emacs. È necessario andare a ritroso nel log file per capire cosa è successo.
Errori Byte-compilation
Un particolare tipo di errore durante l'installazione è il byte-compilation error. Con emacs22 ed emacs-snapshot il log nel terminal conterrà un messaggio come questo:
`!! Byte-compilation for <<flavor>> failed!` `!! This indicates a bug in one of the add-on packages` `!! installed on your system, or a bug in Emacs itself.` `!! Please file a bug report against <<flavor>>` `!! and attach the file /tmp/<<flavor>>.<<suffix>>`
Il nome del file sarà differente ogni volta. Questo file è necessario per l'analisi del problema.
Come segnalare bug
È possibile segnalare bug contro Emacs utilizzando Apport.
Esiste anche lo strumento M-x emacs-bug-report ma non è completamente adattato per l'invio di segnalazioni ad Ubuntu.
Bug tags
(Developers: please update this section)
Come eseguire il Triage
I bug riconosciuti da Apport sono generalmente dovuti a pacchetti che hanno fallito l'installazionee solitamente includono allegati i file DpkgTerminalLog o VarDistUpgradeTermLog; Questi file sono i primi da esaminare.
Molto probabilmente conterranno un messaggio d'errore, circa alla fine, che indicherà quale pacchetto ha fallito l'installazione e perchè.
Se questo file è mancante, deve essere richiesto. Vedere una delle seguenti risposte precompilate.
Se il messaggio indica un errore di byte-compilation in un pacchetto aggiuntivo (vedi sopra), il file temporaneo nel messaggio d'errore deve essere allegato alla segnalazione, se non lo è deve essere richiesto. Vedere una delle seguenti risposte precompilate.
Risposte generiche
TODO How to produce and attach a backtrace
Log del terminale mancante
Grazie per avere segnalato questo bug che ci aiuta a rendere Ubuntu migliore. Per poter analizzare questo problema è necessario allegare alla segnalazione il contenuto del file /var/log/apt/term.log.Ricordiamo che normalmente è necessario l'uso dei privilegi sudo per leggere o copiare questo file. |
Log Byte Compilation mancante
Se avete ancora questo file nel vostro sistema, vi preghiamo di allegarlo a questa segnalazione. Comunque i file nella directory /tmp vengono cancellati al riavvio; se il file è stato rimosso, è necessario ripetere l'operazione che ha generato l'errore per poter ottenere il suddetto file. Ricordiamo che il nuovo file generato avrà un nome leggermente diverso ogni volta; fare riferimento alla parte terminale di /var/log/apt/term.log per vedere il nome esatto del file generato. Sono necessari i privilegi sudo per leggere il logfile nel terminale. |
TODO The Bugs/Responses page should include these replies.
Come avanzare
L' upstream fondamentale per i bug in Emacs è http://debbugs.gnu.org/ che esegue lo stesso software di Debian BTS. I pachetti Ubuntu sono generalmente derivati da Debian, quindi Debian è un valido upstream; e ovviamente per i bug della pacchettizzazione Debian è solitamente l'unico upstream.
Bug noti
Descrizione di bug noti che possono ricevere segnalazioni duplicate e come riconoscerle. questa informazioni possono essere ottenute indirizzando la ricerca ai bug taggati come "metabug".
Aperti
Bug |
Soggetto |
Sintomo |
|| 466531 ||ecb incompatibile con emacs-23|| Il processo di post-installazione ha fornito un codice d'uscita diverso da zero. Ovviamente questa potrebbe non essere l'unica ragione.
Chiusi
Bug |
Soggetto |
Sintomo |
update-alternatives: error: alternative path /usr/bin/xemacs21 doesn't exist |
Fixed in a recent version of xemacs21 but still affects people runnng older Ubuntu releases |
|
ocaml-mode: Invalid syntax description flag: "()1n" |
Fixed in a recent version of ocaml but still affects people runnng older Ubuntu releases and xemacs21 |
|
anjsp: Wrong number of arguments: require, 3 |
anjsp is not compatible with xemacs21. It no longer ships with Ubuntu but still affects people running older Ubuntu releases |
|
Group staff missing; Emacs installation failed |
This rare error was never properly debugged, but it did occur more than once |
Non-bug
Attualmente,basandoci su tutte le nostre conoscenze, questo non è un bug in Emacs, ma sovente si manifesta durante la sua installazione:
Bug |
Soggetto |
Sintomo |
Exec format error: package failed to install/remove |
Seems to often affect emacsen-common -- 00debian-vars.el or similar file missing even though package apparently installed. See also bug #582341 |
DebuggingEmacs_it (last edited 2012-10-29 21:25:19 by 91)