无法在Ubuntu 14.04上安装Ruby Capybara-webkit 1.4.1

时间:2015-03-19 15:07:42

标签: ruby capybara capybara-webkit

我正在尝试按照他们的wiki安装最新版本的capybara-webkit(1.4.1),并安装了qt5:

sudo apt-get install qt5-default libqt5webkit5-dev

gem install capybara-webkit将始终从g ++中获得以下编译错误:

    ERROR:  Error installing capybara-webkit:
        ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby extconf.rb
    cd src/ && ( test -e Makefile.webkit_server || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src/webkit_server.pro -spec linux-g++ -o Makefile.webkit_server ) && make -f Makefile.webkit_server 
    make[1]: Entering directory `/usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src'
    g++ -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_LOCATION_LIB -DQT_WEBKIT_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_POSITIONING_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I. -I../../../../../../../../include/qt5 -I../../../../../../../../include/qt5/QtWebKitWidgets -I../../../../../../../../include/qt5/QtQuick -I../../../../../../../../include/qt5/QtOpenGL -I../../../../../../../../include/qt5/QtPrintSupport -I../../../../../../../../include/qt5/QtLocation -I../../../../../../../../include/qt5/QtWebKit -I../../../../../../../../include/qt5/QtQml -I../../../../../../../../include/qt5/QtWidgets -I../../../../../../../../include/qt5/QtPositioning -I../../../../../../../../include/qt5/QtSensors -I../../../../../../../../include/qt5/QtNetwork -I../../../../../../../../include/qt5/QtGui -I../../../../../../../../include/qt5/QtCore -Ibuild -x c++-header -c stable.h -o build/webkit_server.gch/c++
    g++ -c -include build/webkit_server -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_LOCATION_LIB -DQT_WEBKIT_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_POSITIONING_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I. -I../../../../../../../../include/qt5 -I../../../../../../../../include/qt5/QtWebKitWidgets -I../../../../../../../../include/qt5/QtQuick -I../../../../../../../../include/qt5/QtOpenGL -I../../../../../../../../include/qt5/QtPrintSupport -I../../../../../../../../include/qt5/QtLocation -I../../../../../../../../include/qt5/QtWebKit -I../../../../../../../../include/qt5/QtQml -I../../../../../../../../include/qt5/QtWidgets -I../../../../../../../../include/qt5/QtPositioning -I../../../../../../../../include/qt5/QtSensors -I../../../../../../../../include/qt5/QtNetwork -I../../../../../../../../include/qt5/QtGui -I../../../../../../../../include/qt5/QtCore -Ibuild -o build/BlockUrl.o BlockUrl.cpp

    g++: internal compiler error: Segmentation fault (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
    make[1]: *** [build/BlockUrl.o] Error 4
    make[1]: Leaving directory `/usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src'
    make: *** [sub-src-webkit_server-pro-make_first-ordered] Error 2
    Command 'make' failed

    make "DESTDIR=" clean
    cd src/ && ( test -e Makefile.webkit_server || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src/webkit_server.pro -spec linux-g++ -o Makefile.webkit_server ) && make -f Makefile.webkit_server clean
    make[1]: Entering directory `/usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src'
    rm -f qrc_webkit_server.cpp
    rm -f build/moc_BlockUrl.cpp build/moc_AllowUrl.cpp build/moc_SetUnknownUrlMode.cpp build/moc_FindModal.cpp build/moc_AcceptAlert.cpp build/moc_GoForward.cpp build/moc_GoBack.cpp build/moc_WindowMaximize.cpp build/moc_WindowSize.cpp build/moc_WindowCommand.cpp build/moc_WindowOpen.cpp build/moc_WindowClose.cpp build/moc_Version.cpp build/moc_EnableLogging.cpp build/moc_Authenticate.cpp build/moc_SetConfirmAction.cpp build/moc_SetPromptAction.cpp build/moc_SetPromptText.cpp build/moc_ClearPromptText.cpp build/moc_JavascriptAlertMessages.cpp build/moc_JavascriptConfirmMessages.cpp build/moc_JavascriptPromptMessages.cpp build/moc_IgnoreSslErrors.cpp build/moc_WindowResize.cpp build/moc_CurrentUrl.cpp build/moc_ConsoleMessages.cpp build/moc_WebPage.cpp build/moc_Server.cpp build/moc_Connection.cpp build/moc_Command.cpp build/moc_SocketCommand.cpp build/moc_Visit.cpp build/moc_Reset.cpp build/moc_Node.cpp build/moc_JavascriptInvocation.cpp build/moc_Evaluate.cpp build/moc_Execute.cpp build/moc_FrameFocus.cpp build/moc_Response.cpp build/moc_NetworkAccessManager.cpp build/moc_NetworkCookieJar.cpp build/moc_Header.cpp build/moc_Render.cpp build/moc_Body.cpp build/moc_Status.cpp build/moc_Headers.cpp build/moc_UnsupportedContentHandler.cpp build/moc_SetCookie.cpp build/moc_ClearCookies.cpp build/moc_GetCookies.cpp build/moc_CommandParser.cpp build/moc_CommandFactory.cpp build/moc_SetProxy.cpp build/moc_NullCommand.cpp build/moc_PageLoadingCommand.cpp build/moc_SetSkipImageLoading.cpp build/moc_WebPageManager.cpp build/moc_WindowFocus.cpp build/moc_GetWindowHandles.cpp build/moc_GetWindowHandle.cpp build/moc_GetTimeout.cpp build/moc_SetTimeout.cpp build/moc_TimeoutCommand.cpp build/moc_SetUrlBlacklist.cpp build/moc_NoOpReply.cpp build/moc_JsonSerializer.cpp build/moc_ErrorMessage.cpp build/moc_Title.cpp build/moc_FindCss.cpp build/moc_JavascriptCommand.cpp build/moc_FindXpath.cpp build/moc_NetworkReplyProxy.cpp build/moc_StdinNotifier.cpp build/moc_RequestHandler.cpp
    rm -f build/BlockUrl.o build/AllowUrl.o build/SetUnknownUrlMode.o build/FindModal.o build/AcceptAlert.o build/GoForward.o build/GoBack.o build/WindowMaximize.o build/WindowSize.o build/WindowCommand.o build/WindowOpen.o build/WindowClose.o build/Version.o build/EnableLogging.o build/Authenticate.o build/SetConfirmAction.o build/SetPromptAction.o build/SetPromptText.o build/ClearPromptText.o build/JavascriptAlertMessages.o build/JavascriptConfirmMessages.o build/JavascriptPromptMessages.o build/IgnoreSslErrors.o build/WindowResize.o build/CurrentUrl.o build/ConsoleMessages.o build/main.o build/WebPage.o build/Server.o build/Connection.o build/Command.o build/SocketCommand.o build/Visit.o build/Reset.o build/Node.o build/JavascriptInvocation.o build/Evaluate.o build/Execute.o build/FrameFocus.o build/Response.o build/NetworkAccessManager.o build/NetworkCookieJar.o build/Header.o build/Render.o build/body.o build/Status.o build/Headers.o build/UnsupportedContentHandler.o build/SetCookie.o build/ClearCookies.o build/GetCookies.o build/CommandParser.o build/CommandFactory.o build/SetProxy.o build/NullCommand.o build/PageLoadingCommand.o build/SetTimeout.o build/GetTimeout.o build/SetSkipImageLoading.o build/WebPageManager.o build/WindowFocus.o build/GetWindowHandles.o build/GetWindowHandle.o build/TimeoutCommand.o build/SetUrlBlacklist.o build/NoOpReply.o build/JsonSerializer.o build/InvocationResult.o build/ErrorMessage.o build/Title.o build/FindCss.o build/JavascriptCommand.o build/FindXpath.o build/NetworkReplyProxy.o build/IgnoreDebugOutput.o build/StdinNotifier.o build/RequestHandler.o build/BlacklistedRequestHandler.o build/MissingContentHeaderRequestHandler.o build/CustomHeadersRequestHandler.o build/NetworkRequestFactory.o build/UnknownUrlHandler.o build/qrc_webkit_server.o build/moc_BlockUrl.o build/moc_AllowUrl.o build/moc_SetUnknownUrlMode.o build/moc_FindModal.o build/moc_AcceptAlert.o build/moc_GoForward.o build/moc_GoBack.o build/moc_WindowMaximize.o build/moc_WindowSize.o build/moc_WindowCommand.o build/moc_WindowOpen.o build/moc_WindowClose.o build/moc_Version.o build/moc_EnableLogging.o build/moc_Authenticate.o build/moc_SetConfirmAction.o build/moc_SetPromptAction.o build/moc_SetPromptText.o build/moc_ClearPromptText.o build/moc_JavascriptAlertMessages.o build/moc_JavascriptConfirmMessages.o build/moc_JavascriptPromptMessages.o build/moc_IgnoreSslErrors.o build/moc_WindowResize.o build/moc_CurrentUrl.o build/moc_ConsoleMessages.o build/moc_WebPage.o build/moc_Server.o build/moc_Connection.o build/moc_Command.o build/moc_SocketCommand.o build/moc_Visit.o build/moc_Reset.o build/moc_Node.o build/moc_JavascriptInvocation.o build/moc_Evaluate.o build/moc_Execute.o build/moc_FrameFocus.o build/moc_Response.o build/moc_NetworkAccessManager.o build/moc_NetworkCookieJar.o build/moc_Header.o build/moc_Render.o build/moc_Body.o build/moc_Status.o build/moc_Headers.o build/moc_UnsupportedContentHandler.o build/moc_SetCookie.o build/moc_ClearCookies.o build/moc_GetCookies.o build/moc_CommandParser.o build/moc_CommandFactory.o build/moc_SetProxy.o build/moc_NullCommand.o build/moc_PageLoadingCommand.o build/moc_SetSkipImageLoading.o build/moc_WebPageManager.o build/moc_WindowFocus.o build/moc_GetWindowHandles.o build/moc_GetWindowHandle.o build/moc_GetTimeout.o build/moc_SetTimeout.o build/moc_TimeoutCommand.o build/moc_SetUrlBlacklist.o build/moc_NoOpReply.o build/moc_JsonSerializer.o build/moc_ErrorMessage.o build/moc_Title.o build/moc_FindCss.o build/moc_JavascriptCommand.o build/moc_FindXpath.o build/moc_NetworkReplyProxy.o build/moc_StdinNotifier.o build/moc_RequestHandler.o
    rm -f build/webkit_server.gch/c build/webkit_server.gch/c++
    rm -f *~ core *.core
    make[1]: Leaving directory `/usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src'

    make "DESTDIR="
    cd src/ && ( test -e Makefile.webkit_server || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src/webkit_server.pro -spec linux-g++ -o Makefile.webkit_server ) && make -f Makefile.webkit_server 
    make[1]: Entering directory `/usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src'
    g++ -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_LOCATION_LIB -DQT_WEBKIT_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_POSITIONING_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I. -I../../../../../../../../include/qt5 -I../../../../../../../../include/qt5/QtWebKitWidgets -I../../../../../../../../include/qt5/QtQuick -I../../../../../../../../include/qt5/QtOpenGL -I../../../../../../../../include/qt5/QtPrintSupport -I../../../../../../../../include/qt5/QtLocation -I../../../../../../../../include/qt5/QtWebKit -I../../../../../../../../include/qt5/QtQml -I../../../../../../../../include/qt5/QtWidgets -I../../../../../../../../include/qt5/QtPositioning -I../../../../../../../../include/qt5/QtSensors -I../../../../../../../../include/qt5/QtNetwork -I../../../../../../../../include/qt5/QtGui -I../../../../../../../../include/qt5/QtCore -Ibuild -x c++-header -c stable.h -o build/webkit_server.gch/c++
    g++ -c -include build/webkit_server -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_PRINTSUPPORT_LIB -DQT_LOCATION_LIB -DQT_WEBKIT_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_POSITIONING_LIB -DQT_SENSORS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -I. -I../../../../../../../../include/qt5 -I../../../../../../../../include/qt5/QtWebKitWidgets -I../../../../../../../../include/qt5/QtQuick -I../../../../../../../../include/qt5/QtOpenGL -I../../../../../../../../include/qt5/QtPrintSupport -I../../../../../../../../include/qt5/QtLocation -I../../../../../../../../include/qt5/QtWebKit -I../../../../../../../../include/qt5/QtQml -I../../../../../../../../include/qt5/QtWidgets -I../../../../../../../../include/qt5/QtPositioning -I../../../../../../../../include/qt5/QtSensors -I../../../../../../../../include/qt5/QtNetwork -I../../../../../../../../include/qt5/QtGui -I../../../../../../../../include/qt5/QtCore -Ibuild -o build/BlockUrl.o BlockUrl.cpp

    g++: internal compiler error: Segmentation fault (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
    make[1]: *** [build/BlockUrl.o] Error 4
    make[1]: Leaving directory `/usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1/src'
    make: *** [sub-src-webkit_server-pro-make_first-ordered] Error 2

    make failed, exit code 2

    Gem files will remain installed in /usr/local/lib/ruby/gems/2.1.0/gems/capybara-webkit-1.4.1 for inspection.
    Results logged to /usr/local/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0-static/capybara-webkit-1.4.1/gem_make.out

我在全新安装的ubuntu 14.04服务器上使用Ruby 2.1.5p273。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

我必须删除qt5-default libqt5webkit5-dev并仅安装qt4。不知道为什么文档告诉你使用qt5为14.04。他是我用来解决它的命令:

    sudo apt-get remove qt5-default libqt5webkit5-dev
    sudo apt-get purge
    sudo apt-get autoremove
    sudo apt-get install libqt4-dev libqtwebkit-dev

希望这有帮助。

答案 1 :(得分:0)

这对我有用: apt-get install g++-4.7 GCC=g++-4.7 gem install capybara-webkit -v '1.11.1'

可能是GCC 4.8的错误