Если название этого вопроса кажется немного расплывчатым, извините. Но я не был уверен, как отразить то, что я пытаюсь сделать, в одном предложении.
Несколько недель назад я узнал, что могу собрать и установить последние выпуски 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 делает то, что делает.
