Подтвердить что ты не робот

Построение графика с помощью Octave после последнего обновления MAC OSX

Привет, я недавно загрузил последнее обновление снежного барса. Затем я попытался построить что-то, используя Octave, который был установлен на моем компьютере несколько месяцев (и построение графика работало все это время). Даже с тех пор, как я установил обновление, и я пытаюсь построить с использованием октавы, я получаю следующую ошибку:

dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /usr/X11R6/lib/libfontconfig.1.dylib
  Reason: Incompatible library version: libfontconfig.1.dylib requires version 13.0.0 or later, but libfreetype.6.dylib provides version 10.0.0
/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot: line 71:   865 Trace/BPT trap          GNUTERM="${GNUTERM}" GNUPLOT_HOME="${GNUPLOT_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}" GNUHELP="${GNUHELP}" DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" DISPLAY="${DISPLAY}" GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" "${ROOT}/bin/gnuplot-4.2.6" "[email protected]"
/Applications/Gnuplot.app/Contents/Resources/bin/gnuplot: line 71:   871 Trace/BPT trap          GNUTERM="${GNUTERM}" GNUPLOT_HOME="${GNUPLOT_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}" GNUHELP="${GNUHELP}" DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" DISPLAY="${DISPLAY}" GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" "${ROOT}/bin/gnuplot-4.2.6" "[email protected]"
error: you must have gnuplot installed to display graphics; if you have gnuplot installed in a non-standard location, see the 'gnuplot_binary' function

Я действительно не уверен, что делать. Я вышел из своей лиги здесь.

4b9b3361

Ответ 1

См. примечание для пользователей Mac OS X 10.6 на http://octave.sourceforge.net/. Изменения также решают проблему и в 10.5.8.

Ответ 2

"Заметка для пользователей MacOSX" больше не находится на главной странице Octave, и обходной путь, описанный в сообщении Marco, тоже не помог мне, но это произошло:

Open /Applications/Gnuplot.app/Contents/Resources/bin/gnuplot in a text
editor. Use the editor search-and-replace feature to replace
"DYLD_LIBRARY_PATH" with "DYLD_FALLBACK_LIBRARY_PATH". There are four
instances that need to be replaced.

Это из readme для двоичного файла Octave MacOSX. Обратите внимание, что он говорит об этом для пользователей Lion, но я выполняю 10.6.8, и это сработало для меня.

Ответ 3

Недавно я создал Octave и GNUplot на Lion, используя доморощенный. Кажется, хорошо работает. Вот несколько примечаний

1) Установите Xcode из AppStore и HomeBrew (см. http://mxcl.github.com/homebrew/)

2) Запустите 'brew установите октаву "и дождитесь, пока Graphicsmagick не сможет скомпилировать

3) Запустите команду "brew install --use-clang --HEAD graphicsmagick". Вас могут попросить установить Mercurial, просто следуйте инструкциям. Вас также могут попросить установить fortran, поэтому "brew установить gfortran"

4) Запустите команду "brew установить октаву" снова

5) Установить Aquaterm

6) Теперь запустите "brew установить gnuplot"

Теперь у вас установлена ​​последняя Octave. Просто введите октаву с терминала

Чтобы протестировать установку, запустите следующие команды в командной строке Octave

setenv("GNUTERM", "x11");
x = linspace(-10, 10, 100);
y = sin(x);
plot(x,y);

Ответ 4

Мы обновили freetype в OSX 10.6.5 и fontconfig, который ссылается на freetype, хочет эту более новую версию. Gnuplot не загружается, потому что их разработчики устанавливают DYLD_LIBRARY_PATH, что заставляет наш libfontconfig попробовать использовать свой libfreetype, который он не может.

Это ошибка в Gnuplot.app... разработчики НИКОГДА не должны устанавливать DYLD_LIBRARY_PATH в продуктах доставки!

Ответ 5

У меня была такая же проблема, и мне потребовалось некоторое время, чтобы найти "примечание для пользователей Mac OS X 10.6". Я копирую их здесь:

УКАЗАНИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ СНЕГОВОГО ЛЕОПАРДА

1 - mkoctfile

Так как OSX 10.6 Apple выпустила версию gcc-сборки по умолчанию 64-битные двоичные файлы Поскольку библиотеки, включенные в версию 3.2.3 Octave.app, 32bit, вам необходимо применить следующий патч для работы mkoctfile:

1.1) откройте папку/Приложения в поисковике 1.2) щелкните правой кнопкой мыши на Octave.app и выберите "показать содержимое пакета", 1.3) перейдите к /Applications/Octave.app/Contents/Resources/bin 1.4) щелкните правой кнопкой мыши файл "mkoctfile" и выберите "Открыть с помощью → Другое... → TextEdit.app" 1.5) сразу после строки:

 # along with this program; If not, see <http://www.gnu.org/licenses/>.

добавить строки

 CFLAGS="-m32 ${CFLAGS}"
 FFLAGS="-m32 ${FFLAGS}"
 CPPFLAGS="-m32 ${CPPFLAGS}"
 CXXFLAGS="-m32 ${CXXFLAGS}"
 LDFLAGS="-m32 ${LDFLAGS}" 

и сохраните.

2 - Gnuplot.app

Обновление системных библиотек, представленных с OSX 10.6.5, нарушило функциональность Gnuplot.app, включенного в дистрибутив Octave.app, для использования Gnuplot.app в OSX 10.6.5 и более поздних версиях вы можете использовать исправление, описанное ниже:

2.1) откройте папку/Приложения в поисковике 2.2) щелкните правой кнопкой мыши на Gnuplot.app и выберите "показать содержимое пакета", 2.3) перейдите к /Applications/Gnuplot.app/Contents/Resources/bin 2.4) щелкните правой кнопкой мыши файл "gnuplot" и выберите "Открыть с помощью → Другое... → TextEdit.app" 2.5) измените строку:

 DYLD_LIBRARY_PATH="${ROOT}/lib:${DYLD_LIBRARY_PATH}"

to

 DYLD_LIBRARY_PATH="${ROOT}/lib"

и сохраните.

ПРИМЕЧАНИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ LEOPARD

Обновление системных библиотек, представленных с OSX 10.5.8, нарушило функциональность Gnuplot.app, включенного в дистрибутив Octave.app, для использования Gnuplot.app на OSX 10.5.8 и более поздних версиях вы можете использовать то же исправление, описанное выше для OSX 10.6.5.

Ответ 6

Я попробовал выше, и это не помогло. Источником проблемы, по-видимому, является версия gnuplot, которая поставляется с установкой Octave.app.

Я установил gnuplot непосредственно с 'brew', а затем удалил gnuplot из папки "Мои приложения". Как только это изменение было сделано, Octave смог найти более новую версию gnuplot, которая была скомпилирована с правильными зависимостями.

Ответ 7

Если вы не против использования MacPorts, вы можете установить октаву следующей командой. И это будет 64-разрядная версия.

sudo port install octave-devel

Ответ 8

Я просто хочу поделиться своим опытом относительно этой проблемы.

У меня была аналогичная проблема сегодня, когда я пытался использовать Octave/Gnuplot в Mac OS X (10.7.5, Lion), и ни одно из вышеперечисленных решений не работало для меня.

Однако я нашел другое решение, которое действительно работало, что описано в https://github.com/jyr/MNPP/issues/28. В основном, я сделал следующее:

sudo cp /usr/X11/lib/libfreetype.* /Applications/Gnuplot.app/Contents/Resources/lib

Ответ 9

Горные львы также могут установить Octave 3.4.0 с помощью dmg и вместо более старшего 4.2 gnuplot вместо Maxima dmg. Самая простая, но не самая последняя версия. (Идея одноклассника, которая работала.)

Ответ 10

Замена четырех экземпляров "DYLD_LIBRARY_PATH" на "DYLD_FALLBACK_LIBRARY_PATH" не работала для меня в Mac OS X 10.9.

Однако второй вариант, приведенный здесь: http://sourceforge.net/projects/octave/files/Octave%20MacOSX%20Binary/2011-04-21%20binary%20of%20Octave%203.4.0/

сделал работа. то есть с использованием Gnuplot-4.2.6, который поставляется вместе с Maxima DMG. Ссылка ниже. http://sourceforge.net/projects/maxima/files/Maxima-MacOS/5.26.0-MacOSX/

Я просто скопировал Gnuplot.app в/Applications.