2016-01-21 15 views
12

Mam problem z wykreślaniem z Octave. Octave i Gnuplot są instalowane z Homebrew na OS X El Capitan, a po próbuje zrobić pierwszą działkę, mam błąd:Oktawa zamarza, gdy wymaga wykreślenia

set terminal aqua enhanced title "Figure 1" size 560 420 font "*,6" dashlength 1

Ten problem został rozwiązany za pomocą instrukcji this answer, w skrócie:

brew uninstall gnuplot 

sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.dylib 
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.1.0.0.dylib 
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/Headers /usr/local/include/aquaterm 

brew install gnuplot --with-aquaterm 

echo '

Teraz, kiedy robię fabułę, np. plot(rand(3)), a następnie Octave po prostu zamarzają, więc muszę wykonać Control-C, aby przerwać. Kiedy próbuję drukować bezpośrednio z Gnuplot i set term aqua, to działa i dostaję spiski. Ale w oktawie, gdy chcę set term aqua lub set term, zgłasza:

error: invalid conversion from string to real N-d array error: set:

expecting graphics handle as first argument

Również próbowałem z:

echo -E "setenv('GNUTERM','X11')" > ~/.octaverc 

ale to nie pomogło. Myślę, że problem dotyczy grafiki_toolkit, ale nie wiem, jak rozwiązać ten problem.

octave:1> graphics_toolkit aqua 

error: graphics_toolkit: aqua toolkit is not available

error: called from graphics_toolkit at line 81 column 5

octave:2> graphics_toolkit fltk 

error: graphics_toolkit: fltk toolkit is not available

error: called from graphics_toolkit at line 81 column 5

Aktualizacja

Przyjęte rozwiązanie działa aż do wersji 4.2.0-rc2, więc teraz sprawdzić update in the answer aby uzyskać więcej informacji.

+0

można sprawdzić, czy AppNap zostanie aktywowana dla Octave i/lub gnuplot? Otwórz ActivityMonitor i dodaj kolumnę AppNap – Andy

+0

On @Andy, nie ma. Pozostaje "nie" dla oktawy. To samo dotyczy gnuplot. – miller

+1

@miller Czy możesz określić, której wersji oktawy używasz ('$ oktawa --version' lub' version() ')? Byłoby to pomocne dla innych, ponieważ istnieją pewne problemy związane z wersją. – JMM

Odpowiedz

13

zauważyłem kiedy polecenie wejdę available_graphics_toolkits to tylko pokazuje

ans =

{

[1,1] = gnuplot

}

i wheh próbuję z loaded_graphics_toolkits, drukuje

ans = {}(1x0)

I guesed problem był z nie ładuje środowisko GUI, więc Octave było następnie zrekompilowana z opcją --with-gui opcja

brew reinstall octave --with-gui 

i to rozwiązało problem.

Aktualizacja

Według tego commit, od września ubiegłego roku, wersja 4.2.0-RC2, --with-gui już nie działa. Najlepiej postępować zgodnie z instrukcjami od Konstantin.

7

Przyjęta odpowiedź od młynarza nie zadziałała, chociaż available_graphics_toolkits i loaded_graphics_toolkits zwróciły podobne wyniki. Oktawa nie ma już flagi --with-gui.

Zamiast tego, co miałem zrobić, aby uzyskać jego pracy był pierwszy brew reinstall gnuplot --with-x11 a następnie utworzyć ~/.octaverc z treścią

setenv("GNUTERM", "X11") 
graphics_toolkit("gnuplot") 

miałem X11 preinstalowany.

+0

To była dobra wskazówka. Musiałem przełączyć się z zestawu narzędzi graficznych "qt" do "gnuplot" i to powstrzymało go przed powieszeniem. –

Powiązane problemy