Если название этого вопроса кажется немного расплывчатым, извините. Но я не был уверен, как отразить то, что я пытаюсь сделать, в одном предложении.
Несколько недель назад я узнал, что могу собрать и установить последние выпуски Octave в системе Ubuntu 12.04, выполнив следующие действия.
Установите инструменты, необходимые для компиляции, связывания и запуска октавы. Для Ubuntu приведенные ниже команды сработали для меня.
sudo apt-get build-dep octave3.2 sudo apt-get install build-essential gnuplot gtk2-engines-pixbuf sudo apt-get install libfontconfig-dev bison
Затем загрузите исходный код для выпуска Octave из архива проекта Gnu для Octave и распакуйте архив в папку в вашей системе.
Используйте команды ниже, чтобы построить, проверить и установить октаву.
./configure make make check sudo make install
К сожалению, оказывается, что вышеизложенное создает октаву, которая содержит все таблицы символов отладки. Только объектные файлы огромны и занимают около 1,7 ГБ.
Текущая документация Octave предлагает
Для компиляции без отладочных символов попробуйте команду
make CFLAGS=-O CXXFLAGS=-O LDFLAGS=
вместо того,make
просто сделать .
Однако, когда я попробовал это, это не сработало. Параметр -g
все еще использовался для компиляции. Для черт этого я вместо пытался ./configure CFLAGS=-O CXXFLAGS=-O
и это сделало работу. (Вместо ~ 1.7ГБ результат сборки теперь занимает около 253МБ).
Мои вопросы
- Это действительно правильно (рекомендуется?) метод, чтобы использовать для компиляции Octave без отладочных символов (то есть без
-g
)? - Как бы я скомпилировал Octave, чтобы он использовал x86_64 вместо x86?
Примечание: я не спрашиваю, как скомпилировать Octave, чтобы использовать (экспериментальные) 64-битные целые числа для измерений массива. Я просто хочу позволить компилятору использовать дополнительные регистры и размеры слов, доступные, когда приложение работает в 64-битном режиме. - Доступен ли (более) полный список для директив, используемых с Make-файлом Octave?
Я видел толькоmake
,make check
иmake install
задокументированные. Но, видимо,make distclean
тоже разрешено. (Он удаляет результаты компиляции, поэтому вы можете выполнить полную перестройку всего.)
Мне интересно, что еще может быть доступно.
FWIW, я пытался использовать
./configure CFLAGS="-O3 -mtune=core2 -m64" CXXFLAGS="-O3 -mtune=core2 -m64"
и, что удивительно, он не только создавался, но и запускался и проходил тесты make check
.
Но, конечно, это не то же самое, что сказать, что на самом деле « работает ». Есть ли рекомендуемый способ включить Octave как приложение x86_64?
Я также попытался заглянуть внутрь октавного Makefile
чтобы посмотреть, смогу ли я расшифровать, какие директивы командной строки он принимает. Я никуда не попал. Я не имею ни малейшего понятия о том, как этот Makefile делает то, что делает.