bugGNU Octave - Bugs: bug #44782, Make rule to copy HTML images...

 
 

bug #44782: Make rule to copy HTML images exhibits race condition

Submitter:  Avinoam Kalma <avinoam>
Submitted:  Wed 08 Apr 2015 08:31:51 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Avinoam Open/Closed:  * Closed
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

Fri 14 Aug 2015 09:35:17 PM UTC, comment #8: 

I'm pretty sure this has been fixed now.  I'm going to close the report and it can be re-opened if the bug resurfaces.

Rik <rik5>
Group administrator
Fri 24 Jul 2015 03:19:08 PM UTC, comment #7: 

Probably it has been fixed, but it's hard to tell because the doc build is still in flux.  I had highlighted a rule that I thought was the problem, but there was not actual definitive proof.  I would say that we need to wait until after the doc build calms down and then see if one has to run make repeatedly.

Rik <rik5>
Group administrator
Fri 24 Jul 2015 04:28:53 AM UTC, comment #6: 

Has this been fixed with the reworked doc/module.mk rule:


$(HTMLDIR_IMAGES) : doc/interpreter/octave.html/%.png: doc/interpreter/%.png $(OCTAVE_HTML_STAMP)
        $(AM_V_GEN)cp $< $@


?

Mike Miller <mtmiller>
Group Member
Thu 16 Apr 2015 09:38:49 PM UTC, comment #5: 

I re-titled the bug to reflect the true problem which still remains.  Glad that you can at least workaround it.

Rik <rik5>
Group administrator
Thu 16 Apr 2015 09:32:45 PM UTC, comment #4: 


I have added a second make, and since then I did not see such problems in compiling MXE-Octave, so thie report can be closed.

Thanks again.

Avinoam Kalma <avinoam>
Group Member
Thu 09 Apr 2015 06:53:53 PM UTC, comment #3: 


Thanks for your help, I will try this.

Avinoam Kalma <avinoam>
Group Member
Wed 08 Apr 2015 09:49:36 PM UTC, comment #2: 

I'm pretty sure this is a timestamp issue as well.  The rule in Makefile.am that is the source of the problem is:


$(HTMLDIR_IMAGES): $(IMAGES_PNG) | octave.html
        cp $(@F) octave.html


It could be re-worked, or for the time being what I do is run 'make' twice in case there are any timestamps that were not adjusted correctly in the first run.  This doesn't happen frequently, but it can happen.


cd ~/octave-build
make
make    # second, precautionary make
make dist
cp octave-4.0.0-rc2.tar.gz ~/mxe-octave/pkg



Rik <rik5>
Group administrator
Wed 08 Apr 2015 09:09:44 PM UTC, comment #1: 

I think the problem is caused by timestamps on figure files being out of order somehow in the doc directory.  Since those figures are created by running Octave it fails because you are cross compiling and there is no provision in the build system for running a version of Octave other than the one that was just built (which doesn't work, because you are cross compiling).

A workaround is to clean out the doc directory, including the generated figures, before running "make dist" to create the octave-VERSION.tar.gz file.

If someone wants to work on a fix, maybe it would be possible to either play with timestamps so that the generated files all have timestamps that are newer than the source files or force the figures to be rebuilt from scratch when running the dist target for Octave.

John W. Eaton <jwe>
Group administrator
Wed 08 Apr 2015 08:31:51 PM UTC, original submission:  


When I build MXE-Octave in Linux (Ubuntu) using the
following script


cd ~/octave-build
make
make dist
cp octave-4.0.0-rc2.tar.gz ~/mxe-octave/pkg

cd ~/mxe-octave
PATH=`pwd`/usr/bin:$PATH
autoconf
./configure --enable-octave=default
make nsis-installer


I get sometimes the following error:

 Making install in interpreter
make[5]: Entering directory `/home/avinoam/mxe-octave/tmp-default-octave/octave-4.0.0-rc2/.build/doc/interpreter'
cp voronoi.png octave.html
cp: cannot stat ‘voronoi.png’: No such file or directory
make[5]: *** [octave.html/voronoi.png] Error 1
make[5]: Leaving directory `/home/avinoam/mxe-octave/tmp-default-octave/octave-4.0.0-rc2/.build/doc/interpreter'
make[4]: *** [install-recursive] Error 1
make[4]: Leaving directory `/home/avinoam/mxe-octave/tmp-default-octave/octave-4.0.0-rc2/.build/doc'
make[3]: *** [install-recursive] Error 1
make[3]: Leaving directory `/home/avinoam/mxe-octave/tmp-default-octave/octave-4.0.0-rc2/.build'
make[2]: *** [install] Error 2
make[2]: Leaving directory `/home/avinoam/mxe-octave/tmp-default-octave/octave-4.0.0-rc2/.build'
make[1]: *** [build-only-default-octave] Error 2
make[1]: Leaving directory `/home/avinoam/mxe-octave'


If I run this script again, it succeeds.
What's the reason of the failure?
Thanks.

Avinoam Kalma <avinoam>
Group Member

 

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

Attach Files:
   
   
Comment:
   

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 mtmiller (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by avinoam (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 group members can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-08-14 rik5 StatusNeed Info Fixed
        Open/ClosedOpen Closed
    2015-07-24 mtmiller StatusNone Need Info
    2015-04-16 rik5 SummaryProblem in building MXE-Octave Make rule to copy HTML images exhibits race condition

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code