Windows Installer: Difference between revisions

→‎Remarks: Configure with "--with-pkg-dir" instead of symlinking. Overhaul section.
(→‎Build installers for Octave development versions: Add note that lzip is needed for the dist-lzip target.)
(→‎Remarks: Configure with "--with-pkg-dir" instead of symlinking. Overhaul section.)
Line 89: Line 89:
===Remarks===
===Remarks===


* If you have several mxe-octave build dirs (for e.g., stable and several development versions) it is handy to have a separate {{Path|pkg}} subdirectory where all mxe-octave build directories link to via an symbolic link, for example. That saves a lot of downloading bandwidth.
* If you have several MXE-Octave build dirs (for e.g., stable and several development versions, or build trees for 32bit and 64bit Windows targets), it is possible to point to a common {{Path|pkg}} directory using the configure flag <code>--with-pkg-dir=path_to_common_pkg_directory</code>. That way downloading the packages for each build tree can be avoided. Thus, potentially saving a lot of downloading bandwidth.
* As of late December 2015, [https://hg.octave.org/mxe-octave/rev/0962acdde3be mxe-octave allows out-of-tree builds]. This makes it easier to build separate Octave versions with the same mxe-octave tree.
* As of late December 2015, [https://hg.octave.org/mxe-octave/rev/0962acdde3be MXE-Octave allows out-of-tree builds]. This makes it easier to build separate Octave versions with the same MXE-Octave tree.
* To keep mxe-octave up-to-date, from time to time do:
* To keep MXE-Octave up-to-date, from time to time run the following commands in the MXE-Octave repository:
  hg -v pull
  hg -v pull
  hg -v update
  hg -v update
* However, do not keep mxe-octave build dirs for too long. I'd suggest to wipe a build dir after at most two or three months and start over with a fresh clone, see [#General steps|general steps].
* However, some package updates might need a clean build tree. If an incremental build fails after an update, consider running <code>make clean</code> or starting with a fresh clone, see [[#General steps|General steps]].
* In the mean time, regularly clean up {{Path|<mxe-octave build>/log}} to save disk space. After a first successful build there is no more use for the log subdirectories for each package. One can safely wipe them all.
* In the mean time, you might want to regularly clean up {{Path|<mxe-octave build dir>/log}} to save disk space. The logs are of informational value only and are not needed after the build completes. They can safely be deleted.
* It can happen that you meet problems with Java. To build Octave with Java support built-in, mxe-octave needs:
* It can happen that you meet problems with Java. To build Octave with Java support built-in, MXE-Octave needs:
** A Java JDK (Java Development Kit) on the '''host''' system. In other words, the javac (Java compiler) and jar (Java archiver) executables should be in the PATH-system-variable.
** A Java JDK (Java Development Kit) on the '''build''' system. In other words, the javac (Java compiler) and jar (Java archiver) executables should be in the PATH-system-variable.
** Java include files for MS Windows ("w32", even for "w64" builds). They should reside in {{Path|<mxe-octave build dir>/usr/x86_64-w64-mingw32/include/java/win32}}. If they are not present, mxe-octave downloads them automatically, but this can occasionally go wrong. On a multi-boot system a solution (note: dirty hack warning!) is symlinking to the MS Windows include files on the MS Windows partition from the mxe-octave location.
** Java include files for MS Windows. They should reside in {{Path|<mxe-octave build dir>/usr/x86_64-w64-mingw32/include/java/win32}} or {{Path|<mxe-octave build dir>/usr/i686-w64-mingw32/include/java/win32}}, respectively. If they are not present, MXE-Octave downloads them automatically. However, this might fail occasionally (e.g. if the server cannot be reached). On a multi-boot system, a solution (note: dirty hack warning!) is symlinking to the MS Windows include files on the MS Windows partition from the MXE-Octave location. (Don't do this unless you are sure what you are doing.)


===Troubleshooting===
===Troubleshooting===
209

edits