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 и Холецкого.
--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 доступны во многих архивах anonymous ftp. Основной сайт — ftp://ftp.gnu.org, но он часто перегружен. Список сайтов, которые зеркалируют программное обеспечение на ftp://ftp.gnu.org, доступен по anonymous 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
-
Руководства man в стиле Unix, описывающие Octave.
- prefix/share/info
-
Файлы 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–2022 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/v7.2.0/Running-Configure-and-Make.html