Jadi saya mengunduh program yang disebut GTKWave menggunakan perintah berikut:

brew tap homebrew/cask
brew cask install gtkwave

Itu gtkwave.app ada di folder Aplikasi saya. Tautan simbolis gtkwave telah ditambahkan ke usr/local/bin map. Itu menunjuk ke /Applications/gtkwave.app/Contents/MacOS/gtkwave yang merupakan file skrip. Berikut adalah isi dari file skrip tersebut .

Ketika saya berlari gtkwave di terminal saya, saya mendapatkan kesalahan berikut:

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

Berikut adalah baris dari file skrip yang dimaksud:

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

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

Sepertinya kesalahan pada baris 179 disebabkan oleh jalan yang buruk, yang saya yakin mengutak-atik beberapa variabel atau sesuatu akan memperbaiki (walaupun saya tidak tahu mengapa saya harus, saya pikir instalasi dari Homebrew seharusnya mudah !).

Kesalahan pada saluran 77 tampaknya disebabkan oleh (.GlobalPreferences, AppleCollationOrder) hal, yang saya kira menyebabkan $APPLECOLLATION; menjadi kosong, yang bash menafsirkan sebagai argumen yang hilang, karenanya argument expected kesalahan.

Secara keseluruhan, sepertinya sesuatu yang tidak beres sedang terjadi. Saya tidak benar-benar tahu persis apa penyebab dasarnya. Apakah saya perlu mengkonfigurasi beberapa variabel lingkungan? Ubah skrip? Apakah instalasi Homebrew berantakan?

EDIT:

Jadi di sini adalah kode yang mengelilingi baris 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

Ketika saya berlari defaults read .GlobalPreferences AppleCollationOrder di terminal saya, saya mendapatkan:

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

Jadi hal semacam itu menjelaskan kesalahan pertama, tapi sekarang saya tidak yakin bagaimana cara memperbaikinya ...

EDIT 2:

Jadi, inilah beberapa baris dari file skrip yang relevan dengan baris 179 (saya menambahkan echo pernyataan dalam):

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"

Ketika saya berlari gtkwave, inilah yang mereka echo pernyataan menghasilkan:

$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

Jadi sepertinya skrip dimulai dengan jalur absolut skrip, mencoba untuk melacak beberapa direktori, lalu menambahkan nama folder hingga akhir.

Saya pikir hasil akhirnya seharusnya bundle_contents=/Applications/gtkwave.app/Contents, tetapi skrip melakukan pekerjaan yang mengerikan untuk sampai ke sana.

Saya kira saya harus memodifikasi baris tersebut untuk menghasilkan jalur yang benar, atau mungkin hanya hard_code bundle_contents variabel...

EDIT 3:

Oke, saya sudah melakukan beberapa pengeditan untuk membuatnya berfungsi. Inilah skrip terakhir secara keseluruhan .

Sekarang apa yang saya lihat ketika saya berlari gtkwave Apakah ini:

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

Tidak tahu apa artinya itu atau bagaimana cara memperbaikinya (sampai sekarang), tetapi pesannya benar, hasilnya aku s sangat jelek. Fonnya pixel-y dan buram pada layar retina saya. Saya akan melihat apa pun Pango dan bagaimana memilih font atau apa pun kesalahan yang dibicarakan.

rcplusplus
sumber