-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
Conversation
@@ -44,7 +49,8 @@ def install | |||
# locations and with Xcode-only. | |||
if superenv? | |||
args << '-no-3dnow' | |||
args << '-no-ssse3' if MacOS.version <= :snow_leopard | |||
|
|||
args << '-no-ssse3' if (MacOS.version <= :snow_leopard) || (!build.with? 'ssse3') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build.without? 'ssse3'
Though rather than scoping this on the OS version and an option, we can query the CPU directly:
args << '-no-ssse3' unless Hardware::CPU.ssse3?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't look like Hardware::CPU.ssse3? exists. Hardware::CPU.sse3? does ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, that needs a new helper.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll make a PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah thanks, I didn't think to look for without?
for some reason. As a Ruby developer that's a little embarrassing, so let's put it down to doing too many things at once :-P
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#23796 for adding Add Hardware::CPU.ssse3?
A REALLY hacky work around to ensure it "works" is to use:
args << '-no-ssse3' unless Hardware::CPU.send(:sysctl_bool, "hw.optional.supplementalsse3")
Its the same behaviour, and should definitely be swapped out when the above PR is merged.
|
Another one for the books: https://gist.github.com/americanyak/0c3d76e89c3ba81d4e98 Edit: trying now with |
@americanyak looks like you are having issues with ssse3?, Are you on a new macbook pro / air? Try --without-ssse3 (as mentioned at the top). They are trying to get this to happen automatically by detecting your CPU. |
@tecnobrat I edited my comment: trying it w/ |
This is failing on 10.9 due to duplicate symbols when building libqtiff. |
w00t! It built with |
@mistydemeo hmm, I'm a bit baffled by that one.. I've seen that error come and go. I added a dependency on libtiff to get rid of it, however then I had issues with libstdc++ vs libc++. After trying to resolve that for a while, I reverted and it now builds. Did you add |
I didn't add anything, this was the bot. It builds with the default options. |
Thanks for all the input btw, this is a great learning exercise for me. I've created and submitted formula before, but they've never been any more complicated than |
@mistydemeo ah, that'll be why then. Stable doesn't seem to build. I started using |
I've made the necessary changes according to the feedback received already, including:
I'm just waiting for the build to complete on my iMac for sanity and then I'll squash and push. |
resource 'libWebKitSystemInterfaceMavericks' do | ||
url 'http://trac.webkit.org/export/157771/trunk/WebKitLibraries/libWebKitSystemInterfaceMavericks.a' | ||
sha1 'fc5ebf85f637f9da9a68692df350e441c8ef5d7e' | ||
version '157771' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what to use for the version number here since the file doesn't have one, otherwise it fails audit..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is ok for resources to fail audit for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok great, I'll remove the version number then as it's meaningless.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@adamv while I've got your attention, any ideas how I might tackle item 5 in the PR description?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@adamv Stuff failing audit stops bottles being built.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MikeMcQuaid then seeing as this is a temporary measure while we wait for an official upstream patch, perhaps I should leave it as-is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FWIW because I do need to build a bottle (to save myself from having to rebuild Qt when I need it!) I've left the whacky version number in. It'll get removed later anyway because libWebKitSystemInterfaceMavericks.a will be incorporated into the Qt source.
With 5: |
And don't worry about 6; seems to not be possible. |
@MikeMcQuaid re 5 - awesome, thanks! and 6 - would you prefer I extract the patches to gist? |
Personally probably but Homebrew doesn't really mind either way. I guess two gists would be easier for splitting them up perhaps. |
@MikeMcQuaid also, how would one entice the brew bot to compile using |
You can't, that's intentional. It's ok to just leave this broken on 10.9 for the bot for now. |
@MikeMcQuaid I think that's everything covered. I just need to squash. It looks like the there is new code on the Qt code review but there are reports of it failing to build, so I'll try it but will hold fire on updating the PR until I know it works. FWIW I also built a bottle to make it quicker for me to put Qt back again after experimenting, which is here: https://dl.dropboxusercontent.com/u/714833/Homebrew/Bottles/qt-4.8.5.mavericks.bottle.3.tar.gz |
fyi: I just successfully built the following on my 10.9 system:
Build started about 32 m ago and just completed. |
@stepheneb Great! You shouldn't in theory need |
i am also trying to build on mavericks, apologies in advance if this is a bit of a basic question but i don't use homebrew much yet. when i try
i get the error do i need to have a local version of the qt source or something like that? if so where would it need to be? Again, apologies for the basic qestion |
@jonathantopf I'm not sure why that is, are you absolutely sure you typed |
Oh, also, see here for January release source: http://permalink.gmane.org/gmane.comp.lib.qt.devel/13812 |
It might be better for this to be Mavericks only and leave other versions as they are. Might be paranoia on my part ;-) |
@cliffrowley Thoughts on us calling our "not really 4.8.4" version "4.8.4" on Mavericks? |
I’m not sure, what implications might that have later? |
I really don't want qt4 to report a fake version number. Is there a revision we could pick that's stable enough for all platforms?
:/ |
I would hold off on freezing at a specific revision for a short while longer. I have almost all of the critical changes for Mavericks through code review and approved, with only two changes remaining. I expect to have all of the changes except the WebKitSystemInferface for Mavericks at least be approved this week. Otherwise it will still be necessary to maintain a significant amount patches like it currently is. |
It’s now been merged :-) On 25 Nov 2013, at 18:03, Steven [email protected] wrote:
|
This issue is closed; please open a new one to restart discussion. |
Note, we STRONG RECOMMEND AGAINST linking random things into system folders, it will likely break things later when you least expect it. |
@adamv I'm going to delete/edit comments that say that from now on issues. |
@mistydemeo @cliffrowley PR at #24674. |
Closes Homebrew#23793. Signed-off-by: Mike McQuaid <[email protected]>
Not sure what this error means:
|
That is because almost of all the patches have already been merged upstream. You no longer need to use HEAD for Qt, and this will solve the problem for you. |
I've updated the PR description accordingly. Should anyone misinterpret now, I should kindly recommend a trip to spec savers ;-) |
Ok, thanks for that. Qt installs perfectly as it was doing before. The issue is when install diffpdf —
which lead me to following the same steps that are listed and reinstalling qt which doesn't really help at all. |
I'd recommending opening a new issue for this, this one is closed :-) |
Is it still possible to build a qt on Mavericks that uses libstdc++ such that I can link against it using gcc-4.8? I need OpenMP, and going qt is on the giant list of dependencies. Since clang doesn't yet support openmp, this causes an issue. |
Yes, just build qt using the same compiler you want to use for your other software! e.g. The libstdc++ from gcc-4.8 isn't the same one as the system libstdc++, and they're not entirely compatible either. |
Thanks. I wasn't aware that the libstdc++ from gcc-4.8 was incompatible with the system one. The problem is that gnu gcc won't build qt on OS X, at least not without commenting out lines in CoreFoundation temporarily, so it looks like I'm stuck working around this one. Thanks for the help though. |
Closes Homebrew#23793. Signed-off-by: Mike McQuaid <[email protected]>
NOTE BEFORE PROCEEDING
All of these changes have now been merged and neither
--HEAD
nor the custom formula are now required. Simplybrew install qt
and you're good to go.If you have any other issues related to Qt or formulae that use it and are broken, please open a new issue - this one is closed!
All of the below is defunct and deprecated
DescriptionSome API changes in Mavericks (10.9) prevent Qt4 from compiling. This PR incorporates code that is currently undergoing review and development in the Qt code review system, and from the WebKit trac system. Since Qt is such a widely used dependency and in many cases absolutely essential it made sense to gather the code and patch the Homebrew Qt formula to get it building again in lieu of the next upstream Qt4 release. This formula also enables building Qt with libc++ on Mavericks (thanks @balr0g!), which is required to build a fair number of formula that in turn depend on Qt.Using this patchbrew install https://raw.github.com/cliffrowley/homebrew/patched_qt/Library/Formula/qt.rb --HEAD
ReferencesIncorporated Qt patches:WIP: Compile on Mac OS 10.9 (still WIP)Make QCoreWlan plugin compile on 10.9(now merged into HEAD)Incorporated WebKit patches:http://trac.webkit.org/changeset/107489http://trac.webkit.org/changeset/92556Relevant Qt bug reports:Qt 4.8.5 build failure on OSX 10.9 Mavericks (Status: Reported)SSSE3 fails on latest Haswell based MacBook Pro and Air (Status: Need More Info)Haswell & SSSE3 build failureDespite supporting SSSE3, the newer (2013) Haswell based Macs seem to have issues compiling Qt with SSSE3 optimisation switched on. If you have one of these machines, and this formula does not compile for you then you probably saw this message:If you have tried adding--without-ssse3
to the command line and the build still fails, then add-v
to the command line and run the build once more. Then when it fails, find the error in your terminal buffer and add a comment to this pull request along with the output ofsysctl -a
and we'll see if we can work it out.I've submitted a bit report with Qt regarding this issue here, but it's still waiting for more info from users who have an affected machine. I do not have one, so I cannot assist further.