E.2 Запуск Configure и Make ¶
- Запустите скрипт оболочки configure. Он определит имеющиеся (или отсутствующие) возможности вашей системы и создаст файл Makefile из каждого файла Makefile.in.
Полный список опций configure можно получить, запустив configure --help. Ниже представлен обзор наиболее часто используемых опций configure при сборке Octave:
--help-
Вывести сводку опций, распознаваемых скриптом configure.
--prefix=prefix-
Установить Octave в подкаталоги ниже prefix. Значение по умолчанию для prefix — /usr/local.
--srcdir=dir-
Искать исходные коды Octave в каталоге dir.
--disable-64-
Отключить использование 64-битовых целых чисел для индексации массивов и использовать 32-битовые целые числа вместо них. В системах с 32-битными указателями эта опция всегда отключена. Если скрипт configure определит, что ваша библиотека BLAS использует 32-битовые целые числа, то операции, использующие следующие библиотеки, ограничены массивами с размерностями, меньшими, чем 2^{31} элементов:
- BLAS
- LAPACK
- QRUPDATE
- SuiteSparse
- ARPACK
Кроме того, следующие библиотеки используют
intвнутри, поэтому максимальные размеры задач всегда ограничены:- GLPK
- Qhull
См. Компиляция Octave с 64-разрядной индексацией для получения более подробной информации о сборке Octave с более полной поддержкой больших массивов.
--enable-address-sanitizer-flags-
Включить опции компилятора -fsanitize=address и -fomit-frame-pointer для проверки доступа к памяти. Эта опция используется в первую очередь для отладки Octave. Сборка Octave с этой опцией негативно сказывается на производительности и не рекомендуется для общего использования. Она также может повлиять на корректную работу графического интерфейса.
--disable-docs-
Отключить сборку всех форм документации (Info, PDF, HTML). По умолчанию документация собирается, но для этого вашей системе понадобятся функционирующие установленные Texinfo и TeX.
--enable-float-truncate-
Эта опция позволяет усекать промежуточные результаты с плавающей запятой в расчётах. Она необходима только для определённых платформ.
--enable-readline-
Использовать библиотеку readline для редактирования командной строки в терминальных средах. Эта опция включена по умолчанию.
--enable-shared-
Создать динамические библиотеки (это значение по умолчанию). Если вы планируете использовать возможности динамической загрузки, вам, вероятно, потребуется эта опция. Она сделает ваши файлы .oct значительно меньше, и в некоторых системах может быть необходимо создавать динамические библиотеки для использования динамически связанных функций.
Вы также можете создать динамическую версию
libstdc++, если в вашей системе её нет. --with-blas=<lib>-
По умолчанию configure ищет лучшие матричные библиотеки BLAS на вашей системе, включая оптимизированные реализации, такие как бесплатная ATLAS 3.0, а также библиотеки, настроенные производителем. (Использование оптимизированной библиотеки BLAS обычно приводит к многократно более быстрой обработке матриц.) Используйте эту опцию, чтобы указать конкретную библиотеку BLAS, которую должен использовать Octave.
--with-lapack=<lib>-
По умолчанию configure ищет лучшие матричные библиотеки LAPACK на вашей системе, включая оптимизированные реализации, такие как бесплатная ATLAS 3.0, а также библиотеки, настроенные производителем. (Использование оптимизированной библиотеки LAPACK обычно приводит к многократно более быстрой обработке матриц.) Используйте эту опцию, чтобы указать конкретную библиотеку LAPACK, которую должен использовать Octave.
--with-magick=<lib>-
Выбрать библиотеку Magick++ для работы с изображениями. Для многих дистрибутивов возможные значения —
"GraphicsMagick++"(по умолчанию) или"ImageMagick++". --with-sepchar=<char>-
Использовать <char> в качестве символа разделения пути. Эта опция может быть полезна при работе с Octave на не-Unix системах.
--without-amd-
Не использовать AMD, отключить некоторые функции работы со разреженными матрицами.
--without-camd-
Не использовать CAMD, отключить некоторые функции работы со разреженными матрицами.
--without-colamd-
Не использовать COLAMD, отключить некоторые функции работы со разреженными матрицами.
--without-ccolamd-
Не использовать CCOLAMD, отключить некоторые функции работы со разреженными матрицами.
--without-cholmod-
Не использовать CHOLMOD, отключить некоторые функции работы со разреженными матрицами.
--without-curl-
Не использовать библиотеку cURL, отключить объекты ftp,
urlreadиurlwriteфункции. --without-cxsparse-
Не использовать CXSPARSE, отключить некоторые функции работы со разреженными матрицами.
--without-fftw3-
Использовать встроенную библиотеку FFTPACK для вычисления быстрых преобразований Фурье вместо библиотеки FFTW3.
--without-fftw3f-
Использовать встроенную библиотеку FFTPACK для вычисления быстрых преобразований Фурье вместо библиотеки FFTW3 при работе с числами одинарной точности (float).
--without-glpk-
Не использовать библиотеку GLPK для линейного программирования.
--without-hdf5-
Не использовать библиотеку HDF5, отключить чтение и запись файлов HDF5.
--without-opengl-
Не использовать OpenGL, отключить встроенный графический движок для построения графиков. Вам понадобится
gnuplotдля построения графиков. --without-qhull_r-
Не использовать (реентерабельный) Qhull, отключить
delaunay,convhull, и связанные функции. --without-qrupdate-
Не использовать QRUPDATE, отключить функции QR и Cholesky обновления.
--without-umfpack-
Не использовать UMFPACK, отключить некоторые функции работы со разреженными матрицами.
--without-z-
Не использовать библиотеку zlib, отключить сжатие файлов данных и поддержку последних форматов файлов MAT.
--without-framework-carbon-
Не использовать заголовки, библиотеки или определённый исходный код фреймворка Carbon, даже если тест configure пройдёт успешно (по умолчанию используется фреймворк Carbon, если доступен). Это платформа-специфичная опция configure для Mac систем.
--without-framework-opengl-
Не использовать заголовки, библиотеки или определённый исходный код фреймворка OpenGL, даже если тест configure пройдёт успешно. Если эта опция указана, то заголовки и библиотеки OpenGL в стандартных системных расположениях тестируются (значения по умолчанию — --with-framework-opengl). Это платформа-специфичная опция configure для Mac систем.
См. файл INSTALL для получения более общей информации об опциях командной строки, используемых configure. В этом файле также содержатся инструкции по компиляции в каталоге, отличном от каталога, где расположены исходные коды.
- Запустите make.
Вам потребуется недавняя версия GNU Make, поскольку Octave полагается на определённые функции, которые не всегда доступны во всех версиях make. Изменение make файлов Octave для работы с другими программами make, вероятно, не стоит вашего времени; вместо этого мы рекомендуем установить GNU Make.
В настоящее время существует три варианта построения графиков в Octave: внешняя программа gnuplot, внутренний графический движок, использующий OpenGL, в сочетании с виджетами FLTK или Qt. Gnuplot — это управляемая командами интерактивная программа для построения графиков функций.
Для компиляции Octave вам потребуется недавняя версия
g++или другого компилятора ANSI C++. Кроме того, вам потребуется компилятор Fortran 77 илиf2c. Если вы используетеf2c, вам понадобится скрипт, подобныйfort77, который будет работать как обычный компилятор Fortran, объединяяf2cс вашим компилятором C в одном скрипте.Если вы планируете изменить парсер, вам также понадобится GNU
bisonиflex. Если вы изменяете документацию, вам потребуется GNU Texinfo.GNU Make,
gcc(иlibstdc++),gnuplot,bison,flex, и Texinfo доступны во многих архивах анонимного ftp. Основной сайт — ftp://ftp.gnu.org, но он часто перегружен. Список сайтов, которые зеркалируют программное обеспечение с ftp://ftp.gnu.org, доступен по анонимному ftp с ftp://ftp.gnu.org/pub/gnu/GNUinfo/FTP.Octave требует примерно 1,4 ГБ дискового пространства для распаковки и компиляции из исходного кода (значительно меньше, 400 МБ, если вы не компилируете с отладочными символами). Для компиляции без отладочных символов попробуйте команду
make CFLAGS=-O CXXFLAGS=-O LDFLAGS=
вместо просто
make. - Если у вас возникнут ошибки при компиляции Octave, сначала обратитесь к разделу Проблемы с установкой для получения списка известных проблем и возможных решений для вашей проблемы. Если нет, обратитесь к разделу Известные причины проблем для получения информации о том, как сообщать об ошибках.
- После успешной компиляции Octave запустите
make install.Это установит копию Octave, его библиотеки и документацию в указанный каталог. По умолчанию Octave устанавливается в следующие каталоги. В таблице ниже prefix по умолчанию равен /usr/local, version — номер текущей версии интерпретатора, а arch — тип компьютера, на котором установлен Octave (например, ‘i586-unknown-gnu’).
- prefix/bin
-
Octave и другие исполняемые файлы, которые пользователи могут запускать напрямую.
- prefix/lib/octave-version
-
Библиотеки, такие как liboctave.a и liboctinterp.a.
- prefix/include/octave-version/octave
-
Файлы заголовков, поставляемые с Octave.
- prefix/share
-
Архитектурно-независимые данные.
- prefix/share/man/man1
-
Справочные страницы в формате Unix, описывающие Octave.
- prefix/share/info
-
Файлы справки, описывающие Octave.
- prefix/share/octave/version/m
-
Файлы функций, поставляемые с Octave. Включает версию Octave, что позволяет устанавливать несколько версий Octave одновременно.
- prefix/libexec/octave/version/exec/arch
-
Исполняемые файлы, которые будут запускаться Octave, а не пользователем.
- prefix/lib/octave/version/oct/arch
-
Объектные файлы, которые будут загружаться динамически.
- prefix/share/octave/version/imagelib
Изображения, поставляемые с Octave.
© 1996–2023 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.2.0/Running-Configure-and-Make.html