Editing Octave and separate toolchain
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
Building of octave together with a separate toolchain (custom built gcc/binutils/...). | Building of octave together with a separate toolchain (custom built gcc/binutils/...). | ||
This is required mainly when the base linux distribution ships too old a version of gcc. | This is required mainly when the base linux distribution ships too old a version of gcc. | ||
Unexperienced users should upgrade their distribution, though | Unexperienced users should upgrade their distribution, though. | ||
The main build directory will be called {{Path|/usr/local/build}}. | The main build directory will be called {{Path|/usr/local/build}}. | ||
Line 89: | Line 87: | ||
# do not use threads | # do not use threads | ||
# (because I use pararrayfun from the parallel package) | # (because I use pararrayfun from the parallel package) | ||
make USE_THREAD=0 CPPFLAGS="-I/usr/local/gcc-6.2.0_binutils-2.27_isl/include" CFLAGS="-O2 -march=native" CXXFLAGS="-O2 -march=native" FFLAGS="-O2 -march=native | make USE_THREAD=0 CPPFLAGS="-I/usr/local/gcc-6.2.0_binutils-2.27_isl/include" CFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" CXXFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" FFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" LDFLAGS=-Wl,-rpath,/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64 | ||
One should get | One should get | ||
Line 118: | Line 116: | ||
sudo ln -s libopenblas_haswell-r0.2.19.so libopenblas.so.0 | sudo ln -s libopenblas_haswell-r0.2.19.so libopenblas.so.0 | ||
sudo ln -s libopenblas.so.0 libopenblas.so | sudo ln -s libopenblas.so.0 libopenblas.so | ||
== arpack-ng == | == arpack-ng == | ||
Line 203: | Line 136: | ||
cd arpack-ng-3.4.0 | cd arpack-ng-3.4.0 | ||
./bootstrap | ./bootstrap | ||
./configure CPPFLAGS="-I/usr/local/gcc-6.2.0_binutils-2.27_isl/include" CFLAGS="-O2 -march=native" CXXFLAGS="-O2 -march=native" FFLAGS="-O2 -march=native | ./configure CPPFLAGS="-I/usr/local/gcc-6.2.0_binutils-2.27_isl/include" CFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" CXXFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" FFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" LDFLAGS=-Wl,-rpath,/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64 --prefix=/usr/local/gcc-6.2.0_binutils-2.27_isl | ||
make -j 6 | make -j 6 | ||
Line 285: | Line 218: | ||
== GraphicsMagick == | == GraphicsMagick == | ||
Line 346: | Line 239: | ||
Disable ''webp'' and ''jbig'' that fail tests with gcc-6.2.0 | Disable ''webp'' and ''jbig'' that fail tests with gcc-6.2.0 | ||
./configure --without-webp --without-jbig --enable-static=no --enable-shared=yes --with-quantum-depth=16 CPPFLAGS="-I/usr/local/gcc-6.2.0_binutils-2.27_isl/include" CFLAGS="-O2 -march=native" CXXFLAGS="-O2 -march=native" FFLAGS="-O2 -march=native | ./configure --without-webp --without-jbig --enable-static=no --enable-shared=yes --with-quantum-depth=16 CPPFLAGS="-I/usr/local/gcc-6.2.0_binutils-2.27_isl/include" CFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" CXXFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" FFLAGS="-O2 -march=native -L/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64" LDFLAGS=-Wl,-rpath,/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64 PKG_CONFIG_PATH=/usr/local/gcc-6.2.0_binutils-2.27_isl/lib64/pkgconfig --prefix=/usr/local/gcc-6.2.0_binutils-2.27_isl | ||
The summary should be fine. As comparison and source of relevant informations: [[GraphicsMagick]] | The summary should be fine. As comparison and source of relevant informations: [[GraphicsMagick]] | ||
Line 371: | Line 264: | ||
{{codeline|exit}} root session, then {{codeline|exit}} current bash, to return to a clean state | {{codeline|exit}} root session, then {{codeline|exit}} current bash, to return to a clean state | ||
To be continued... |