Windows Installer: Difference between revisions

134 bytes added ,  14 October 2019
→‎Troubleshooting: Overhaul section.
(→‎Remarks: Overhaul section.)
(→‎Troubleshooting: Overhaul section.)
Line 105: Line 105:
===Troubleshooting===
===Troubleshooting===


* The error message displayed by make is simply the last 10 lines of the log file.  This may truncate the actual error message.
* The error message displayed by <code>make</code> is simply the last lines of the log file.  This may truncate the actual error message.  Find the full error messages in the {{Path|<mxe-octave build>/log}} directory.
* Sometimes running "make" a second time without changing anything will fix the problem.  In particular, autotools rebuilds some files in the first make which may cause the second make to succeed.
* Sometimes running <code>make</code> a second time without changing anything will fix the problem.  In particular, <code>autotools</code> rebuilds some files in the first call <code>make</code>, which may cause the second call of <code>make</code> to succeed.
* If it is building Octave that failed, the source will be left in <mxe-octave build>/tmp-default-octave and it is possible to run "configure && make" in that directory.
* If it is building Octave that failed, the source will be left in {{Path|<mxe-octave build>/tmp-default-octave}} and it is possible to run "configure && make" in that directory.
* The configuration will be for the target system, not your own.  In particular, if you have not installed all of the packages that MXE-octave installs, then your configuration will be different.  However, some configuration variables will differ even if you have the same packages, and some compiler features may be available on the host system that are not available in cross-compile mode.
* The configuration will be for the target system, not your own.  In particular, if you have not installed all of the packages that mxe-octave installs, then your configuration will be different.  However, some configuration variables will differ even if you have the same packages, and some compiler features may be available on the host system that are not available in cross-compile mode.
* A possible causes for build failure is having files in your local source or build directory that are not listed in the module.mk files; these are not copied into the dist archive.
* A possible causes for build failure is having files in your local source or build directory that are not listed in the {{Path|module.mk}} files; these are not copied into the dist archive.
* (philip, confirmed by oheim) On my core i5 desktop system with a fast SSD, mxe-octave builds usually fails at libmng, suspectedly because of a race condition related to disk I/O. A way to get past this is by specifying "make nsis-installer JOBS=1", if required repeatedly (sometimes 5 or 6 times), interrupting the build in the next step/dependency once libmng has been built fine, and restarting with "make nsis-installer JOBS=<higher number>". As of Dec. 2015 it is only libmng that has this issue.
* Sometimes mxe-octave builds fail at "libmng".  This may be due to a race condition related to disk I/O when using a fast SSD harddisk. A way to get past this is by specifying "make nsis-installer JOBS=1", if required repeatedly (sometimes 5 or 6 times), interrupting the build in the next step/dependency once "libmng" has been built fine, and restarting with "make nsis-installer JOBS=<higher number>". As of December 2015 it is only libmng that has this issue.


==Trying out cross-built Octave on Linux through VirtualBox==
==Trying out cross-built Octave on Linux through VirtualBox==