bugGNU Octave - Bugs: bug #53368, build from dist tarball fails at...

 
 

bug #53368: build from dist tarball fails at missing prepare_qhelp.py script

Submitter:  Philip Nienhuis <philipnienhuis>
Submitted:  Sat 17 Mar 2018 07:55:33 AM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  philipnienhuis Open/Closed:  * Closed
Release:  * dev Operating System:  * Other
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Tue 20 Mar 2018 01:06:50 AM UTC, comment #16: 

@Tatsuro - this is not the error that this bug report was about.

You should ask for help on the mailing list. This is probably related to the version of Qt you are using and whether the right subpackages of the Qt distribution are installed correctly.

Mike Miller <mtmiller>
Group Member
Tue 20 Mar 2018 12:35:59 AM UTC, comment #15: 

I tried recent stable snapshot. (16155531bda4)


  GEN      doc/interpreter/octave_interpreter.qch
qcollectiongenerator: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qcollectiongenerator': No such file or directory
Makefile:27894: recipe for target 'doc/interpreter/octave_interpreter.qch' failed
make[2]: *** [doc/interpreter/octave_interpreter.qch] Error 1
make[2]: Leaving directory '/home/mousei7/work/Octave/octave-hg/octave'
Makefile:26512: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/mousei7/work/Octave/octave-hg/octave'
Makefile:10167: recipe for target 'all' failed
make: *** [all] Error 2


I configured with qt.
Perhaps my setting qt on ubuntu 16.04 is wrong.

Any suggestions?

Tatsuro MATSUOKA <tmacchant>
Mon 19 Mar 2018 02:05:19 AM UTC, comment #14: 

This should be fixed now, after a pull and a make dist. As with other doc files, they should only need to be built once, by the person preparing the dist source tarball.

https://hg.savannah.gnu.org/hgweb/octave/rev/8862b95d64ec

Mike Miller <mtmiller>
Group Member
Sun 18 Mar 2018 08:59:32 PM UTC, comment #13: 

and I had just gotten build-lxml working ... :)



John Donoghue <lostbard>
Group Member
Sun 18 Mar 2018 08:47:57 PM UTC, comment #12: 

After entering that rule as per comment #11, building a new dist archive, and reconfiguring mxe-octave's makefile to build the docs, mxe-octave built default-octave fine from that dist (building OF packages ATM).

Shall I wait until the build has run on Windows and I have checked the docs, or can this bug be closed now?

Philip Nienhuis <philipnienhuis>
Group Member
Sun 18 Mar 2018 07:51:18 PM UTC, comment #11: 

Thanks Mike, that piece of info makes very much sense.
I didn't realize that copying  file would change the time stamp - I mostly run Windows where time stamps are usually preserved when copying.

I suppose the rule should be inserted in doc/interpreter/module.mk in the doc_EXTRA_DIST section?

Philip Nienhuis <philipnienhuis>
Group Member
Sun 18 Mar 2018 07:17:58 PM UTC, comment #10: 

There is no need to add lxml to the mxe-octave build system.

Sorry, I must have missed the very important error at the beginning of all of this. The prepare_qhelp.py script is missing in the tarball.

The way you are copying it into the source tree gives it a newer timestamp. Try preserving an older timestamp on the file so that the build rule doesn't actually need to run.

If you're not sure how to do that, then the important part is that prepare_qhelp.py needs to be added to EXTRA_DIST in the makefile. When it is added to the tarball, the build rule won't be executed and there is no need to run Python.

This affects anyone trying to build from the source tarball, so not just an mxe-octave error, retitling.

Mike Miller <mtmiller>
Group Member
Sun 18 Mar 2018 11:56:11 AM UTC, comment #9: 

I run make hg-octave-dist which builds a nive version of octave, creates a tarball and copies to pkg (works on my machine for 4.5.0+)

then use that for a normal make (or make nsis-installer) (fails on my computer with the prepare_qhelp.py error.)

John Donoghue <lostbard>
Group Member
Sun 18 Mar 2018 11:01:37 AM UTC, comment #8: 

@Mike:
Maybe I shouldn't feed "make all dist" targets to mxe-octave but rather "make dist"? I believe on OctConf, while busy with other fixes, I picked up elements from a discussion about the difference being related to doc building but if so it didn't trickle down far enough :-)

(adapting title a bit)

Philip Nienhuis <philipnienhuis>
Group Member
Sat 17 Mar 2018 10:34:35 PM UTC, comment #7: 

The Python lxml dependency is new and may be temporary. Do take a look at getting it to work, but be prepared in case things change in the next few days.

This should only be needed on the machine that is used to build the Octave source distribution (make dist). Isn't the dist tarball given to mxe-octave as input? I'm surprised that this build step is being executed at all.

Mike Miller <mtmiller>
Group Member
Sat 17 Mar 2018 09:43:21 PM UTC, comment #6: 

I'll take a look

John Donoghue <lostbard>
Group Member
Sat 17 Mar 2018 09:15:40 PM UTC, comment #5: 

We install a build-python (python 2.7.9) target that is used during the build of mxe when required, so would need a new build-lxml, as well as dependancies, build-xml2 ...

John Donoghue <lostbard>
Group Member
Sat 17 Mar 2018 08:58:25 PM UTC, comment #4: 

@JohnD:
I'm unsure, I just see that it is required now on my Linux box as an Octave dependency; there I had to use the package manager to install it after which Octave could be built.

I hoped the lxml files would be platform-independent so that a soft-link from mxe to the linux-based installation (in /usr/lib64/python-2.7.2/site-packages/) would do, but that didn't work, probably because my build box is 64-bit and mxe's python is 32 bits.

Looking on the lxml website I saw that "Cython" is needed to build python-lxml. So if the files aren't just text I suppose mxe indeed needs to build them.

See also the maintainers list, Tatsuro hit the same issue.
I circumvented it for the time being by not (cross-)building the docs.

Philip Nienhuis <philipnienhuis>
Group Member
Sat 17 Mar 2018 07:28:17 PM UTC, comment #3: 

so is lxml a requirement needed to be built by mxe, or a requirement that needs to be on the builders machine?

John Donoghue <lostbard>
Group Member
Sat 17 Mar 2018 09:03:21 AM UTC, comment #2: 

"leads to a" -> "uncovers the following"

Philip Nienhuis <philipnienhuis>
Group Member
Sat 17 Mar 2018 09:01:23 AM UTC, comment #1: 

Adding prepare_qhelp.py into doc/interpreter leads to a dependency error I know from Linux that could be solved by installing python-lxml (for Python-2 that is):

:
Traceback (most recent call last):
  File "/home/philip/devel/octdev/mxe/mxe64_20180310/tmp-default-octave/octave-4.5.0+/doc/interpreter/prepare_qhelp.py", line 27, in <module>
    import lxml.html as lh
ImportError: No module named lxml.html


Philip Nienhuis <philipnienhuis>
Group Member
Sat 17 Mar 2018 07:55:33 AM UTC, original submission:  


:
mv etc/icons/org.octave.Octave.desktop-t etc/icons/org.octave.Octave.desktop
make[4]: *** No rule to make target '/home/philip/devel/octdev/mxe/mxe64_20180310/tmp-default-octave/octave-4.5.0+/doc/interpreter/prepare_qhelp.py', needed by 'doc/interpreter/octave_interpreter.qhc'.  Stop.
make[4]: *** Waiting for unfinished jobs....


Philip Nienhuis <philipnienhuis>
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

Digest:
   bug dependencies.

 

Carbon-Copy List
  • -email is unavailable- added by tmacchant (Posted a comment)
  • -email is unavailable- added by avinoam (Updated the item)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by philipnienhuis (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 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-03-19 mtmiller StatusConfirmed Fixed
        Open/ClosedOpen Closed
    2018-03-18 mtmiller Summarymxe-octave: build fails at missing prepare_qhelp.py /lxml build from dist tarball fails at missing prepare_qhelp.py script
    2018-03-18 cdf Dependencies- bugs #53371 is dependent
    2018-03-18 philipnienhuis Summarymxe-octave: build fails at missing prepare_qhelp.py mxe-octave: build fails at missing prepare_qhelp.py /lxml
    2018-03-18 avinoam StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code