Closed ColinTheRobot closed 5 years ago
FYI it looks like qt@5.5
is being dropped from homebrew on account of no planned mojave support.
Thanks for the heads up @mjankowski 👍 👍
Does #1073 make it so that capybara-webkit can be installed if you already have qtwebkit on your system only? I'm trying to figure out if I still need to get qt@5.5 to install via homebrew or not?
@chrisortman you still need qt@5.5
Have any of you been able to install qt@5.5 on mojave yet? I get an error very similar to this complaining about cstddef
so I'm hoping the fix will be something similar but I have no idea where to make the change
I'm not on mojave yet, but per @mjankowski's comment above it looks like qt@5.5 doesn't and won't work on mojave
I don't think that that's a change on the qt side, qt stopped maintaining 55 a while ago, I think that's the homebrew maintainers saying they shouldn't maintain it anymore because it doesn't fit the requirements for what goes into homebrew core
gotcha.
But yeah, don't really have an answer since I'm not on mojave. Sorry!
I tried to install qt@5.5
using Homebrew after a clean install of MacOS Mojave and it failed. Today, I thought I would try again. Ended up with the following
Error: No available formula with the name "qt@5.5"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
qt@5.5 was deleted from homebrew/core in commit 3609232:
qt@5.5: delete
So, now what?
You can probably follow these instructions and restore the formula locally.
Make sure you also have Xcode 9.4 installed, otherwise it won't build properly. You can get it from the Apple developer website.
@rickyc Thanks for the tip. It may be time to pour one out for capybara-webkit. Having Xcode 10 and 9.4 installed at the same time is a different set of headaches.
So my colleagues have been setting up new computers. You can just install 9.4 first, then install Xcode 10 over it once qt5.5 has been installed. Since the package is already built, the dependency wouldn't matter anymore.
Would it be possible to install qt 5.5 using an older homebrew supplied gcc ?
I tried to install
qt@5.5
using Homebrew after a clean install of MacOS Mojave and it failed. Today, I thought I would try again. Ended up with the followingError: No available formula with the name "qt@5.5" ==> Searching for a previously deleted formula (in the last month)... Warning: homebrew/core is shallow clone. To get complete history run: git -C "$(brew --repo homebrew/core)" fetch --unshallow qt@5.5 was deleted from homebrew/core in commit 3609232: qt@5.5: delete
So, now what?
@memoht @chrisortman
Have you tried just downloading and installing QT5.5 directly from qt.io?
Then symlinking with
ln -s /Users/user/Qtx.x.x/x.x/clang_64/bin/qmake /usr/local/bin/qmake
(filling the 'x' with your Qt version)
This is from here. Am about to do the same but the download of qt takes forever on the connection I am currently on.
FYI that approach suggested above does work.
I'm on Mojave with Xcode 10, and was able to download QT (including qmake) from the qt downloads page (its a 654M download from here). After going through the installer I added ~/Qt5.5.0/5.5/clang_64/bin
to my path, and I was then able to gem install capybara-webkit
.
So I think the state of affairs on Mojave might be that the previously recommended installation of going through homebrew is not going to work, but for anyone willing/able to get QT installed some other way will still be able to build capybara-webkit.
You can also use newer versions of Qt than 5.5, as long as you have a Qt distribution that includes QtWebKit. Newer versions have QtWebKit disabled by default, and QtWebKit is deprecated, but it was included long after 5.5 and may still be in recent versions.
For future people coming to this page, fix steps are:
$ brew uninstall --force qt
~/.bash_profile
: export PATH="/Users/username/Qt5.5.0/5.5/clang_64/bin/:$PATH"
which cmake
$ sudo xcodebuild -license
$ bundle upgrade capybara-webkit
And as an aside, I'm torn on whether I want to continue dealing with hacking Qt 5.5 every year or migrate to headless chrome on selenium and put up with its pedantic visibility rules. Neither option feels good.
I just installed the .dmg mentioned by @agraves but I don't see cmake in the bin QT bin folder:
jankeesvw@jankees:~/Qt5.5.1/5.5/clang_64/bin
> ls
Assistant.app qdbuscpp2xml qmlplugindump
Designer.app qdbusviewer.app qmlprofiler
Linguist.app qdbusxml2cpp qmlscene
QMLViewer.app qdoc qmltestrunner
fixqt4headers.pl qhelpconverter qt.conf
lconvert qhelpgenerator qtdiag
licheck_mac qlalr qtpaths
lrelease qmake qtplugininfo
lupdate qml.app rcc
macchangeqt qml1plugindump syncqt.pl
macdeployqt qmleasing uic
moc qmlimportscanner xmlpatterns
qcollectiongenerator qmllint xmlpatternsvalidator
qdbus qmlmin
I think there's a typo in those instructions, and you are looking for qmake
(and not cmake
), which does appear to be listed there (and once added to your path, should enable the gem to be installed).
I think there's a typo in those instructions, and you are looking for
qmake
(and notcmake
), which does appear to be listed there (and once added to your path, should enable the gem to be installed).
Ah, right, yes qmake
is there.
I still see this error when I'm installing capybara-webkit:
current directory: /Users/jankeesvw/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capybara-webkit-1.15.0
make "DESTDIR="
cd src/ && ( test -e Makefile.webkit_server || /usr/local/opt/qt@5.5/bin/qmake /Users/jankeesvw/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/capybara-webkit-1.15.0/src/webkit_server.pro -o Makefile.webkit_server ) && /Applications/Xcode.app/Contents/Developer/usr/bin/make -f Makefile.webkit_server
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -pipe -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -mmacosx-version-min=10.7 -Wall -W -fPIC -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtWebKitWidgets.framework/Headers -I/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtWidgets.framework/Headers -I/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtWebKit.framework/Headers -I/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtGui.framework/Headers -I/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtNetwork.framework/Headers -I/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtCore.framework/Headers -Ibuild -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/AGL.framework/Headers -I/usr/local/Cellar/qt@5.5/5.5.1_1/mkspecs/macx-clang -F/usr/local/Cellar/qt@5.5/5.5.1_1/lib -x c++-header -c stable.h -o build/webkit_server/c++.pch
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from stable.h:1:
In file included from /usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtWidgets.framework/Headers/QApplication:1:
In file included from /usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtWidgets.framework/Headers/qapplication.h:37:
In file included from /usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtCore.framework/Headers/qcoreapplication.h:37:
/usr/local/Cellar/qt@5.5/5.5.1_1/lib/QtCore.framework/Headers/qglobal.h:39:12: fatal error: 'cstddef' file not found
# include <cstddef>
^~~~~~~~~
1 warning and 1 error generated.
make[1]: *** [build/webkit_server/c++.pch] Error 1
make: *** [sub-src-webkit_server-pro-make_first-ordered] Error 2
make failed, exit code 2
@jankeesvw I think you need to bundle update
to 1.15.1
I was on Bundler version 1.16.6
, I updated to 1.17.1
. After the update I still have the same error. Any other suggestions?
Excuse me @chrisortman; after reading your answer for a second time I understand what you mean, and it worked! So for who end up on this GitHub issue thread, try this:
bundle update capybara-webkit --conservative
Thanks @chrisortman, @mjankowski 👏 🎉
I had this error after upgrading to Xcode 10.1 and Command Line Tools 10.13 for Xcode.
bundle update capybara-webkit --conservative
worked for me. Thanks!
EDIT: It just installed capybara-webkit
v 1.15.1, which does not have the issue.
bundle update capybara-webkit
But better because it does not install newer versions of all the other gems.
For future people coming to this page, fix steps are:
- If you have added QT via brew trying to get this to work, clean up first:
$ brew uninstall --force qt
- Download https://download.qt.io/archive/qt/5.5/5.5.0/qt-opensource-mac-x64-clang-5.5.0.dmg
- Run the installer
- Add the local install of qmake to your path, e.g. add this to
~/.bash_profile
:export PATH="/Users/username/Qt5.5.0/5.5/clang_64/bin/:$PATH"
- Restart your terminal to get the new path. Verify with
which cmake
- Accept the clickwrap
$ sudo xcodebuild -license
$ bundle upgrade capybara-webkit
And as an aside, I'm torn on whether I want to continue dealing with hacking Qt 5.5 every year or migrate to headless chrome on selenium and put up with its pedantic visibility rules. Neither option feels good.
I also needed to do this: https://stackoverflow.com/a/35098040/693349 so that I didn't get the error about the Xcode licence not being agreed to.
@mattgibson's instructions worked for me, though you want to run $ which qmake
instead of $ which cmake
and it's $ bundle update capybara-webkit
not $ bundle upgrade capybara-webkit
.
Thanks!
All of this worked, except I had to install a real version of Xcode. I only had the command line tools installed. So now I had to invest 10 GB more of my disk, but at least it works again 😅
I'm just a random dev trying to run bundle install
to get going with my life, i hope this comment helps other in the same situation that land here.
I tried every single one of the strategies listed here, but unfortunatelly none of them solved the issue. For context I am running a brand new clean install of macOS 10.14.3 (mojave)
.
Desperated after a full afternoon trying to solve this, my attention was caught up by this 0 upvotes answer on stackoverflow that stated incompatibilities between qt@5.5
and Xcode10
. I mean i've already tried everything else so why not?!
TL;DR: I've added Xcode 9.4.1
(you can have multiple installations of xcode) and everything worked as expected
qt
with brew following official instructions. (Although it might also work with the installer mentioned comment above)Xcode_9.4.1 command line tools
installers.Xcode_9.4.1.app
if you already have 10 installed).sudo xcode-select -p
* => to check current path, should output /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode_9.4.1.app/Contents/Developer
* => to set it to 9.4.1bundle install
(or gem install capybara-webkit
)*sudo might not be required
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
to set default back to v10
Good luck!
@renatodeleao Thanks for this solution! It worked perfectly for me. 💯
On mojave, setting up qt5.5 using a combination of agraves, mattgibson, and renatodeleao answer, but I also ran into the following error:
Project ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.
*** extconf.rb failed ***
Had to follow this: https://stackoverflow.com/questions/33728905/qt-creator-project-error-xcode-not-set-up-properly-you-may-need-to-confirm-t
cd /Applications/Xcode_9.4.1.app/Contents/Developer/usr/bin/
sudo ln -s xcodebuild xcrun
Then everything worked for me.
If you're willing to move away from using capybara-webkit
, altogether, I found this blog post helpful: https://artsy.github.io/blog/2018/11/27/switch-from-capybara-webkit-to-chrome/