Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Capybara-webkit and Qt5 on Yosemite

Latest Capybara-webkit throws a deprecation warning:

WARNING: The next major version of capybara-webkit will require at least version 5.0 of Qt. You're using version 4.8.7.

So I:

gem uninstall capybara-webkit
brew uninstall qt
brew install qt5
gem install capybara-webkit

That deprecation is now gone but all hell broke loose:

$ rspec -p -- spec/features

Randomized with seed 52457
...2015-07-30 16:56:21.731 webkit_server[8416:6381638] Error loading /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin:  dlopen(/Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin, 265): no suitable image found.  Did find:
    /Library/Internet Plug-Ins/QuickTime Plugin.plugin/Contents/MacOS/QuickTime Plugin: mach-o, but wrong architecture
plugin,NP_Initialize start
plugin,NP_Initialize end
plugin,NP_GetEntryPoints start
Private_Initialize
plugin,NP_GetEntryPoints end
2015-07-30 16:56:21.768 webkit_server[8416:6381638] Error loading /Users/meltemi/Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin/Contents/MacOS/libnpgeplugin.dylib:  dlopen(/Users/meltemi/Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin/Contents/MacOS/libnpgeplugin.dylib, 265): no suitable image found.  Did find:
    /Users/meltemi/Library/Internet Plug-Ins/Google Earth Web Plug-in.plugin/Contents/MacOS/libnpgeplugin.dylib: mach-o, but wrong architecture
[16:56:22.960] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037
[16:56:22.960] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3
[16:56:22.960] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3
[16:56:23.061] FigDCP_GetCacheFileVersion signalled err=-12540 (kFigDiskCacheProviderError_InvalidCacheFile) (unsupported file version) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigByteStreamPrototypes/FigLimitedDiskCacheProvider.c line 366
[16:56:23.218] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037
[16:56:23.218] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3
[16:56:23.218] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp3
F[16:56:27.056] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037
[16:56:27.056] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp4
[16:56:27.056] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.mp4
[16:56:27.209] figHttpRequestDidReceiveResponseCallback signalled err=-12938 (kFigHTTPError_FileNotFound) (404 file not found) at /SourceCache/CoreMedia/CoreMedia-1562.235/Prototypes/FigHTTP/FigHTTPRequestCFURLConnection.c line 2037
[16:56:27.209] HTTPRequest figHttpRequestDidReceiveResponseCallback: received http response 404 (error -12938) for https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.webm
[16:56:27.209] HTTPRequest figHTTPDumpFinalURLAndRemoteAddress: address 123.231.123.21 final url https://s3-us-west-2.amazonaws.com/myapp-test/assets/abc-audio.webm
F.............[DEPRECATION] Capybara::Webkit::Driver#browser is deprecated.
.[DEPRECATION] Capybara::Webkit::Driver#browser is deprecated.

tried re-installing qt but there were linking conflicts with Qt5's qmake so I removed it.

Anyone have any ideas?!? Or should I just go back to plain old Qt4 and deal with deprecation warnings?

like image 364
Meltemi Avatar asked Jul 31 '15 00:07

Meltemi


2 Answers

@pthamm pretty much nailed it. Here's the same thing, but with a couple of the surrounding steps.

brew uninstall qt
brew install qt5
brew link --force qt5

Now running

which qmake

Should return /usr/local/bin/qmake

At this point I can rebuild the gem against the new qt5.

gem pristine capybara-webkit

And then I was good to go again, tests are green. Yay!

like image 85
counterbeing Avatar answered Oct 20 '22 05:10

counterbeing


Did you run these commands:

brew linkapps qt5
brew link --force qt5

Homebrew's qt5 is keg-only so you need to create the symlinks manually.

check out the installation instructions for Yosemite here: https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit

and the top answer here: Can I use homebrew's qt5 with capybara-webkit?

like image 5
pthamm Avatar answered Oct 20 '22 06:10

pthamm