Поэтому я скачал программу 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 и как выбрать шрифт или что там говорится об ошибке.