Opened 9 years ago

Closed 8 years ago

Last modified 8 years ago

#47204 closed defect (fixed)

qtscriptgenerator @0.2.0_0: build error (command execution failed)

Reported by: victor.tran1@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mkae (Marko Käning), RJVB (René Bertin), macports@…, diazona+macportstrac@…, Greisby (Greisberger Christophe), misocurdo@…, persramd@…, iMiKED (iMiKE)
Port: qtscriptgenerator

Description

I'm trying to install Amarok, but qtscriptgenerator fails to build properly.

OS X Yosemite 10.10.2

Attachments (7)

main.log (976.0 KB) - added by victor.tran1@… 9 years ago.
Log file
qtsg.diff (1.8 KB) - added by RJVB (René Bertin) 8 years ago.
portfile diff
remove-QtScriptFutureIterator.diff (2.8 KB) - added by RJVB (René Bertin) 8 years ago.
patch-include-everything.diff (2.1 KB) - added by RJVB (René Bertin) 8 years ago.
patch-build-system-for-MacPorts.diff (2.8 KB) - added by RJVB (René Bertin) 8 years ago.
patch-qtsg_all.diff (11.4 KB) - added by michaelld (Michael Dickens) 8 years ago.
qtsg_fail.log.bz2 (38.5 KB) - added by michaelld (Michael Dickens) 8 years ago.

Download all attachments as: .zip

Change History (38)

Changed 9 years ago by victor.tran1@…

Attachment: main.log added

Log file

comment:1 Changed 9 years ago by victor.tran1@…

Cc: victor.tran1@… added

Cc Me!

comment:2 Changed 9 years ago by larryv (Lawrence Velázquez)

Cc: victor.tran1@… removed
Owner: changed from macports-tickets@… to michaelld@…
Summary: qtscriptgenerator 0.2.0_0 build error (command execution failed)qtscriptgenerator @0.2.0_0: build error (command execution failed)

Thanks for the report. In future tickets, please Cc any port maintainers (port info --maintainers qtscriptgenerator)

comment:3 Changed 9 years ago by mkae (Marko Käning)

Cc: mk@… rjvbertin@… added
Version: 2.3.3

comment:4 Changed 9 years ago by RJVB (René Bertin)

Fails for me too on OS X 10.9 . I'm suspecting a syntax incompatibility with clang++ . Looking into it.

comment:5 Changed 9 years ago by RJVB (René Bertin)

Got a bit further, but still blocked. Comparing to a build on Linux, something must go wrong generating the code for QtScriptFutureIterator. On linux this class gets a well-filled implementation, on OS X the corresponding .cpp file remains in skeletal form. I haven't tried to understand why. The attached patch basically removes the QtScriptFutureIterator class to avoid the whole issue, but then the build fails later on because of missing targets (which I doubt are related to my patch):

make[2]: Entering directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_gui'
make[2]: *** No rule to make target `../../generated_cpp/com_trolltech_qt_gui/plugin.cpp', needed by `plugin.o'.  Stop.
make[2]: Leaving directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_gui'
make[1]: *** [sub-qtscript_gui-all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: Entering directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_network'
make[2]: *** No rule to make target `../../generated_cpp/com_trolltech_qt_network/plugin.cpp', needed by `plugin.o'.  Stop.
make[2]: Leaving directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_network'
make[2]: Entering directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_core'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_core'
make[1]: *** [sub-qtscript_network-all] Error 2
make[2]: Entering directory `.../work/qtscriptgenerator-src-0.2.0/qtbindings/qtscript_opengl'
make[2]: *** No rule to make target `../../generated_cpp/com_trolltech_qt_opengl/plugin.cpp', needed by `plugin.o'.  Stop.

Hopefully Michaelld can get this a working. In the meantime, Amarok really isn't the best mediaplayer around O:-)

comment:6 Changed 9 years ago by michaelld (Michael Dickens)

I see those errors too; haven't had time to look into it. QtScript Generator is pretty old now, and it's really not clear where it's repo is being stored. It's still necessary, though, so we'll figure something out ...

comment:7 Changed 9 years ago by RJVB (René Bertin)

I see that the port is distributable, so what do the buildbots say (as in, on what OS X versions does the port build, and with which compiler)?

comment:8 Changed 9 years ago by macports@…

Cc: macports@… added

Cc Me!

comment:9 Changed 9 years ago by macports@…

Just a note that the Amarok homepage OS X download is just instructions to… install this port. They don’t have a built package available there.

comment:10 Changed 9 years ago by RJVB (René Bertin)

Also not that that page is only a few months short of 3 years old and was written in a time gcc was still the default compiler. OTOH, someone (jrm) must have gotten amarok to build a bit less than a year ago.

I'd all forgotten about this ticket, and through a funny quirk of fate had an itch yesterday to look into the requirements for building Clementine through/against MacPorts. It's based on Amarok, but without all the KDE dependencies (and probably a better player).

comment:11 Changed 9 years ago by michaelld (Michael Dickens)

If you can figure out how to coerce QtSG to build again RJVB, you'll make a lot of folks happy! I think it'll take longer than checking over all qt4-mac dependent ports to make sure the libexec install prefix works; but, maybe I'm wrong ;)

Last edited 9 years ago by michaelld (Michael Dickens) (previous) (diff)

comment:12 Changed 9 years ago by RJVB (René Bertin)

Evidently, checking over all qt4 dependent ports could have taken time for the build bots only and I'm pretty sure you'd have found less breakage if you'd simply taken my qt4-mac-devel port rather than deciding to dump all of Qt under libexec.

Getting qtscriptgenerator to build again isn't exactly high on my priority list as I don't run anything that depends on it myself (and memories of the last times I made altruist time investments in MacPorts are a bit too fresh). I could do another comparison with Linux, making sure this time I use clang there too, we'll see if I think of that the next time I don't know what else to do.

comment:13 Changed 9 years ago by michaelld (Michael Dickens)

RJVB: In a prior comment you mention a patch that got you somewhere. Would you attach it to this ticket for us to try?

comment:14 Changed 9 years ago by michaelld (Michael Dickens)

Cc: diazona+macportstrac@… greisberger@… misocurdo@… added

Has duplicate #45907. I'm moving that one here, since this ticket is cleaner.

comment:15 Changed 9 years ago by RJVB (René Bertin)

It's a patch I made myself. I thought I'd attached it already (apparently got distracted before I could do so). It just removes the whole QtScriptFutureIterator class. I don't have access to the latest version right now, but I suppose it hasn't changed (much) w.r.t. the one in git: https://github.com/RJVB/macstrop/blob/master/devel/qtscriptgenerator/files/remove-QtScriptFutureIterator.diff

comment:16 Changed 9 years ago by michaelld (Michael Dickens)

Ah; OK; NP. Thanks.

Changed 8 years ago by RJVB (René Bertin)

Attachment: qtsg.diff added

portfile diff

Changed 8 years ago by RJVB (René Bertin)

Changed 8 years ago by RJVB (René Bertin)

Changed 8 years ago by RJVB (René Bertin)

comment:17 Changed 8 years ago by RJVB (René Bertin)

The above 4 diffs allow the port to build for me, against my own concurrent Qt4 port (which installs only partly into libexec/qt4). No patches to phonon are required in my approach.

The remove-QtScriptFutureIterator.diff patch fixes an issue I ran into a while back; I haven't checked whether it is still required with the current fixes to the headerfile search logic.

Similarly, I haven't yet checked whether the patch-include-everything.diff is indeed required (it's a known fix that lets qtsg find KDE's phonon).

comment:18 Changed 8 years ago by persramd@…

Cc: persramd@… added

Cc Me!

comment:19 Changed 8 years ago by michaelld (Michael Dickens)

Maybe I'm doing something wrong, but your patches still fail for me on 10.11 / Xcode 7 (latest release or beta of both). I'm attaching my full diff & log file for reference.

Changed 8 years ago by michaelld (Michael Dickens)

Attachment: patch-qtsg_all.diff added

Changed 8 years ago by michaelld (Michael Dickens)

Attachment: qtsg_fail.log.bz2 added

comment:20 Changed 8 years ago by michaelld (Michael Dickens)

BTW> Please don't hardwire /opt/local into patches. You know what to do .... ;)

Last edited 8 years ago by michaelld (Michael Dickens) (previous) (diff)

comment:21 Changed 8 years ago by RJVB (René Bertin)

The annoying thing with qmake is that it's such a hassle to get it to use a different compiler on OS X; I haven't managed to import macports-clang-3.7 . However, when I compile just the failing file with that compiler it works fine.

You don't happen to have a VM with older OS X/Xcode versions around?

comment:22 Changed 8 years ago by mkae (Marko Käning)

See also duplicate #52346!

comment:23 Changed 8 years ago by iMiKED (iMiKE)

Cc: M-I-B@… added

Cc Me!

comment:24 Changed 8 years ago by michaelld (Michael Dickens)

Unless a miracle occurs, this port is going nowhere. The programming is obtuse / unclear. Even Rene's mods don't work in general (mostly just for his specific case). I have no spare time right now to look into this issue. I welcome patches on the main SVN trunk / GIT master.

comment:25 Changed 8 years ago by RJVB (René Bertin)

Michael, could you at least find the time to tell me what exactly in my mods doesn't work for the generic case? I have a hunch it has to do with my mods that points INCLUDEPATH to ${prefix}/include/qt4 instead of to ${qt_includes_dir}?

Also, where are the phonon headers installed in the generic case, hopefully nice and simply under ${prefix}/include/phonon ?

Edit: for anyone interested, the portdir with my mods is here: https://github.com/RJVB/macstrop/tree/master/devel/qtscriptgenerator

The easiest way to test it is to archive your original port dir qtscriptgenerator, and replace it with the contents from my repo.

Last edited 8 years ago by RJVB (René Bertin) (previous) (diff)

comment:26 Changed 8 years ago by michaelld (Michael Dickens)

Did I never get back to you? Hmm ... well, whatever & my bad if I didn't. Are the patches the same for 10.12 as they are attached here? I'll give it a go & report back. Will your QTSG work with the MP trunk directly?

comment:27 Changed 8 years ago by RJVB (René Bertin)

Sorry, I had an extended Sunday lunch :)

I have to presume that 10.12 doesn't change anything, or should I say that this old qtscripgenerator code doesn't do anything that needs to be adapted for 10.12 . I can't test that at the moment. And it certainly is my intention that this port can be built to work with your port:qt4-mac. Today's change should have removed the last hardcoded assumption about where things are installed, but I may be overlooking something. It's so long ago that I figured out how to get this to build that I have mostly forgotten the details :-/

comment:28 Changed 8 years ago by michaelld (Michael Dickens)

Works for me. Committed in r153140. I did remove some of the patches, since they were unused at least for MacPorts purposes. Thanks!

comment:29 Changed 8 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

comment:30 Changed 8 years ago by RJVB (René Bertin)

Glad to see at least some of my efforts get to serve the greater good :)

comment:31 Changed 8 years ago by iMiKED (iMiKE)

Excuse me, but how to get & compile this fixed updated version? Macports selfupdate does nothing - still can't compile.

Version 1, edited 8 years ago by iMiKED (iMiKE) (previous) (next) (diff)
Note: See TracTickets for help on using tickets.