ryanmelt / qtbindings

An easy to install gem version of the Ruby bindings to Qt
http://github.com/ryanmelt/qtbindings
Other
340 stars 63 forks source link

Cant Compile on Arch #146

Closed GeneralZero closed 7 years ago

GeneralZero commented 8 years ago

Using ruby version: 1.9.3 /2.1.8 OS: Archlinux Qt Version: 4.8.7

[ 35%] Linking CXX shared library libsmokeqtcore.so
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
[ 35%] Built target smokeqtcore
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
Scanning dependencies of target smokedeptool
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 36%] Building CXX object smoke/deptool/CMakeFiles/smokedeptool.dir/main.o
[ 36%] Linking CXX executable smokedeptool
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
[ 36%] Built target smokedeptool
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
Scanning dependencies of target smokeapi
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 36%] Building CXX object smoke/smokeapi/CMakeFiles/smokeapi.dir/main.o
[ 37%] Linking CXX executable smokeapi
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
[ 37%] Built target smokeapi
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 38%] Generating smokedata.cpp, x_1.cpp
using generator "/opt/Installers/qtbindings/ext/build/generator/bin/generator_smoke.so" 
parsing "/opt/Installers/qtbindings/ext/smoke/qtnetwork/qtnetwork_includes.h" 
Generating SMOKE sources... 
preparing SMOKE data [qtnetwork]
writing out smokedata.cpp [qtnetwork]
writing out x_*.cpp [qtnetwork]
Done. 
Scanning dependencies of target smokeqtnetwork
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 39%] Building CXX object smoke/qtnetwork/CMakeFiles/smokeqtnetwork.dir/smokedata.o
[ 39%] Building CXX object smoke/qtnetwork/CMakeFiles/smokeqtnetwork.dir/x_1.o
[ 40%] Linking CXX shared library libsmokeqtnetwork.so
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
[ 40%] Built target smokeqtnetwork
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 40%] Generating smokedata.cpp, x_1.cpp
using generator "/opt/Installers/qtbindings/ext/build/generator/bin/generator_smoke.so" 
parsing "/opt/Installers/qtbindings/ext/smoke/qtdbus/qtdbus_includes.h" 
Generating SMOKE sources... 
preparing SMOKE data [qtdbus]
writing out smokedata.cpp [qtdbus]
writing out x_*.cpp [qtdbus]
Done. 
Scanning dependencies of target smokeqtdbus
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 41%] Building CXX object smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/smokedata.o
[ 42%] Building CXX object smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.o
/opt/Installers/qtbindings/ext/build/smoke/qtdbus/x_1.cpp:1594:7: error: deleted function ‘virtual __smokeqtdbus::x_QDBusConnectionInterface::~x_QDBusConnectionInterface()’
 class x_QDBusConnectionInterface : public QDBusConnectionInterface {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/qt4/QtDBus/QtDBus:8:0,
                 from /opt/Installers/qtbindings/ext/smoke/qtdbus/qtdbus_includes.h:2,
                 from /opt/Installers/qtbindings/ext/build/smoke/qtdbus/x_1.cpp:2:
/usr/include/qt4/QtDBus/qdbusconnectioninterface.h:73:5: error: overriding non-deleted function ‘virtual QDBusConnectionInterface::~QDBusConnectionInterface()’
     ~QDBusConnectionInterface();
     ^
/opt/Installers/qtbindings/ext/build/smoke/qtdbus/x_1.cpp:1594:7: note: ‘virtual __smokeqtdbus::x_QDBusConnectionInterface::~x_QDBusConnectionInterface()’ is implicitly deleted because the default definition would be ill-formed:
 class x_QDBusConnectionInterface : public QDBusConnectionInterface {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/Installers/qtbindings/ext/build/smoke/qtdbus/x_1.cpp:1594:7: error: ‘virtual QDBusConnectionInterface::~QDBusConnectionInterface()’ is private within this context
In file included from /usr/include/qt4/QtDBus/QtDBus:8:0,
                 from /opt/Installers/qtbindings/ext/smoke/qtdbus/qtdbus_includes.h:2,
                 from /opt/Installers/qtbindings/ext/build/smoke/qtdbus/x_1.cpp:2:
/usr/include/qt4/QtDBus/qdbusconnectioninterface.h:73:5: note: declared private here
     ~QDBusConnectionInterface();
     ^
make[3]: *** [smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/build.make:96: smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.o] Error 1
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[2]: *** [CMakeFiles/Makefile2:689: smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/all] Error 2
make[2]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[1]: *** [Makefile:128: all] Error 2
make[1]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make: *** [Makefile:48: build] Error 2
jmthomas commented 8 years ago

You probably don't need qtdbus. Try adding the line: UNSET(QT_QTDBUS_FOUND) At the beginning of qtbindings/ext/ruby/qtruby/src/CMakeLists.txt

See if that will prevent QT Dbus from being built.

jmthomas commented 8 years ago

It might need to be UNSET(QT_QTDBUS_FOUND CACHE)

GeneralZero commented 8 years ago

I have tried both UNSET(QT_QTDBUS_FOUND CACHE) and UNSET(QT_QTDBUS_FOUND) in the beginning of qtbindings/ext/ruby/qtruby/src/CMakeLists.txt still same error.

jmthomas commented 7 years ago

@ryanatball tells me that we don't have any experience compiling on Archlinux. Do you have the Qt DBus components available and in your path? I'm a little out of my element with this and obviously the CMAKE system is quite complex.

GeneralZero commented 7 years ago

I removed QTdbus from the build and still similar error with qtgiu

Scanning dependencies of target smokeqtnetwork
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 39%] Building CXX object smoke/qtnetwork/CMakeFiles/smokeqtnetwork.dir/smokedata.o
[ 40%] Building CXX object smoke/qtnetwork/CMakeFiles/smokeqtnetwork.dir/x_1.o
[ 40%] Linking CXX shared library libsmokeqtnetwork.so
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
[ 40%] Built target smokeqtnetwork
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 41%] Generating smokedata.cpp, x_1.cpp, x_2.cpp, x_3.cpp, x_4.cpp, x_5.cpp, x_6.cpp, x_7.cpp, x_8.cpp, x_9.cpp, x_10.cpp, x_11.cpp, x_12.cpp, x_13.cpp, x_14.cpp, x_15.cpp, x_16.cpp, x_17.cpp, x_18.cpp, x_19.cpp, x_20.cpp
using generator "/opt/Installers/qtbindings/ext/build/generator/bin/generator_smoke.so" 
parsing "/opt/Installers/qtbindings/ext/smoke/qtgui/qtgui_includes.h" 
Generating SMOKE sources... 
preparing SMOKE data [qtgui]
writing out smokedata.cpp [qtgui]
writing out x_*.cpp [qtgui]
Done. 
Scanning dependencies of target smokeqtgui
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[3]: Entering directory '/opt/Installers/qtbindings/ext/build'
[ 41%] Building CXX object smoke/qtgui/CMakeFiles/smokeqtgui.dir/smokedata.o
[ 42%] Building CXX object smoke/qtgui/CMakeFiles/smokeqtgui.dir/x_1.o
[ 42%] Building CXX object smoke/qtgui/CMakeFiles/smokeqtgui.dir/x_2.o
[ 43%] Building CXX object smoke/qtgui/CMakeFiles/smokeqtgui.dir/x_3.o
/opt/Installers/qtbindings/ext/build/smoke/qtgui/x_3.cpp:3721:7: error: deleted function ‘virtual __smokeqtgui::x_QClipboard::~x_QClipboard()’
 class x_QClipboard : public QClipboard {
       ^~~~~~~~~~~~
In file included from /usr/include/qt4/QtGui/QtGui:8:0,
                 from /opt/Installers/qtbindings/ext/smoke/qtgui/qtgui_includes.h:2,
                 from /opt/Installers/qtbindings/ext/build/smoke/qtgui/x_3.cpp:2:
/usr/include/qt4/QtGui/qclipboard.h:68:5: error: overriding non-deleted function ‘virtual QClipboard::~QClipboard()’
     ~QClipboard();
     ^
/opt/Installers/qtbindings/ext/build/smoke/qtgui/x_3.cpp:3721:7: note: ‘virtual __smokeqtgui::x_QClipboard::~x_QClipboard()’ is implicitly deleted because the default definition would be ill-formed:
 class x_QClipboard : public QClipboard {
       ^~~~~~~~~~~~
/opt/Installers/qtbindings/ext/build/smoke/qtgui/x_3.cpp:3721:7: error: ‘virtual QClipboard::~QClipboard()’ is private within this context
In file included from /usr/include/qt4/QtGui/QtGui:8:0,
                 from /opt/Installers/qtbindings/ext/smoke/qtgui/qtgui_includes.h:2,
                 from /opt/Installers/qtbindings/ext/build/smoke/qtgui/x_3.cpp:2:
/usr/include/qt4/QtGui/qclipboard.h:68:5: note: declared private here
     ~QClipboard();
     ^
make[3]: *** [smoke/qtgui/CMakeFiles/smokeqtgui.dir/build.make:201: smoke/qtgui/CMakeFiles/smokeqtgui.dir/x_3.o] Error 1
make[3]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[2]: *** [CMakeFiles/Makefile2:745: smoke/qtgui/CMakeFiles/smokeqtgui.dir/all] Error 2
make[2]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make[1]: *** [Makefile:128: all] Error 2
make[1]: Leaving directory '/opt/Installers/qtbindings/ext/build'
make: *** [Makefile:48: build] Error 2

This is compiled with gcc (GCC) 6.1.1 20160802 I also tried gcc-5 (GCC) 5.4.0

What version of gcc do you use?

jmthomas commented 7 years ago

I primarily compile on Windows using the Ruby Installer DevKit which bundles gcc 4.7.2

feddgs commented 7 years ago

I have a similar problem compiling in Debian 8 x64, same qtbus issue, same log as GeneralZero. Ruby version 2.3.1

I really appreciate any help ...

GeneralZero commented 7 years ago

@feddgs what version of gcc are you using?

feddgs commented 7 years ago

Hi , Im using GCC 5.4.1: gcc (Debian 5.4.1-1) 5.4.1 20160803 Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. I downgrade gcc but the error persists, im now downgrading cmake to 2.8.x (Required version acording to doc). I hope this can solve my issu, if not , all my Ruby QT software go to trash, because i can't install in modern linux.

Any other cuestion feel free to ask.

Cheers,

GeneralZero commented 7 years ago

Which other version of gcc did you try?

feddgs commented 7 years ago

Just gcc6, as i say im downgrading Cmake 3.6 to Cmake 2.8 right now. I will post my results later. A detail, im trying to install in ruby 2.2.1 (Try also 2.2.2, 2.2.3) without success.

GeneralZero commented 7 years ago

@feddgs Are you able to try gcc4.7, gcc4.X, or gcc4.

feddgs commented 7 years ago

Well, tried using gcc 5.4.1, and cmake 2.8.6 without luck.

I dont know what happens here ... qmake version??

here is my complete log:

`Building native extensions. This could take a while... ERROR: Error installing qtbindings: ERROR: Failed to build gem native extension.

/usr/local/rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20161006-24832-iqzsoj.rb extconf.rb

make "DESTDIR=" clean mkdir ext/build mkdir bin/2.2 mkdir bin/plugins mkdir bin/plugins/accessible mkdir bin/plugins/bearer mkdir bin/plugins/codecs mkdir bin/plugins/designer mkdir bin/plugins/graphicssystems mkdir bin/plugins/iconengines mkdir bin/plugins/imageformats mkdir bin/plugins/phonon_backend mkdir bin/plugins/qmltooling mkdir bin/plugins/sqldrivers mkdir lib/2.2 cd ext/build; rm -rf CMakeFiles cd ext/build; rm -rf generator cd ext/build; rm -rf smoke cd ext/build; rm -rf ruby cd ext/build; rm rm: cannot remove '': No such file or directory Makefile:20: recipe for target 'clean' failed make: [clean] Error 1 (ignored)

make "DESTDIR=" mkdir ext/build mkdir: cannot create directory ‘ext/build’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/2.2 mkdir: cannot create directory ‘bin/2.2’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins mkdir: cannot create directory ‘bin/plugins’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/accessible mkdir: cannot create directory ‘bin/plugins/accessible’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/bearer mkdir: cannot create directory ‘bin/plugins/bearer’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/codecs mkdir: cannot create directory ‘bin/plugins/codecs’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/designer mkdir: cannot create directory ‘bin/plugins/designer’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/graphicssystems mkdir: cannot create directory ‘bin/plugins/graphicssystems’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/iconengines mkdir: cannot create directory ‘bin/plugins/iconengines’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/imageformats mkdir: cannot create directory ‘bin/plugins/imageformats’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/phonon_backend mkdir: cannot create directory ‘bin/plugins/phonon_backend’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/qmltooling mkdir: cannot create directory ‘bin/plugins/qmltooling’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir bin/plugins/sqldrivers mkdir: cannot create directory ‘bin/plugins/sqldrivers’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) mkdir lib/2.2 mkdir: cannot create directory ‘lib/2.2’: File exists Makefile:4: recipe for target 'makedirs' failed make: [makedirs] Error 1 (ignored) cd ext/build; rm -rf CMakeFiles cd ext/build; rm -rf generator cd ext/build; rm -rf smoke cd ext/build; rm -rf ruby cd ext/build; rm rm: cannot remove '': No such file or directory Makefile:20: recipe for target 'clean' failed make: [clean] Error 1 (ignored) cd ext/build; \ cmake -DCMAKE_MINIMUM_REQUIRED_VERSION=2.6 \ -G "Unix Makefiles" \ -Wno-dev \ -DRUBY_EXECUTABLE=/usr/local/rvm/rubies/ruby-2.2.1/bin/ruby \ .. -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found. -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found. -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - not found. -- Found Qt4: /usr/bin/qmake (found version "4.8.7") -- Found Qt-Version 4.8.7 (using /usr/bin/qmake) -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so -- Looking for include files CMAKE_HAVE_PTHREAD_H -- Looking for include files CMAKE_HAVE_PTHREAD_H - found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Looking for _POSIX_TIMERS -- Looking for _POSIX_TIMERS - found -- looking for config.h -- --------FindRuby.cmake debug------------ -- _RUBY_POSSIBLE_EXECUTABLE_NAMES: ruby;ruby1.9;ruby19;ruby1.9.1;ruby191;ruby1.9.2;ruby192;ruby1.8;ruby18 -- _RUBY_POSSIBLE_LIB_NAMES: ruby;ruby;ruby-static;ruby2.2;ruby22;ruby-2.2.0 -- RUBY_ARCH_DIR: /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/x86_64-linux -- RUBY_HDR_DIR: /usr/local/rvm/rubies/ruby-2.2.1/include/ruby-2.2.0 -- RUBY_POSSIBLE_LIB_DIR: -- Found RUBY_VERSION: "2.2.0" , short: "2.2", nodot: "22" -- _RUBY_REQUIRED_VARS: RUBY_EXECUTABLE;RUBY_INCLUDE_DIR;RUBY_LIBRARY;RUBY_CONFIG_INCLUDE_DIR


-- Found Ruby: /usr/local/rvm/rubies/ruby-2.2.1/bin/ruby -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so -- Checking how Qt was built... -- Threshold is set to 10 -- QT_NO_DEBUG Undefined -- QT_NO_ACCESSIBILITY Undefined -- QT_NO_BUTTONGROUP Undefined -- QT_NO_COLORDIALOG Undefined -- QT_NO_DATETIMEEDIT Undefined -- QT_NO_DIALOG Undefined -- QT_NO_ERRORMESSAGE Undefined -- QT_NO_FILEDIALOG Undefined -- QT_NO_FONTDIALOG Undefined -- QT_NO_GROUPBOX Undefined -- QT_NO_LCDNUMBER Undefined -- QT_NO_LINEEDIT Undefined -- QT_NO_LISTVIEW Undefined -- QT_NO_MAINWINDOW Undefined -- QT_NO_MENUBAR Undefined -- QT_NO_MESSAGEBOX Undefined -- QT_NO_PRINTDIALOG Undefined -- QT_NO_PROGRESSBAR Undefined -- QT_NO_PROGRESSDIALOG Undefined -- QT_NO_PUSHBUTTON Undefined -- QT_NO_RADIOBUTTON Undefined -- QT_NO_SCROLLBAR Undefined -- QT_NO_SLIDER Undefined -- QT_NO_STYLE_PLASTIQUE Undefined -- QT_NO_STYLE_WINDOWSXP [Defined] -- QT_NO_STYLE_WINDOWS Undefined -- QT_NO_STYLE_MAC [Defined] -- QT_NO_STYLE_CLEANLOOKS Undefined -- QT_NO_TABLEVIEW Undefined -- QT_NO_TEXTBROWSER Undefined -- QT_NO_TEXTEDIT Undefined -- QT_NO_TOOLBUTTON Undefined -- Found Qt-Version 4.8.7 (using /usr/bin/qmake) -- Found Qt-Version 4.8.7 (using /usr/bin/qmake) -- Build SMOKE bindings: QtDBus;QtDeclarative;QtGui;QtHelp;QtNetwork;QtOpenGL;QtScript;QtSql;QtSvg;QtTest;QtUiTools;QtWebKit;QtXml;QtXmlPatterns -- Skip SMOKE bindings: QtMultimedia -- looking for config.h -- --------FindRuby.cmake debug------------ -- _RUBY_POSSIBLE_EXECUTABLE_NAMES: ruby;ruby1.9;ruby19;ruby1.9.1;ruby191;ruby1.9.2;ruby192;ruby1.8;ruby18 -- _RUBY_POSSIBLE_LIB_NAMES: ruby;ruby;ruby-static;ruby2.2;ruby22;ruby-2.2.0 -- RUBY_ARCH_DIR: /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/x86_64-linux -- RUBY_HDR_DIR: /usr/local/rvm/rubies/ruby-2.2.1/include/ruby-2.2.0 -- RUBY_POSSIBLE_LIB_DIR: -- Found RUBY_VERSION: "2.2.0" , short: "2.2", nodot: "22" -- _RUBY_REQUIRED_VARS: RUBY_EXECUTABLE;RUBY_INCLUDE_DIR;RUBY_LIBRARY;RUBY_CONFIG_INCLUDE_DIR


-- Performing Test RubyCompiles -- Performing Test RubyCompiles - Success -- Ruby Executable: /usr/local/rvm/rubies/ruby-2.2.1/bin/ruby -- Ruby Libraries: /usr/local/rvm/rubies/ruby-2.2.1/lib/libruby.so -- Ruby Include Directories: /usr/local/rvm/rubies/ruby-2.2.1/include/ruby-2.2.0/usr/local/rvm/rubies/ruby-2.2.1/include/ruby-2.2.0/x86_64-linux -- Build Ruby bindings: QtDeclarative;QtRuby;QtScript;QtTest;QtUiTools;QtWebKit -- Skip Ruby bindings: -- Configuring done -- Generating done -- Build files have been written to: /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build cd ext/build; make make[1]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[2]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target cppparser make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 0%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/ast.o [ 1%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/default_visitor.o [ 1%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/memorypool.o [ 2%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/visitor.o [ 3%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/control.o [ 3%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/lexer.o [ 4%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/parser.o /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/generator/parser/parser.cpp:1035:2: warning: #warning "implement me" [-Wcpp]

warning "implement me"

^~~ /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/generator/parser/parser.cpp:2603:2: warning: #warning "implemente me (AST)" [-Wcpp]

warning "implemente me (AST)"

^~~ /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/generator/parser/parser.cpp:3489:2: warning: #warning "mark the ast as constant" [-Wcpp]

warning "mark the ast as constant"

^~~ [ 5%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/listnode.o [ 5%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/tokens.o [ 6%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/dumptree.o [ 7%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/parsesession.o [ 7%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/commentparser.o [ 8%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/commentformatter.o [ 9%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/codegenerator.o [ 9%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/indexedstring.o [ 10%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/stringhelpers.o [ 10%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-stream.o [ 11%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-macro-expander.o [ 12%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-scanner.o [ 12%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-macro.o [ 13%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-engine.o [ 14%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-internal.o [ 14%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-environment.o [ 15%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/pp-location.o [ 16%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/preprocessor.o [ 16%] Building CXX object generator/parser/CMakeFiles/cppparser.dir/rpp/chartools.o Linking CXX shared library ../bin/libcppparser.so make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 16%] Built target cppparser make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target smokegen make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 16%] Building CXX object generator/CMakeFiles/smokegen.dir/main.o [ 17%] Building CXX object generator/CMakeFiles/smokegen.dir/generatorenvironment.o [ 18%] Building CXX object generator/CMakeFiles/smokegen.dir/generatorvisitor.o [ 18%] Building CXX object generator/CMakeFiles/smokegen.dir/generatorpreprocessor.o [ 19%] Building CXX object generator/CMakeFiles/smokegen.dir/options.o [ 20%] Building CXX object generator/CMakeFiles/smokegen.dir/type_compiler.o [ 20%] Building CXX object generator/CMakeFiles/smokegen.dir/name_compiler.o /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/generator/name_compiler.cpp:139:2: warning: #warning "NameCompiler::visitUnqualifiedName() -- implement me" [-Wcpp]

warning "NameCompiler::visitUnqualifiedName() -- implement me"

^~~ [ 21%] Building CXX object generator/CMakeFiles/smokegen.dir/type.o Linking CXX executable bin/smokegen make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 21%] Built target smokegen make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target generator_smoke make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 22%] Building CXX object generator/generators/smoke/CMakeFiles/generator_smoke.dir/generator_smoke.o [ 22%] Building CXX object generator/generators/smoke/CMakeFiles/generator_smoke.dir/writeClasses.o [ 23%] Building CXX object generator/generators/smoke/CMakeFiles/generator_smoke.dir/writeSmokeDataFile.o [ 24%] Building CXX object generator/generators/smoke/CMakeFiles/generator_smoke.dir/helpers.o Linking CXX shared module ../../bin/generator_smoke.so make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 24%] Built target generator_smoke make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target generator_dump make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 25%] Building CXX object generator/generators/dump/CMakeFiles/generator_dump.dir/generator_dump.o Linking CXX shared module ../../bin/generator_dump.so make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 25%] Built target generator_dump make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target smokebase make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 25%] Building CXX object smoke/smokebase/CMakeFiles/smokebase.dir/smokebase.o Linking CXX shared library libsmokebase.so make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 25%] Built target smokebase make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 25%] Generating smokedata.cpp, x_1.cpp, x_2.cpp, x_3.cpp, x_4.cpp, x_5.cpp, x_6.cpp, x_7.cpp, x_8.cpp, x_9.cpp, x_10.cpp, x_11.cpp, x_12.cpp, x_13.cpp, x_14.cpp, x_15.cpp, x_16.cpp, x_17.cpp, x_18.cpp, x_19.cpp, x_20.cpp using generator "/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/generator/bin/generator_smoke.so" parsing "/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/smoke/qtcore/qtcore_includes.h" Generating SMOKE sources... preparing SMOKE data [qtcore] writing out smokedata.cpp [qtcore] writing out x__.cpp [qtcore] Done. Scanning dependencies of target smokeqtcore make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 26%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/smokedata.o [ 26%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_1.o [ 27%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_2.o [ 28%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_3.o [ 28%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_4.o [ 29%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_5.o [ 29%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_6.o [ 30%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_7.o [ 31%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_8.o [ 31%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_9.o [ 32%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_10.o [ 33%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_11.o [ 33%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_12.o [ 34%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_13.o [ 35%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_14.o [ 35%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_15.o [ 36%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_16.o [ 37%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_17.o [ 37%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_18.o [ 38%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_19.o [ 39%] Building CXX object smoke/qtcore/CMakeFiles/smokeqtcore.dir/x_20.o Linking CXX shared library libsmokeqtcore.so make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 39%] Built target smokeqtcore make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target smokedeptool make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 40%] Building CXX object smoke/deptool/CMakeFiles/smokedeptool.dir/main.o Linking CXX executable smokedeptool make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 40%] Built target smokedeptool make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Scanning dependencies of target smokeapi make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 41%] Building CXX object smoke/smokeapi/CMakeFiles/smokeapi.dir/main.o Linking CXX executable smokeapi make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 41%] Built target smokeapi make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 42%] Generating smokedata.cpp, x_1.cpp using generator "/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/generator/bin/generator_smoke.so" parsing "/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/smoke/qtnetwork/qtnetwork_includes.h" Generating SMOKE sources... preparing SMOKE data [qtnetwork] writing out smokedata.cpp [qtnetwork] writing out x.cpp [qtnetwork] Done. Scanning dependencies of target smokeqtnetwork make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 43%] Building CXX object smoke/qtnetwork/CMakeFiles/smokeqtnetwork.dir/smokedata.o [ 43%] Building CXX object smoke/qtnetwork/CMakeFiles/smokeqtnetwork.dir/x_1.o Linking CXX shared library libsmokeqtnetwork.so make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 43%] Built target smokeqtnetwork make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 44%] Generating smokedata.cpp, x_1.cpp using generator "/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/generator/bin/generator_smoke.so" parsing "/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/smoke/qtdbus/qtdbus_includes.h" Generating SMOKE sources... preparing SMOKE data [qtdbus] writing out smokedata.cpp [qtdbus] writing out x.cpp [qtdbus] Done. Scanning dependencies of target smokeqtdbus make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' make[3]: Entering directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' [ 45%] Building CXX object smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/smokedata.o [ 45%] Building CXX object smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.o /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/smoke/qtdbus/x_1.cpp:1594:7: error: deleted function ‘virtual smokeqtdbus::x_QDBusConnectionInterface::~x_QDBusConnectionInterface()’ class x_QDBusConnectionInterface : public QDBusConnectionInterface { ^~~~~~ In file included from /usr/include/qt4/QtDBus/QtDBus:8:0, from /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/smoke/qtdbus/qtdbus_includes.h:2, from /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/smoke/qtdbus/x_1.cpp:2: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h:73:5: error: overriding non-deleted function ‘virtual QDBusConnectionInterface::~QDBusConnectionInterface()’ ~QDBusConnectionInterface(); ^ /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/smoke/qtdbus/x_1.cpp:1594:7: note: ‘virtual smokeqtdbus::x_QDBusConnectionInterface::~x_QDBusConnectionInterface()’ is implicitly deleted because the default definition would be ill-formed: class x_QDBusConnectionInterface : public QDBusConnectionInterface { ^~~~~~ /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/smoke/qtdbus/x_1.cpp:1594:7: error: ‘virtual QDBusConnectionInterface::~QDBusConnectionInterface()’ is private within this context In file included from /usr/include/qt4/QtDBus/QtDBus:8:0, from /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/smoke/qtdbus/qtdbus_includes.h:2, from /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build/smoke/qtdbus/x_1.cpp:2: /usr/include/qt4/QtDBus/qdbusconnectioninterface.h:73:5: note: declared private here ~QDBusConnectionInterface(); ^ smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/build.make:78: recipe for target 'smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/x1.o' failed make[3]: ** [smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/x_1.o] Error 1 make[3]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' CMakeFiles/Makefile2:621: recipe for target 'smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/all' failed make[2]: * [smoke/qtdbus/CMakeFiles/smokeqtdbus.dir/all] Error 2 make[2]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Makefile:113: recipe for target 'all' failed make[1]: * [all] Error 2 make[1]: Leaving directory '/usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2/ext/build' Makefile:47: recipe for target 'build' failed make: *\ [build] Error 2

make failed, exit code 2

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2 for inspection. Results logged to /usr/local/rvm/gems/ruby-2.2.1/extensions/x86_64-linux/2.2.0/qtbindings-4.8.6.2/gem_make.out `

ghost commented 7 years ago

This is definitely a gcc version issue with newer versions of gcc (5+, and maybe even 4.6, though it seems they relaxed some things in later 4.x versions) of gcc not supporting the code generated by Smoke, in particular with creating derived classes with destructors for base classes that have private destructors.

I'll see if I can recreate/fix next week. Unfortunately Smoke is no longer maintained, but hopefully this won't be too hard to fix.

ghost commented 7 years ago

Actually I just merged a pull request that may fix this, by forcing a lower C++ standard (03). Can someone pull and try building again?

feddgs commented 7 years ago

5 Minutes ago, i compile the gem from sources with success using Gcc5 and Qmake 2.8, i will make a new pull and try again.

feddgs commented 7 years ago

Sorry .... cmake 2.8 ....

feddgs commented 7 years ago

Thanks Ryan!!!!!

I compiled using gcc 6.1 and cmake 3.6.2, build a gem, and install the gem with success. Now is working for me on Debian8 but only with ruby 2.1.3. I extrictly follow the steps in the docs, using ruby 2.0 and ruby 2.3.

if I install the new fresh gem on ruby 2.2.1:

``root@BadDay:/tmp/qtbindings# rvm use 2.2.1 Using /usr/local/rvm/gems/ruby-2.2.1 root@BadDay:/tmp/qtbindings# gem install --local qtbindings-4.8.6.2-x86_64-linux.gem Successfully installed qtbindings-4.8.6.2-x86_64-linux Parsing documentation for qtbindings-4.8.6.2-x86_64-linux Done installing documentation for qtbindings after 1 seconds 1 gem installed

Any clue?

feddgs commented 7 years ago

Sorry, follows the error log:

2.2.1 :001 > require 'Qt4' LoadError: cannot load such file -- 2.2/qtruby4 from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in require' from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /usr/local/rvm/gems/ruby-2.2.1/gems/qtbindings-4.8.6.2-x86_64-linux/lib/Qt4.rb:17:in <top (required)>' from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:inrequire' from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in rescue in require' from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:inrequire' from (irb):1 from /usr/local/rvm/rubies/ruby-2.2.1/bin/irb:11:in `

' 2.2.1 :002 >

ghost commented 7 years ago

Each Major ruby version 2.x, are not binary compatible, so you'll have to compile for each. You can then make a "fat binary" gem which includes the compiled .so files for each versions in the various subfolders.

feddgs commented 7 years ago

Thanks again !!

Yes , i note that. I compiled with the version i need, and everithing works Ok.

You save my day !