13
edits
m (Fixed typos.) |
m (Fixed Typos.) |
||
Line 15: | Line 15: | ||
$sudo apt-get update | $sudo apt-get update | ||
$sudo apt-get install build-essential mercurial gcc g++ gfortran make libblas-dev liblapack-dev epstool transfig libglpk-dev libreadline-dev llvm-dev lpr texinfo pstoedit liboctave-dev libqhull-dev libqrupdate-dev libsuitesparse-dev texlive libxft-dev autoconf automake bison flex gperf gzip icoutils libtool perl rsync tar libpcre3-dev libarpack2-dev libcurl4-openssl-dev libfftw3-dev libfltk1.3-dev libfontconfig1-dev libfreetype6-dev libgl2ps-dev gnuplot-x11 libgraphicsmagick++1-dev libhdf5-dev libsndfile1-dev libgl1-mesa-dev libosmesa6-dev portaudio19-dev zlib1g-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-egl1-mesa libwayland-server0 libwayland-bin libwayland-client0 texlive-plain-generic librsvg2-bin openjdk-14-jdk openjdk-14-jre openjdk-14-jre-headless openjdk-14-jdk-headless qttools5-dev-tools qtbase5-dev qtbase5-dev-tools qttools5-dev libqscintilla2-qt5-dev libqt5sql5-sqlite libqt5webchannel5 libqt5webkit5 libqt5concurrent5 libqt5designer5 libqt5designercomponents5 libqt5help5 libqt5positioning5 libqt5quickwidgets5 libqt5sensors5 libqt5sql5 qt5-assistant qt5-qmake qt5-qmake-bin libqt5core5a libqt5network5 libqt5gui5 libqt5opengl5 libqt5opengl5-dev git rapidjson-dev libsundials-dev doxygen texlive-latex-extra graphviz | $sudo apt-get install build-essential mercurial gcc g++ gfortran make libblas-dev liblapack-dev epstool transfig libglpk-dev libreadline-dev llvm-dev lpr texinfo pstoedit liboctave-dev libqhull-dev libqrupdate-dev libsuitesparse-dev texlive libxft-dev autoconf automake bison flex gperf gzip icoutils libtool perl rsync tar libpcre3-dev libarpack2-dev libcurl4-openssl-dev libfftw3-dev libfltk1.3-dev libfontconfig1-dev libfreetype6-dev libgl2ps-dev gnuplot-x11 libgraphicsmagick++1-dev libhdf5-dev libsndfile1-dev libgl1-mesa-dev libosmesa6-dev portaudio19-dev zlib1g-dev libegl1-mesa-dev libgles2-mesa-dev libwayland-client0 libwayland-cursor0 libwayland-dev libwayland-egl1 libwayland-egl1-mesa libwayland-server0 libwayland-bin libwayland-client0 texlive-plain-generic librsvg2-bin openjdk-14-jdk openjdk-14-jre openjdk-14-jre-headless openjdk-14-jdk-headless qttools5-dev-tools qtbase5-dev qtbase5-dev-tools qttools5-dev libqscintilla2-qt5-dev libqt5sql5-sqlite libqt5webchannel5 libqt5webkit5 libqt5concurrent5 libqt5designer5 libqt5designercomponents5 libqt5help5 libqt5positioning5 libqt5quickwidgets5 libqt5sensors5 libqt5sql5 qt5-assistant qt5-qmake qt5-qmake-bin libqt5core5a libqt5network5 libqt5gui5 libqt5opengl5 libqt5opengl5-dev git rapidjson-dev libsundials-dev doxygen texlive-latex-extra graphviz | ||
: 5. Mercurial | : 5. Mercurial. | ||
From the page [[Mercurial]], follow the steps under the section 'Example Mercurial configuration'. | From the page [[Mercurial]], follow the steps under the section 'Example Mercurial configuration'. | ||
= Build Directory = | = Build Directory = | ||
: 6. Setup build directory | : 6. Setup the build directory. | ||
$ mkdir -p /home/ubuntuuser/projects/octave_src | $ mkdir -p /home/ubuntuuser/projects/octave_src | ||
$ cd /home/ubuntuuser/projects/octave_src | $ cd /home/ubuntuuser/projects/octave_src | ||
Line 25: | Line 25: | ||
$ ./bootstrap --force | $ ./bootstrap --force | ||
$ mkdir -p bld_dir; cd bld_dir; | $ mkdir -p bld_dir; cd bld_dir; | ||
: 7. Configure | : 7. Configure. | ||
$ rm * -r -f; date; ../configure -v --prefix=/home/ubuntuuser/projects/octave_src/octave_install >& configure.out; date; paplay /usr/share/sounds/gnome/default/alerts/glass.ogg | $ rm * -r -f; date; ../configure -v --prefix=/home/ubuntuuser/projects/octave_src/octave_install >& configure.out; date; paplay /usr/share/sounds/gnome/default/alerts/glass.ogg | ||
To check if any library has not been found by the configure script: | To check if any library has not been found by the configure script: | ||
$ grep -i "library not found" configure.out | $ grep -i "library not found" configure.out | ||
: 8. Make | : 8. Make. | ||
$ date; make -j -l2 V=1 >& make.out; date; paplay /usr/share/sounds/gnome/default/alerts/glass.ogg | $ date; make -j -l2 V=1 >& make.out; date; paplay /usr/share/sounds/gnome/default/alerts/glass.ogg | ||
= Debug = | = Debug = | ||
: 9. Debugging | : 9. Debugging. | ||
Note: The option ‘--enable-address-sanitizer-flags’ breaks the build, so it was removed. | Note: The option ‘--enable-address-sanitizer-flags’ breaks the build, so it was removed. | ||
From [[Debugging Octave]]: | From [[Debugging Octave]]: | ||
Line 51: | Line 51: | ||
(gdb) thread apply all break variable-editor-model.cc:928 | (gdb) thread apply all break variable-editor-model.cc:928 | ||
= Save and Patch = | = Save and Patch = | ||
: 10. Save your work and send patch | : 10. Save your work and send patch. | ||
To save your changes to a single file: | To save your changes to a single file: | ||
$ cd /home/ubuntuuser/projects/octave_src/octave | $ cd /home/ubuntuuser/projects/octave_src/octave |
edits