Erro ao abrir GTKWave: “O par domínio / padrão de (.GlobalPreferences, AppleLanguages) não existe”

0

Então baixei um programa chamado GTKWave usando os seguintes comandos:

brew tap homebrew/cask
brew cask install gtkwave

O gtkwave.app está na minha pasta Aplicativos. Um link simbólico gtkwave foi adicionado à minha pasta usr/local/bin . Ele aponta para /Applications/gtkwave.app/Contents/MacOS/gtkwave , que é um arquivo de script. Aqui está o conteúdo do arquivo de script .

Quando executo gtkwave no meu terminal, recebo os seguintes erros:

2018-08-21 23:55:44.863 defaults[58697:4043691] 
The domain/default pair of (.GlobalPreferences, AppleCollationOrder) does not exist
/usr/local/bin/gtkwave: line 77: test: argument expected
/usr/local/bin/gtkwave: line 179: /Users/me//usr/Contents/MacOS/gtkwave-bin: No such file or directory
/usr/local/bin/gtkwave: line 179: exec: /Users/me//usr/Contents/MacOS/gtkwave-bin: cannot execute: No such file or directory

Aqui estão as linhas do arquivo de script em questão:

(77): if test -z ${LANG} -a -n $APPLECOLLATION; then

(179): $EXEC "$bundle_contents/MacOS/$name-bin" $* $EXTRA_ARGS

Parece que os erros na linha 179 são causados por um caminho ruim, o que eu tenho certeza de ajustar algumas variáveis ou algo iria consertar (embora eu não saiba porque eu teria que fazer isso, eu pensei que a instalação do Homebrew era supostamente para ser fácil!

O erro na linha 77 parece ser causado pela coisa (.GlobalPreferences, AppleCollationOrder) , o que eu acho que faz com que $APPLECOLLATION; fique vazio, o que o bash interpreta como um argumento perdido, daí o erro argument expected .

No geral, parece que algo estranho está acontecendo. Eu não sei exatamente qual é a causa raiz. Preciso configurar algumas variáveis de ambiente? Modifique o script? A instalação do Homebrew foi uma bagunça?

EDITAR:

Então aqui está o código em torno da linha 77:

APPLECOLLATION='defaults read .GlobalPreferences AppleCollationOrder'
if test -z ${LANG} -a -n $APPLECOLLATION; then
    if test -f "$I18NDIR/${APPLECOLLATION:0:2}/LC_MESSAGES/$APP.mo"; then
    export LANG=${APPLECOLLATION:0:2}
    fi
fi
if test ! -z $APPLECOLLATION; then
    export LC_COLLATE=$APPLECOLLATION
fi
unset APPLECOLLATION

Quando executo defaults read .GlobalPreferences AppleCollationOrder no meu terminal, obtenho:

2018-08-22 00:05:07.683 defaults[58711:4048137] 
The domain/default pair of (.GlobalPreferences, AppleCollationOrder) does not exist

Assim, esse tipo de explica o primeiro erro, mas agora não tenho certeza de como corrigi-lo ...

EDIT 2:

Aqui estão algumas linhas do arquivo de script que são relevantes para a linha 179 (adicionei as instruções echo em):

echo "\
$0=/usr/local/bin/gtkwave
pwd=/Users/me
name=gtkwave
tmp=/Users/me//usr/local/bin/gtkwave
tmp=/Users/me//usr/local/bin
tmp=/Users/me//usr/local
bundle=/Users/me//usr
bundle_contents=/Users/me//usr/Contents
=$0" echo "pwd='pwd'" name="'basename $0'" echo "name=$name" tmp="'pwd'/$0" echo "tmp=$tmp" tmp='dirname "$tmp"' echo "tmp=$tmp" tmp='dirname "$tmp"' echo "tmp=$tmp" bundle='dirname "$tmp"' echo "bundle=$bundle"

Quando executo gtkwave , isso é o que as instruções echo produzem:

(gtkwave-bin:58972): Pango-WARNING **: couldn't load font ".SF NS Text Not-Rotated 12", falling back to "Sans Not-Rotated 12", expect ugly output.

(gtkwave-bin:58972): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderATSUI', script='common'

(gtkwave-bin:58972): Pango-WARNING **: couldn't load font ".SF NS Text 12", falling back to "Sans 12", expect ugly output.

Assim, parece que o script começa com o caminho absoluto do script, tenta voltar alguns diretórios e, em seguida, acrescenta nomes de pastas ao final.

Acho que o resultado final deve ser bundle_contents=/Applications/gtkwave.app/Contents , mas o roteiro faz um trabalho horrível de chegar lá.

Eu acho que vou ter que modificar essas linhas para produzir o caminho correto, ou talvez apenas hard_code a variável bundle_contents ...

EDIT 3:

Ok, eu fiz algumas edições para que funcione. Aqui está o script final em sua totalidade .

Agora, o que vejo quando executo gtkwave é isso:

brew tap homebrew/cask
brew cask install gtkwave

Nenhuma ideia do que isso significa ou como consertá-lo (a partir de agora), mas as mensagens estão corretas, a saída é bem feia. A fonte é pixel-y e embaçada no visor da retina. Vou procurar em tudo o que o Pango é e como escolher uma fonte ou o que o erro está falando.

    
por rcplusplus 22.08.2018 / 07:04

0 respostas