Bug 1307322 - aqemu: FTBFS in rawhide
aqemu: FTBFS in rawhide
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: aqemu (Show other bugs)
24
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Stephen Gordon
Fedora Extras Quality Assurance
:
Depends On:
Blocks: F24FTBFS
  Show dependency treegraph
 
Reported: 2016-02-13 16:01 EST by Fedora Release Engineering
Modified: 2016-03-26 13:57 EDT (History)
2 users (show)

See Also:
Fixed In Version: aqemu-0.8.2-17.fc24 aqemu-0.8.2-18.fc24
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-03-26 13:57:18 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
build.log (71.97 KB, text/plain)
2016-02-13 16:01 EST, Fedora Release Engineering
no flags Details
root.log (98.01 KB, text/plain)
2016-02-13 16:01 EST, Fedora Release Engineering
no flags Details
state.log (617 bytes, text/plain)
2016-02-13 16:01 EST, Fedora Release Engineering
no flags Details

  None (edit)
Description Fedora Release Engineering 2016-02-13 16:01:30 EST
Your package aqemu failed to build from source in current rawhide.

http://koji.fedoraproject.org/koji/taskinfo?taskID=12806538

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
Comment 1 Fedora Release Engineering 2016-02-13 16:01:32 EST
Created attachment 1124036 [details]
build.log
Comment 2 Fedora Release Engineering 2016-02-13 16:01:33 EST
Created attachment 1124037 [details]
root.log
Comment 3 Fedora Release Engineering 2016-02-13 16:01:34 EST
Created attachment 1124038 [details]
state.log
Comment 4 Yaakov Selkowitz 2016-02-16 22:28:53 EST
/builddir/build/BUILD/aqemu-0.8.2/Main_Window.cpp: In member function 'virtual void Main_Window::closeEvent(QCloseEvent*)':
/builddir/build/BUILD/aqemu-0.8.2/Main_Window.cpp:216:43: error: invalid initialization of reference of type 'const QString&' from expression of type 'bool'
        tr("Cannot Save Settings!"), false );
                                           ^

This looks like "Cannot convert 'bool' to 'T*'" in https://gcc.gnu.org/gcc-6/porting_to.html
Comment 5 Stephen Gordon 2016-02-17 10:59:59 EST
(In reply to Yaakov Selkowitz from comment #4)
> /builddir/build/BUILD/aqemu-0.8.2/Main_Window.cpp: In member function
> 'virtual void Main_Window::closeEvent(QCloseEvent*)':
> /builddir/build/BUILD/aqemu-0.8.2/Main_Window.cpp:216:43: error: invalid
> initialization of reference of type 'const QString&' from expression of type
> 'bool'
>         tr("Cannot Save Settings!"), false );
>                                            ^
> 
> This looks like "Cannot convert 'bool' to 'T*'" in
> https://gcc.gnu.org/gcc-6/porting_to.html

Thanks, I am going to have to find some downtime to go through these - probably over the weekend. Unfortunately upstream for this project is long since dormant, but I will try and do it enough to get it into F24 and then potentially orphan/retire in F25.
Comment 6 Stephen Gordon 2016-02-24 07:18:58 EST
These fix the initial error noted in comment # 4:

master: http://pkgs.fedoraproject.org/cgit/rpms/aqemu.git/commit/?id=d41a317c988d430900c69fe4ba37c289417cccaa
F24: http://pkgs.fedoraproject.org/cgit/rpms/aqemu.git/commit/?h=f24&id=d41a317c988d430900c69fe4ba37c289417cccaa

Unfortunately this brings us to:

/builddir/build/BUILD/aqemu-0.8.2/VM.cpp: In member function 'bool Virtual_Machine::Load_VM(const QString&)':
/builddir/build/BUILD/aqemu-0.8.2/VM.cpp:4566:108: error: no matching function for call to 'QDomElement::firstChildElement(bool)'
     SPICE.Use_Video_Stream_Compression( Second_Element.firstChildElement( ! "Use_Video_Stream_Compression" ).text() == "false" );
                                                                                                            ^
In file included from /usr/include/QtXml/QDomDocument:1:0,
                 from /builddir/build/BUILD/aqemu-0.8.2/VM.cpp:29:
/usr/include/QtXml/qdom.h:234:17: note: candidate: QDomElement QDomNode::firstChildElement(const QString&) const
     QDomElement firstChildElement(const QString &tagName = QString()) const;
                 ^~~~~~~~~~~~~~~~~
/usr/include/QtXml/qdom.h:234:17: note:   no known conversion for argument 1 from 'bool' to 'const QString&'
/builddir/build/BUILD/aqemu-0.8.2/VM.cpp:4598:100: error: no matching function for call to 'QDomElement::firstChildElement(bool)'
     SPICE.Use_Playback_Compression( Second_Element.firstChildElement( ! "Use_Playback_Compression" ).text() == "false" );
                                                                                                    ^
In file included from /usr/include/QtXml/QDomDocument:1:0,
                 from /builddir/build/BUILD/aqemu-0.8.2/VM.cpp:29:
/usr/include/QtXml/qdom.h:234:17: note: candidate: QDomElement QDomNode::firstChildElement(const QString&) const
     QDomElement firstChildElement(const QString &tagName = QString()) const;
                 ^~~~~~~~~~~~~~~~~
/usr/include/QtXml/qdom.h:234:17: note:   no known conversion for argument 1 from 'bool' to 'const QString&'
CMakeFiles/aqemu.dir/build.make:1212: recipe for target 'CMakeFiles/aqemu.dir/VM.o' failed
make[2]: *** [CMakeFiles/aqemu.dir/VM.o] Error 1
Comment 7 Jan Kurik 2016-02-24 09:33:51 EST
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase
Comment 8 Yaakov Selkowitz 2016-02-24 10:32:05 EST
OK, that's just weird negating a string like that, because the result is obviously false, which prior to C++11 would be converted to a null pointer with a warning:

/builddir/build/BUILD/aqemu-0.8.2/VM.cpp:4566:108: warning: converting 'false' to pointer type for argument 1 of 'QString::QString(const char*)' [-Wconversion-null]

The Qt4 documentation states wrt firstChildElement():

> Returns the first child element with tag name tagName if tagName is non-empty;
> otherwise returns the first child element.

Either the negated string was meant as a form of comment:

     SPICE.Use_Video_Stream_Compression( Second_Element.firstChildElement( /* "Use_Video_Stream_Compression" */ ).text() == "false" );
     SPICE.Use_Playback_Compression( Second_Element.firstChildElement( /* "Use_Playback_Compression" */ ).text() == "false" );

Or the negations don't actually belong there.  I'm not familiar enough with the code to tell which, but it was previously being compiled as the former.
Comment 9 Stephen Gordon 2016-03-19 22:54:44 EDT
Alright, finally found some spare time to dig into this and in my travels came across this:

https://sourceforge.net/p/aqemu/patches/9/

Which I in turn found from:

https://retracile.net/blog/2014/12/29/19.00

This matches the conclusion I had come to after staring at it for a while which is that the ! doesn't belong there at all. Working on applying the fix now.
Comment 10 Stephen Gordon 2016-03-19 23:55:44 EDT
aqemu-0.8.2-17.fc24 fixes the FTBFS issues - running it however indicates Bug # 1268553 also needs resolution to get something useful.
Comment 11 Fedora Update System 2016-03-20 00:22:47 EDT
aqemu-0.8.2-17.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-1a2a5a72f7
Comment 12 Fedora Update System 2016-03-20 11:39:14 EDT
aqemu-0.8.2-17.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-1a2a5a72f7
Comment 13 Fedora Update System 2016-03-20 12:54:33 EDT
aqemu-0.8.2-18.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-1a2a5a72f7
Comment 14 Fedora Update System 2016-03-21 18:32:11 EDT
aqemu-0.8.2-18.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-1a2a5a72f7
Comment 15 Fedora Update System 2016-03-26 13:57:14 EDT
aqemu-0.8.2-18.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.