bugGNU Octave - Bugs: bug #50266, [mxe-octave] incremental builds...


bug #50266: [mxe-octave] incremental builds fail and require "make clean"

Submitter:  Rik <rik5>
Submitted:  Thu 09 Feb 2017 06:28:23 PM UTC
Category:  Configuration and Build System Severity:  1 - Wish
Priority:  3 - Low Item Group:  Build Failure
Status:  Confirmed Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup

Jump to the original submission

Wed 23 Jan 2019 10:02:41 PM UTC, comment #10: 

Yes, as long as building does work, I think it would just be nice to have.

John W. Eaton <jwe>
Group administrator
Wed 23 Jan 2019 09:56:46 PM UTC, comment #9: 

I assume this is a "nice to have", rather than a "need to have" for the 5.0 release?  If so, I'll cross it off as WON'T FIX.

Rik <rik5>
Group administrator
Wed 06 Sep 2017 11:46:48 PM UTC, comment #8: 

Just noting that this may only affect some of the "build-foo" targets. I can safely do an incremental build when one of the later dependencies is updated. For example if I touch src/qt5.mk and run make, it rebuilds only qt5 and subsequent targets, including default-octave.

I've also been able to do a full clean rebuild by simply deleting all of the stamp files under installed-packages and running make.

I wonder if it may be only some of the early "build-foo" targets that need to be built in a cohort and may not have proper dependency relationships declared.

Does someone want to dig into making these targets rebuild properly, or can we close this won't fix?

Mike Miller <mtmiller>
Group Member
Tue 11 Apr 2017 03:09:37 PM UTC, comment #7: 

Currently, I think the only reliable way to do an incremental build is the slow "make clean; make" route.  Anything else could leave obsolete files in the install tree (usr/...).

We do maintain lists of installed files for each package (look in the installed-packages directory) and are even creating tar files of the files installed by each package (look in the built-packages directory).  But these files are not used to keep the installed files in usr/... up to date.

One solution would be to use the file lists to remove previously installed files.  Fixing this would require changing the rules for installing packages.  This change is probably not too difficult.

Another would be to install the binary packages from built-packages/ to usr/ if they are up to date.  This would be a nice option to have because it would allow deleting everything in usr/ and then only building packages whose sources (or dependencies) have changed.  I think we are close to having that capability, but the dependency chain is not quite right and somehow not all packages have corresponding built-packages/PKG.tar.xz files.

John W. Eaton <jwe>
Group administrator
Tue 11 Apr 2017 07:46:53 AM UTC, comment #6: 

Answer to https://savannah.gnu.org/bugs/?50266#comment5:
I can not download the m4 sources =>
wget ftp://ftp.gnu.org/pub/gnu/m4/m4-1.4.17.tar.gz
--2017-04-11 09:37:28--  ftp://ftp.gnu.org/pub/gnu/m4/m4-1.4.17.tar.gz
           => ‘m4-1.4.17.tar.gz’
Resolving ftp.gnu.org (ftp.gnu.org)..., 2001:4830:134:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)||:21... failed: Connection timed out.
Connecting to ftp.gnu.org (ftp.gnu.org)|2001:4830:134:3::b|:21... failed: Network is unreachable.

Addendum to https://savannah.gnu.org/bugs/?50266#comment4:
On another computer with different network setting this error does not appear. So please delete/do not consider this comment.

-X- <sinac>
Mon 10 Apr 2017 03:33:53 PM UTC, comment #5: 

looks like it isn't connected to the internet to download the m4 sources

Can you verify you can download?

wget ftp://ftp.gnu.org/pub/gnu/m4/m4-1.4.17.tar.gz

John Donoghue <lostbard>
Group Member
Mon 10 Apr 2017 02:35:11 PM UTC, comment #4: 

Related to to https://savannah.gnu.org/bugs/?50266#comment3:

The suggested solution:

  1. make clean
  2. ./configure
  3. make (or make nsis-installer)

does not work in case of the error build-m4. I still get the same error after executing the suggested solution:
_Warning - could not find native build version 4.2.1 of octave - some packages may fail, but continuing
[download] build-m4

Wrong checksum of package build-m4!
Connecting to s3.amazonaws.com (s3.amazonaws.com)||:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-04-10 16:22:35 ERROR 404: Not Found.
--2017-04-10 16:22:35--  http://d1yihgixbnrglp.cloudfront.net/m4-1.4.17.tar.gz
Resolving d1yihgixbnrglp.cloudfront.net (d1yihgixbnrglp.cloudfront.net)...,,, ...
Connecting to d1yihgixbnrglp.cloudfront.net (d1yihgixbnrglp.cloudfront.net)||:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-04-10 16:22:35 ERROR 404: Not Found.
[log]      /home/chiste/mxe-octave/log/build-m4-download

Makefile:832: recipe for target '/home/chiste/mxe-octave/installed-packages/build-m4' failed
make[1]: * [/home/chiste/mxe-octave/installed-packages/build-m4] Error 1
make[1]: Leaving directory '/home/chiste/mxe-octave'
Makefile:553: recipe for target 'all' failed
make: * [all] Error 2_

Used system: Ubuntu 16.04 LTS

-X- <sinac>
Fri 10 Feb 2017 02:53:24 PM UTC, comment #3: 

I confirmed John D.'s hypothesis.  The incremental build of MXE Octave occasionally will fail after certain packages source versions have been updated which triggers a partial build.

The resolution is simple, but very slow.  Use "make clean" to clear out all the compiled code.  Then run "./configure".  Then run make to re-build the whole thing which takes a very long time.

Rik <rik5>
Group administrator
Fri 10 Feb 2017 12:12:29 AM UTC, comment #2: 

comment #1 is unrelated - it is just warning that it couldnt find a comptible natve octave, so octave forge packages 'may' fail.

I saw teh original issue on a machine a few days ago - doing build from a clean build didnt show the same issue (at least for me) so I am guessing there is some issue when rebuilding the build-gcc after it has already been built.

build-gcc would be rebuilt because build-xz was updated, even though it doesnt depend on it -

John Donoghue <lostbard>
Group Member
Thu 09 Feb 2017 07:28:15 PM UTC, comment #1: 

Maybe this is related.  After I run configure in the MXE directory, and then run make I get

[check requirements]
bash: octave: command not found
Warning - could not find native build version 4.3.0+ of octave - some packages may fail, but continuing

Rik <rik5>
Group administrator
Thu 09 Feb 2017 06:28:23 PM UTC, original submission:  

The MXE Octave target is failing on the build-gcc target.  The bottom of the build-gcc log file is:

libtool: install: warning: remember to run `libtool --finish /home/rik/wip/Projects_Mine/mxe-octave/usr/libexec/gcc/x86_64-w64-mingw32/4.9.4'
make[4]: Leaving directory '/home/rik/wip/Projects_Mine/mxe-octave/tmp-build-gcc/gcc-4.9.4.build/lto-plugin'
make[3]: Leaving directory '/home/rik/wip/Projects_Mine/mxe-octave/tmp-build-gcc/gcc-4.9.4.build/lto-plugin'
Configuring in ./gcc
configure: creating cache ./config.cache
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-w64-mingw32
checking LIBRARY_PATH variable... ok
checking GCC_EXEC_PREFIX variable... ok
checking whether to place generated files in the source directory... no
configure: error: cannot execute: /home/rik/wip/Projects_Mine/mxe-octave/usr/bin/x86_64-w64-mingw32-ld: check --with-ld or env. var. DEFAULT_LINKER
Makefile:3919: recipe for target 'configure-gcc' failed
make[2]: *** [configure-gcc] Error 1
make[2]: Leaving directory '/home/rik/wip/Projects_Mine/mxe-octave/tmp-build-gcc/gcc-4.9.4.build'
/home/rik/wip/Projects_Mine/mxe-octave/Makefile:832: recipe for target 'build-only-build-gcc' failed
make[1]: *** [build-only-build-gcc] Error 2
make[1]: Leaving directory '/home/rik/wip/Projects_Mine/mxe-octave'

I tried re-running make, I tried restricting JOBS to 1, but nothing worked.

Rik <rik5>
Group administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by sinac (Posted a comment)
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by rik5 (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only project members can vote.


    Follow 7 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-18 mtmiller Severity3 - Normal 1 - Wish
        Priority4 3 - Low
    2019-02-18 mtmiller Carbon-CopyRemoved 80942 -
    2017-09-06 mtmiller SummaryMXE-Octave fails incremental builds and requires &quot;make clean&quot; [mxe-octave] incremental builds fail and require "make clean"
    2017-02-10 rik5 Priority5 - Normal 4
    2017-02-10 rik5 StatusNone Confirmed
        SummaryCannot build MXE-Octave #2 MXE-Octave fails incremental builds and requires "make clean"

    Back to the top

    Powered by Savane 3.12