Opened 9 years ago

Closed 9 years ago

#33030 closed defect (fixed)

qt4-mac-devel (4.8.0 final) fails to build (on Lion) - missing QtWebKit_debug

Reported by: dev@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: qt4 lion Cc: 3add3287 (3add3287)
Port: qt4-mac-devel

Description (last modified by ryandesign (Ryan Schmidt))

I'm trying to build qt4-mac-devel on OS X 10.7.2 + XCode 4.2 using default variants:

sudo port install qt4-mac-devel

The build fails with the message:

[...]
--->  Building qt4-mac-devel
Error: Target org.macports.build returned: shell command failed (see log for details)
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

The attached log file has been generated after retrying to issue install command. It looks like the debug version of QtWebKit library has hadn't been generated.

Attachments (1)

qt4-mac-devel.zip (352.6 KB) - added by dev@… 9 years ago.
build log

Download all attachments as: .zip

Change History (16)

comment:1 Changed 9 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Owner: changed from macports-tickets@… to michaelld@…

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

I'll need a full log to work off of. So please do

sudo port clean qt4-mac-devel
sudo port install qt4-mac-devel

and then if it errors out again, copy that log to your desktop & compress it before uploading -- it'll be BIG.

Changed 9 years ago by dev@…

Attachment: qt4-mac-devel.zip added

build log

comment:3 in reply to:  2 Changed 9 years ago by dev@…

Replying to michaelld@…:

I'll need a full log to work off of. So please do

sudo port clean qt4-mac-devel
sudo port install qt4-mac-devel

and then if it errors out again, copy that log to your desktop & compress it before uploading -- it'll be BIG.

Here you go! The attachment has been replaced with the full log.

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

Hmm ... looks like the QMake files for WebKit aren't very well written in 4.8.0; they include sections for building as debug, even if debug is not enabled. I'm upgrading qt4-mac to 4.8.1 now, and will look at these files once I get things building (at all).

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

It looks like you have a default variant of +universal set somewhere; is this correct? It shouldn't matter, but I'm just trying to understand your setup for I get to testing the new Portfile. Did you have any other Qt installed anywhere on your system, whether via MacPorts, the Qt pre-compiled binary, Fink, or anything?

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

Do you already have some form of Qt installed with debug libraries? e.g., "qt4-mac +debug" would be an obvious choice. I'm noticing issues compiling Qt 4.8.1 when a prior version of Qt is already installed; I don't know how much / if this really hurts the new build, but it certainly makes things take longer than necessary (which is already quite long).

comment:7 in reply to:  5 Changed 9 years ago by dev@…

Replying to michaelld@…:

It looks like you have a default variant of +universal set somewhere; is this correct? It shouldn't matter, but I'm just trying to understand your setup for I get to testing the new Portfile. Did you have any other Qt installed anywhere on your system, whether via MacPorts, the Qt pre-compiled binary, Fink, or anything?

That's correct - I was using +universal since some of my dependencies were 32-bits only. Now I have everything 64-bits compatible so +universal is not an important feature. When I was using macports Qt 4.8 there were no other installations of Qt on my system.

comment:8 in reply to:  6 Changed 9 years ago by dev@…

Replying to michaelld@…:

Do you already have some form of Qt installed with debug libraries? e.g., "qt4-mac +debug" would be an obvious choice. I'm noticing issues compiling Qt 4.8.1 when a prior version of Qt is already installed; I don't know how much / if this really hurts the new build, but it certainly makes things take longer than necessary (which is already quite long).

When I was building macports Qt lib there were no other installations of the libraries on the machine. Now I have pre-compiled binary directly from Qt guys. I can give a try to build updated macport version later today though.

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

Thanks! Hmm .. well I guess Qt install is just strange. You can update MacPorts if you want to, but qt4-mac won't be part of it yet. I'm still hacking through why QMake is trying to use the already-installed mkspec files, even though it is being told to just use the build-directory ones. I'll let you know when I have something to test, though.

comment:10 in reply to:  9 Changed 9 years ago by dev@…

Replying to michaelld@…:

Thanks! Hmm .. well I guess Qt install is just strange. You can update MacPorts if you want to, but qt4-mac won't be part of it yet. I'm still hacking through why QMake is trying to use the already-installed mkspec files, even though it is being told to just use the build-directory ones. I'll let you know when I have something to test, though.

Thanks! I'll wait for the update then.

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

So, I've now fixed my internal qt4-mac to only use the build mkspecs, which is good. I've fixed qt4-mac to install as library, framework, library+universal, framework+universal, debug+library, debug+framework, and debug+universal+framework. But this issue is still valid with debug+universal+library. Well, it's actually still present in debug+universal+framework too, but because of the way frameworks are linked it's not an issue (frameworks in Qt do not link as debug, just release; one uses a DYLD environment shell variable to access the debug library). I can fix this issue either by changing how one links into QtWebKit, or how the QtWebKit library / framework is created. I'm going to try the latter tomorrow and see how far I get; if all else fails, then I'll revert to the former since it should be pretty straight forward (just a hack to a mkspec file). I'm surprised that Qt 4.8.1 builds correctly on OSX when using default configure values, given this issue. This is the last issue that I'm going to address before pushing the updates, btw. Quite a journey getting to this point!

comment:12 in reply to:  11 Changed 9 years ago by dev@…

Replying to michaelld@…: Thanks for the update! I'm assuming that 4.8.1 is not pushed to MacPorts yet, right? BTW: +universal is not the top priority to me now since I've ported one of my crucial libraries to be 64bits compatible.

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

Not pushed yet, but I'm almost there. I decided to go with the former: just disallow libQtWekKit_debug linking, since that file cannot exist. I'm testing the last variation right now to make sure my change works; hopefully I'll push this update later today.

comment:14 Changed 9 years ago by 3add3287 (3add3287)

Cc: torstenb@… added

Cc Me!

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

Resolution: fixed
Status: newclosed

This issue should be fIxed in r94241. Please do the following

sudo port clean qt4-mac-devel
sudo port selfupdate

and then try to install or upgrade qt4-mac (not qt4-mac-devel). I'm closing this ticket, since it now refers to an old version of qt4-mac. Please open a new ticket if this issue persists with the new qt4-mac.

Note: See TracTickets for help on using tickets.