Поэтому я скачал программу GTKWave, используя следующие команды:

brew tap homebrew/cask
brew cask install gtkwave

gtkwave.app находится в моей папке приложений. Символическая ссылка gtkwave была добавлена в мою папку usr/local/bin . Он указывает на /Applications/gtkwave.app/Contents/MacOS/gtkwave который является файлом сценария. Вот содержимое указанного файла скрипта .

Когда я запускаю gtkwave в моем терминале, я получаю следующие ошибки:

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

Вот строки из рассматриваемого файла скрипта:

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

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

Похоже, что ошибки в строке 179 вызваны неправильным путем, который, я уверен, подправил некоторые переменные или что-то исправило бы (хотя я не знаю, почему мне это нужно, я думал, что установка из Homebrew должна была быть легкой !).

Ошибка в строке 77, кажется, вызвана (.GlobalPreferences, AppleCollationOrder) вещь, которая, как мне кажется, вызывает $APPLECOLLATION; быть пустым, что bash интерпретирует как отсутствующий аргумент, следовательно, argument expected ошибки.

В целом, похоже, что-то шаткое происходит. Я не знаю точно, в чем причина. Нужно ли настраивать некоторые переменные среды? Изменить скрипт? Установка Homebrew испортилась?

 

РЕДАКТИРОВАТЬ:

Итак, вот код, окружающий строку 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

Когда я бегу по defaults read .GlobalPreferences AppleCollationOrder в моем терминале я получаю:

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

Так что вроде объясняет первую ошибку, но теперь я не уверен, как ее исправить ...

 

РЕДАКТИРОВАТЬ 2:

Итак, вот несколько строк из файла сценария, которые относятся к строке 179 (я добавил операторы echo в):

echo "\$0=$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"

Когда я запускаю gtkwave , вот что выдают эти 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

Таким образом, похоже, что сценарий начинается с абсолютного пути сценария, пытается вернуться на несколько каталогов, а затем добавляет имена папок в конец.

Я думаю, что конечный результат должен быть bundle_contents=/Applications/gtkwave.app/Contents , но сценарий делает ужасную работу по достижению этого.

Я думаю, мне придется изменить эти строки, чтобы получить правильный путь, или, может быть, просто hard_code переменной bundle_contents ...

 

РЕДАКТИРОВАТЬ 3:

Хорошо, я сделал немало правок, чтобы заставить его работать. Вот окончательный сценарий в полном объеме.

Теперь, когда я запускаю gtkwave я вижу следующее:

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

Понятия не имею , что это значит и как это исправить (как прямо сейчас), но сообщения правы, выход не очень некрасиво. Шрифт пиксельный и размытый на моем дисплее сетчатки. Я посмотрю на то, что такое Pango и как выбрать шрифт или что там говорится об ошибке.

0