bugGNU Octave - Bugs: bug #53408, configure may find...

 
 

bug #53408: configure may find qcollectiongenerator via qtchooser even though it is not actually installed

Submitter:  Marshall <marsian>
Submitted:  Wed 21 Mar 2018 08:21:18 PM UTC
   
 
Category:  Configuration and Build System Severity:  3 - Normal
Priority:  3 - Low Item Group:  Build Failure
Status:  Wont Fix Assigned to:  None
Originator Name:  Marsian 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

Wed 28 Mar 2018 06:03:27 PM UTC, comment #20: 

When you are cross-building for Windows with mxe-octave, it takes care of building and setting up all of the dependency libraries including Qt and Qscintilla2.

It is only because Qt is now needed to run the 'make dist' target that you need any Qt at all on your host system.

Like I said in comment #14, there is a bug here, but it's very subtle and may end up making the configure script too complicated. The problem is that the OS installs /usr/bin/qcollectiongenerator as a hook, while the actual qcollectiongenerator program may or may not be installed.

I'll close this as won't fix, but it's easy enough to reopen if someone thinks this is important.

Mike Miller <mtmiller>
Group Member
Wed 28 Mar 2018 05:58:46 PM UTC, comment #19: 

Installing qtbase5-dev resolved the error reported in this bug report (but I still haven't had a successful build, yet, e.g. bug #53454), so this bug report could probably be closed. However I found other new warnings that required new dependency installs (qscintilla for qt5): Is mxe supposed to take care of these dependencies? Or is there a way to know what new dependencies are added for new builds, so I can manually install them before trying to build?

Marshall <marsian>
Mon 26 Mar 2018 05:35:33 PM UTC, comment #18: 

I meant to say: Your host machine does not have Qt 5 development libraries, it does have Qt 4 development libraries, but not all of the support tools.

You have probably been building Octave fine until recently. You will just have to install some extra packages on your host machine to get a successful 'make dist' now.

Mike Miller <mtmiller>
Group Member
Mon 26 Mar 2018 05:34:07 PM UTC, comment #17: 

I am talking about the host build, not the mxe cross-build.

You don't have control over the host build configure options since you are using 'make hg-octave-dist'.

By default Octave tries Qt 5 and then Qt 4. Your build tried to find Qt 5, failed, and fell back to Qt 4. Your host machine has neither Qt 4 development libraries but does not have all of the packages needed to build Octave, hence your 'hg-octave-dist' is failing.

Mike Miller <mtmiller>
Group Member
Mon 26 Mar 2018 05:01:08 PM UTC, comment #16: 

Accoring to the attached log, it didn't find any of the qt5 libraries, but did find the 1t4 stuff, which is why it is currently attempting to compile with qt4.

Do you have all the qt5 dev tools installed ? qtbase5-dev ?

John Donoghue <lostbard>
Group Member
Mon 26 Mar 2018 03:57:11 PM UTC, comment #15: 

I'm not trying to build with qt4 at all. I thought I was trying to build with qt5. I am using the

--enable-qt5

configure option. How do I get it to stop looking for qt4? How do I get it to look for the qt5 files?

Marshall <marsian>
Sun 25 Mar 2018 02:53:59 AM UTC, comment #14: 

Ok, I see the error and the configuration in your config.log.

The short answer is you are missing the package qt4-dev-tools on your system. You should install it if you want to keep building Octave with Qt 4. But you should definitely move to Qt 5 especially because you are on a recent enough Ubuntu.

If someone wants to look at fixing this, the error is that /usr/bin/qcollectiongenerator is found by configure and set as the variable QCOLLECTIONGENERAOR. Same with qhelpgenerator. But those files in /usr/bin/ are just symlinks to qtchooser, regardless of whether the sub-packages that provide qcollectiongenerator and qhelpgenerator for a given version of Qt are actually installed.

I believe this has come up before because the Qt package can be quite confusing. Octave's configure script has to try to figure out all the possible ways Qt libraries and tools can be installed without getting so complex that we can't maintain it.

Mike Miller <mtmiller>
Group Member
Sat 24 Mar 2018 04:29:48 PM UTC, comment #13: 

Finally uploaded it. The original file wouldn't upload at 2475 KB despite the message stating the limit as 16384 kB. It is compressed as a 7zip file.

Marshall <marsian>
Sat 24 Mar 2018 12:24:26 AM UTC, comment #12: 

Savannah has a maximum file size, you may need to compress it or post it elsewhere and link to it.

Mike Miller <mtmiller>
Group Member
Sat 24 Mar 2018 12:21:50 AM UTC, comment #11: 

Well I thought I attached it, but I don't seem to be successful. How do I attach a file?

Marshall <marsian>
Sat 24 Mar 2018 12:14:57 AM UTC, comment #10: 

I uninstalled qt4-dev-tools (and a few related packages that were installed at the same time). I left qt5 installed. Here's the config.log file after the build failure.


Marshall <marsian>
Thu 22 Mar 2018 11:37:52 PM UTC, comment #9: 

The difference is that Qt is now required to run 'make dist', that was not the case a couple weeks ago.  See bug #53414.

I would like to see the octave-hg-repo/.build/config.log file when you get it back in a state where 'make hg-octave-dist' fails.

Mike Miller <mtmiller>
Group Member
Thu 22 Mar 2018 11:26:37 PM UTC, comment #8: 

If I install qt4 qcollectiongenerator via

sudo apt-get install qt4-dev-tools

then, I can get it to build. But I didn't have to install qt4 or qt5 before and have always been using the  --enable-qt5 configure option, so I assume I was building with qt5 before without installing qt5 on my system as I just did...

I'd be glad to supply config.log files, but which one(s)? I found one in the mxe-octave folder and one in the octave-hg-repo/.build folder as well as several other locations. I'll uninstall qt4 to reproduce the build error and then get the related config.log files.

Marshall <marsian>
Thu 22 Mar 2018 06:44:24 PM UTC, comment #7: 

I think you'll have to provide a full config.log now. I can't reproduce this at all, but I've had a successful build with Qt 5 for months now, so it's hard to know if something small is being overlooked.

Mike Miller <mtmiller>
Group Member
Thu 22 Mar 2018 06:39:39 PM UTC, comment #6: 

After installing qcollectiongenerator for qt5 (with sudo apt-get install qttools5-dev-tools), it still failed. It was still looking for the qt4 tools.

Marshall <marsian>
Thu 22 Mar 2018 06:10:59 PM UTC, comment #5: 

This looks likely. I don't think configure checks anywhere that all of the Qt tools (lrelease, moc, qcollectiongenerator, qhelpgenerator, rcc, and uic) are all from the same version of Qt.

Mike Miller <mtmiller>
Group Member
Thu 22 Mar 2018 05:34:36 PM UTC, comment #4: 

I needed to ensure I had installed qcollectiongenerator for qt5, otherwise it would use the qt4 one as was the only one found.

John Donoghue <lostbard>
Group Member
Thu 22 Mar 2018 03:01:11 PM UTC, comment #3: 

I tried again, starting fresh with a new repo for MXE and Octave (I believe 'make hg-octave-dist' pulls the most recent). HG-ID: da2359935a39+ and

~/mxe-octave/octave-hg-repo$ hg log -l 1
changeset:   24959:be5660b5dead
bookmark:    @
tag:         tip
parent:      24957:43e384b98230
parent:      24958:1fa6125c6d08
user:        Kai T. Ohlhus <k.ohlhus@gmail.com>
date:        Wed Mar 21 23:11:35 2018 +0100
summary:     maint: merge stable to default


I still get the same error.


>> hg clone http://hg.octave.org/mxe-octave/ mxe-octave && cd mxe-octave/
>> autoconf
>> ./configure --enable-devel-tools --enable-binary-packages --enable-octave=default --enable-qt5 --enable-64 --enable-windows-64

I still have to change build-flex.mk to version 2.6.3 according to bug #52708, and then

>> make hg-octave-dist


Marshall <marsian>
Wed 21 Mar 2018 08:42:17 PM UTC, comment #2: 

Ah, I see you are using `make hg-octave-dist`.

So yes, this has nothing to do with mxe-octave, and I believe this should be fixed by changes that have been made on stable that are now merged to default.

Please try again with the current default 6d61e066a2a2.

Mike Miller <mtmiller>
Group Member
Wed 21 Mar 2018 08:34:38 PM UTC, comment #1: 

Couple things here:

  • There have been some fixes on the stable branch, that may not be merged to the dev branch yet.


  • I am absolutely sure that this build rule should not be executed at all when building from a proper `dist` tarball. When you build with mxe-octave, you are dropping in an octave-x.y.z.tar.xz tarball made from `make dist`, right?


Is this failure coming from the mxe-octave cross-build of Octave, or is it coming from the part where you are trying to build a dist tarball?

Mike Miller <mtmiller>
Group Member
Wed 21 Mar 2018 08:21:18 PM UTC, original submission:  

I get the following build failure when building for windows on a ubuntu VM:


  GEN      doc/interpreter/splinefit6.png
  MAKEINFO doc/interpreter/octave.html/.octave-html-stamp
  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:27808: recipe for target 'doc/interpreter/octave_interpreter.qch' failed
make[3]: *** [doc/interpreter/octave_interpreter.qch] Error 1


I am using mxe-octave,

./configure --enable-devel-tools --enable-binary-packages --enable-octave=default --enable-qt5 --enable-64 --enable-windows-64
make hg-octave-dist


I originally had failures similar to those in bug #53371, missing lxml.html, but I installed needed dependencies for it and now get this error. I also think it's strange that I have the --enable-qt5 option, but it is looking for a file in a qt4 folder.

Marshall <marsian>

 

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

Attach Files:
   
   
Comment:
   

Attached Files
file #43659:  config.7z added by marsian (73KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by lostbard (Posted a comment)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by marsian (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 9 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2018-03-28 mtmiller StatusConfirmed Wont Fix
        Open/ClosedOpen Closed
    2018-03-25 mtmiller Priority5 - Normal 3 - Low
        StatusWorks For Me Confirmed
        Summarybuild failure, missing qcollectiongenerator configure may find qcollectiongenerator via qtchooser even though it is not actually installed
    2018-03-24 marsian Attached File- Added config.7z, #43659
    2018-03-21 mtmiller StatusNeed Info Works For Me
        Operating SystemMicrosoft Windows GNU/Linux
    2018-03-21 mtmiller StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code