Opened 9 months ago

Closed 9 months ago

#67838 closed defect (fixed)

qtruby: possible to support a modern Ruby?

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc:
Port: qtruby, ruby

Description

The port has archaic Ruby variants, 1.8 and 1.9. We are at 3.2 now.

  1. S. Ruby versions between 2.6 and 3.0 are broken for PPC to a varying extent, so it is desirable to aim at 3.1+.

Change History (7)

comment:1 Changed 9 months ago by barracuda156

Ok, simply swiping in Ruby 3.1 failed:

In file included from /opt/local/include/ruby-3.1.3/ruby/internal/config.h:22,
                 from /opt/local/include/ruby-3.1.3/ruby/ruby.h:15,
                 from /opt/local/include/ruby-3.1.3/ruby.h:38,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/src/Qt.cpp:63:
/opt/local/include/ruby-3.1.3/ppc-darwin10.0.0d2/ruby/config.h:17:1: warning: "_GNU_SOURCE" redefined
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/src/Qt.cpp:19:1: warning: this is the location of the previous definition
In file included from /opt/local/include/ruby-3.1.3/ruby/ruby.h:25,
                 from /opt/local/include/ruby-3.1.3/ruby.h:38,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/src/Qt.cpp:63:
/opt/local/include/ruby-3.1.3/ruby/defines.h:55:23: error: stdalign.h: No such file or directory
[  7%] Building CXX object tools/rbuic/CMakeFiles/rbuic4_bin.dir/databaseinfo.cpp.o
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/build/tools/rbuic && /usr/bin/g++-4.2  -I/opt/local/include -I/opt/local/include/smoke -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/src -I/opt/local/libexec/qt4/include/QtDesigner -I/opt/local/libexec/qt4/include/QtDeclarative -I/opt/local/libexec/qt4/include/QtScriptTools -I/opt/local/libexec/qt4/include/QtDBus -I/opt/local/libexec/qt4/include/QtXml -I/opt/local/libexec/qt4/include/QtSql -I/opt/local/libexec/qt4/include/QtOpenGL -I/opt/local/libexec/qt4/include/QtMultimedia -I/opt/local/libexec/qt4/include/QtNetwork -I/opt/local/libexec/qt4/include/QtXmlPatterns -I/opt/local/libexec/qt4/include/QtWebKit -I/opt/local/libexec/qt4/include/QtHelp -I/opt/local/libexec/qt4/include/QtUiTools -I/opt/local/libexec/qt4/include/QtTest -I/opt/local/libexec/qt4/include/QtScript -I/opt/local/libexec/qt4/include/QtSvg -I/opt/local/libexec/qt4/include/Qt3Support -I/opt/local/libexec/qt4/include/QtGui -I/opt/local/libexec/qt4/include/QtCore -I/opt/local/libexec/qt4/share/mkspecs/default -I/opt/local/libexec/qt4/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/tools/rbuic -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/tools/rbuic/ruby -pipe -Os -DNDEBUG -arch ppc -mmacosx-version-min=10.6 -DQT_UIC_RB_GENERATOR -MD -MT tools/rbuic/CMakeFiles/rbuic4_bin.dir/databaseinfo.cpp.o -MF CMakeFiles/rbuic4_bin.dir/databaseinfo.cpp.o.d -o CMakeFiles/rbuic4_bin.dir/databaseinfo.cpp.o -c /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/tools/rbuic/databaseinfo.cpp
In file included from /opt/local/include/ruby-3.1.3/ruby/internal/anyargs.h:83,
                 from /opt/local/include/ruby-3.1.3/ruby/ruby.h:26,
                 from /opt/local/include/ruby-3.1.3/ruby.h:38,
                 from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/qtruby-4.14.3/src/Qt.cpp:63:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:98: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_virtual_variable(const char*, VALUE (*)(ID, VALUE*), int)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:100: error: invalid conversion from ‘int’ to ‘void (*)(VALUE, ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:100: error:   initializing argument 3 of ‘void rb_define_virtual_variable(const char*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:105: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_virtual_variable(const char*, VALUE (*)(...), int)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:108: error: invalid conversion from ‘int’ to ‘void (*)(VALUE, ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:108: error:   initializing argument 3 of ‘void rb_define_virtual_variable(const char*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:112: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_virtual_variable(const char*, int, void (*)(VALUE, ID, VALUE*))’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:114: error: invalid conversion from ‘int’ to ‘VALUE (*)(ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:114: error:   initializing argument 2 of ‘void rb_define_virtual_variable(const char*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:119: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_virtual_variable(const char*, int, void (*)(...))’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:122: error: invalid conversion from ‘int’ to ‘VALUE (*)(ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:122: error:   initializing argument 2 of ‘void rb_define_virtual_variable(const char*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:161: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_hooked_variable(const char*, VALUE*, VALUE (*)(ID, VALUE*), int)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:163: error: invalid conversion from ‘int’ to ‘void (*)(VALUE, ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:163: error:   initializing argument 4 of ‘void rb_define_hooked_variable(const char*, VALUE*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:168: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_hooked_variable(const char*, VALUE*, VALUE (*)(...), int)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:171: error: invalid conversion from ‘int’ to ‘void (*)(VALUE, ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:171: error:   initializing argument 4 of ‘void rb_define_hooked_variable(const char*, VALUE*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:175: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_hooked_variable(const char*, VALUE*, int, void (*)(VALUE, ID, VALUE*))’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:177: error: invalid conversion from ‘int’ to ‘VALUE (*)(ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:177: error:   initializing argument 3 of ‘void rb_define_hooked_variable(const char*, VALUE*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:182: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘void ruby::backward::cxxanyargs::rb_define_hooked_variable(const char*, VALUE*, int, void (*)(...))’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:185: error: invalid conversion from ‘int’ to ‘VALUE (*)(ID, VALUE*)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:185: error:   initializing argument 3 of ‘void rb_define_hooked_variable(const char*, VALUE*, VALUE (*)(ID, VALUE*), void (*)(VALUE, ID, VALUE*))’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:214: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘VALUE ruby::backward::cxxanyargs::rb_iterate(VALUE (*)(VALUE), VALUE, int, VALUE)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:216: error: invalid conversion from ‘int’ to ‘VALUE (*)(VALUE, VALUE, int, const VALUE*, VALUE)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:216: error:   initializing argument 3 of ‘VALUE ruby::backward::rb_iterate_deprecated(VALUE (*)(VALUE), VALUE, VALUE (*)(VALUE, VALUE, int, const VALUE*, VALUE), VALUE)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:240: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘VALUE ruby::backward::cxxanyargs::rb_block_call(VALUE, ID, int, const VALUE*, int, VALUE)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:242: error: invalid conversion from ‘int’ to ‘VALUE (*)(VALUE, VALUE, int, const VALUE*, VALUE)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:242: error:   initializing argument 5 of ‘VALUE rb_block_call(VALUE, ID, int, const VALUE*, VALUE (*)(VALUE, VALUE, int, const VALUE*, VALUE), VALUE)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: At global scope:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:339: error: ‘std::nullptr_t’ has not been declared
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp: In function ‘VALUE ruby::backward::cxxanyargs::rb_catch(const char*, int, VALUE)’:
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:341: error: invalid conversion from ‘int’ to ‘VALUE (*)(VALUE, VALUE, int, const VALUE*, VALUE)’
/opt/local/include/ruby-3.1.3/ruby/backward/cxxanyargs.hpp:341: error:   initializing argument 2 of ‘VALUE rb_catch(const char*, VALUE (*)(VALUE, VALUE, int, const VALUE*, VALUE), VALUE)’
make[2]: *** [src/CMakeFiles/qtruby4shared.dir/Qt.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/build'
make[1]: *** [src/CMakeFiles/qtruby4shared.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

comment:2 Changed 9 months ago by barracuda156

Port: ruby added

comment:3 Changed 9 months ago by barracuda156

Ah, that nullptr needs 2011 standard.

comment:4 Changed 9 months ago by barracuda156

It actually might work. Switching to modern GCC (no extra patches), build gets quite a bit further and fails on linking due to a wrong Ruby dylib being passed (which is totally fixable):

[ 26%] Linking CXX shared library libqtruby4shared.dylib
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_kde_qtruby/qtruby/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/qtruby4shared.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-12 -pipe -Os -DNDEBUG -arch ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -compatibility_version 2.0.0 -current_version 2.0.0 -o libqtruby4shared.2.0.0.dylib -install_name /opt/local/lib/libqtruby4shared.2.dylib CMakeFiles/qtruby4shared.dir/Qt.cpp.o CMakeFiles/qtruby4shared.dir/handlers.cpp.o CMakeFiles/qtruby4shared.dir/marshall_types.cpp.o  -Wl,-rpath,/opt/local/lib /opt/local/libexec/qt4/lib/libQtCore.dylib /opt/local/libexec/qt4/lib/libQtGui.dylib //usr/lib/libruby.dylib /opt/local/libexec/qt4/lib/libQtNetwork.dylib /opt/local/lib/libsmokebase.dylib /opt/local/lib/libsmokeqtcore.dylib /opt/local/lib/libsmokeqtgui.dylib /opt/local/lib/libsmokeqtxml.dylib /opt/local/lib/libsmokeqtopengl.dylib /opt/local/lib/libsmokeqtsql.dylib /opt/local/lib/libsmokeqtnetwork.dylib /opt/local/lib/libsmokeqtdbus.dylib /opt/local/lib/libsmokeqtsvg.dylib 
Undefined symbols:
  "_rb_str_new_cstr", referenced from:
      _set_obj_info in Qt.cpp.o

Going off now, will return to this tomorrow. May be an easy fix.

comment:5 Changed 9 months ago by barracuda156

I got to here:

In file included from /opt/local/libexec/qt4/include/QtCore/qatomic_macosx.h:52,
                 from /opt/local/libexec/qt4/include/QtCore/qatomic_arch.h:72,
                 from /opt/local/libexec/qt4/include/QtCore/qbasicatomic.h:227,
                 from /opt/local/libexec/qt4/include/QtCore/qatomic.h:46,
                 from /opt/local/libexec/qt4/include/QtCore/qhash.h:45,
                 from /opt/local/libexec/qt4/include/QtCore/QHash:1,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/qtruby-4.14.3/src/qtruby.h:21,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/qtruby-4.14.3/modules/phonon/phononhandlers.cpp:20:
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::ref()':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:120:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  120 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:121:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  121 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::deref()':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:137:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  137 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:138:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  138 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::testAndSetRelaxed(int, int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:154:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  154 |     register int result;
      |                  ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::testAndSetAcquire(int, int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:171:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  171 |     register int result;
      |                  ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicInt::testAndSetRelease(int, int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:189:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  189 |     register int result;
      |                  ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndStoreRelaxed(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:207:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  207 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndStoreAcquire(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:221:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  221 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndStoreRelease(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:236:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  236 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndAddRelaxed(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:251:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  251 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:252:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  252 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndAddAcquire(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:268:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  268 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:269:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  269 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'int QBasicAtomicInt::fetchAndAddRelease(int)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:286:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  286 |     register int originalValue;
      |                  ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:287:18: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  287 |     register int newValue;
      |                  ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicPointer<T>::testAndSetRelaxed(T*, T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:313:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  313 |     register void *result;
      |                    ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicPointer<T>::testAndSetAcquire(T*, T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:331:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  331 |     register void *result;
      |                    ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'bool QBasicAtomicPointer<T>::testAndSetRelease(T*, T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:350:20: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  350 |     register void *result;
      |                    ^~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:369:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  369 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndStoreAcquire(T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:384:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  384 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndStoreRelease(T*)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:400:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  400 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:416:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  416 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:417:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  417 |     register T *newValue;
      |                 ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:434:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  434 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:435:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  435 |     register T *newValue;
      |                 ^~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h: In member function 'T* QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff)':
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:453:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  453 |     register T *originalValue;
      |                 ^~~~~~~~~~~~~
/opt/local/libexec/qt4/include/QtCore/qatomic_powerpc.h:454:17: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  454 |     register T *newValue;
      |                 ^~~~~~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/qtruby-4.14.3/src/qtruby.cpp: In function 'VALUE isObject(VALUE, VALUE)':
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/qtruby-4.14.3/src/qtruby.cpp:2097:17: error: ordered comparison of pointer with integer zero ('void*' and 'int')
 2097 |     return (ptr > 0 ? Qtrue : Qfalse);
      |             ~~~~^~~
make[2]: *** [src/CMakeFiles/qtruby4.dir/qtruby.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/build'
make[1]: *** [src/CMakeFiles/qtruby4.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Linking CXX shared module phonon.so
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/build/modules/phonon && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/rubyphonon.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-12 -pipe -Os -DNDEBUG -D_GLIBCXX_USE_CXX11_ABI=0 -arch ppc -mmacosx-version-min=10.6 -bundle -Wl,-headerpad_max_install_names -Wl,-headerpad_max_install_names -o phonon.so CMakeFiles/rubyphonon.dir/phonon.cpp.o CMakeFiles/rubyphonon.dir/phononhandlers.cpp.o  -Wl,-rpath,/opt/local/lib /opt/local/lib/libphonon.dylib /opt/local/lib/libsmokephonon.dylib ../../src/libqtruby4shared.2.0.0.dylib /opt/local/libexec/qt4/lib/libQtCore.dylib /opt/local/libexec/qt4/lib/libQtGui.dylib /opt/local/lib/libruby3.2.dylib /opt/local/libexec/qt4/lib/libQtNetwork.dylib /opt/local/lib/libsmokebase.dylib /opt/local/lib/libsmokeqtcore.dylib /opt/local/lib/libsmokeqtgui.dylib /opt/local/lib/libsmokeqtxml.dylib /opt/local/lib/libsmokeqtopengl.dylib /opt/local/lib/libsmokeqtsql.dylib /opt/local/lib/libsmokeqtnetwork.dylib /opt/local/lib/libsmokeqtdbus.dylib /opt/local/lib/libsmokeqtsvg.dylib 
make[2]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/build'
[ 97%] Built target rubyphonon
make[1]: Leaving directory `/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_kde_qtruby/qtruby/work/build'
make: *** [all] Error 2

comment:6 Changed 9 months ago by barracuda156

Ok, I have fixed everything.

comment:7 Changed 9 months ago by barracuda156

Owner: set to barracuda156
Resolution: fixed
Status: newclosed

In 6c42dd7467478fa6bb0584578315c3f6f4520f11/macports-ports (master):

qtruby: fix build, add modern ruby support

Fixes: #66518
Closes: #67838

Note: See TracTickets for help on using tickets.