remedyit / r2corba Goto Github PK
View Code? Open in Web Editor NEWR2CORBA, the Ruby CORBA Implementation
Home Page: https://www.remedy.nl/opensource/r2corba.html
License: Other
R2CORBA, the Ruby CORBA Implementation
Home Page: https://www.remedy.nl/opensource/r2corba.html
License: Other
With Ruby 2.4 all tests fail to execute, looks extload
fails to load the extension shared libraries
Error: test_BiDirectional(TestFinder::TestRunner): RuntimeError: Execution of test BiDirectional failed with exitstatus 1
(eval):7:in `test_BiDirectional'
D:/a/r2corba/r2corba/lib/corba/cbase/ORB.rb:27:in `<module:ORB>': uninitialized constant R2CORBA::TAO (NameError)
from D:/a/r2corba/r2corba/lib/corba/cbase/ORB.rb:17:in `<module:CORBA>'
from D:/a/r2corba/r2corba/lib/corba/cbase/ORB.rb:15:in `<module:R2CORBA>'
from D:/a/r2corba/r2corba/lib/corba/cbase/ORB.rb:14:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from D:/a/r2corba/r2corba/lib/corba/cbase/require.rb:29:in `block in <top (required)>'
from D:/a/r2corba/r2corba/lib/corba/cbase/require.rb:29:in `each'
from D:/a/r2corba/r2corba/lib/corba/cbase/require.rb:29:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from D:/a/r2corba/r2corba/lib/corba/require.rb:14:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from D:/a/r2corba/r2corba/lib/corba.rb:13:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from D:/a/r2corba/r2corba/lib/corba/svcs/ins/naming_service.rb:13:in `<top (required)>'
===============================================================================ERROR: extload failed to load libr2tao.so and D:\a\r2corba\r2corba\ext\libr2tao\libr2tao.so, error code 126
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from D:/a/r2corba/r2corba/lib/corba/svcs/ins/ins.rb:13:in `<top (required)>'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from C:/hostedtoolcache/windows/Ruby/2.4.10/x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from -e:1:in `<main>'
When creating the gems the following warnings are given
/home/runner/work/r2corba/r2corba/rakelib/config.rb:219: warning: Using the last argument as keyword parameters is deprecated
/home/runner/work/r2corba/r2corba/rakelib/ext_r2tao.rb:184: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open
Looks the windows CI uses now gcc12 which is not supported yet by ACE/TAO, see DOCGroup/ACE_TAO#1832
This looks to be for older ruby versions, can be removed when we support ruby >= 2.4
With ruby 2.4 or newer there is a ridk available that has a complete msys/mingw installastion, this could be used at the moment the newer ruby versions compile (see #69). Below is the simplified github CI action. We should also update our install instructions to refer to the ridk on windows.
name: windows
on:
push:
pull_request:
schedule:
- cron: '0 7 * * SUN'
jobs:
build:
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
ruby: [ '2.4', '2.5', '2.6', '2.7', '3.0' ]
name: ${{ matrix.runs-os }} ${{ matrix.msystem }} ruby-${{ matrix.ruby }}
env:
DOC_ROOT: ${{ github.workspace }}/ACE
MPC_ROOT: ${{ github.workspace }}/ACE/MPC
RIDL_ROOT: ${{ github.workspace }}/ridl
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: checkout r2corba
uses: actions/checkout@v2
- name: checkout ACE_TAO
uses: actions/checkout@v2
with:
repository: DOCGroup/ACE_TAO
path: ${{ env.DOC_ROOT }}
- name: checkout MPC
uses: actions/checkout@v2
with:
repository: DOCGroup/MPC
path: ${{ env.MPC_ROOT }}
- name: checkout ridl
uses: actions/checkout@v2
with:
repository: RemedyIT/ridl
path: ${{ env.RIDL_ROOT }}
- name: Run rake configure
run: |
ridk exec rake configure
- name: Run rake build
run: |
rake build
shell: cmd
- name: Run rake test
run: |
rake test
Latest ruby examples on the web use rb_define_method without RUBY_METHOD_FUNC, need to check this in r2corba
Coming from the CI test build #32
2020-12-22T16:02:12.8606318Z ##### running test DSI
2020-12-22T16:02:12.8606596Z
2020-12-22T16:02:13.1135223Z server.rb:88: [BUG] Segmentation fault at 0x0000000000000034
2020-12-22T16:02:13.1137097Z ruby 3.0.0rc1 (2020-12-20 master 8680ae9cbd) [x86_64-linux]
2020-12-22T16:02:13.1137651Z
2020-12-22T16:02:13.1139049Z -- Control frame information -----------------------------------------------
2020-12-22T16:02:13.1139852Z c:0004 p:---- s:0020 e:000019 CFUNC :_default_POA
2020-12-22T16:02:13.1140432Z c:0003 p:---- s:0017 e:000016 CFUNC :_this
2020-12-22T16:02:13.1140945Z c:0002 p:0158 s:0013 E:0021f8 EVAL server.rb:88 [FINISH]
2020-12-22T16:02:13.1141375Z c:0001 p:0000 s:0003 E:001c60 (none) [FINISH]
2020-12-22T16:02:13.1141632Z
On Windows using ruby 2.5 or newer the compilation of the C extensions fail with the error below. This comes by the fact that r2corba defines RUBY_WIN32_H
at
r2corba/ext/libr2tao/required.h
Line 18 in 3aa7d2b
rb_w32_select
not to be defined, this is done through ruby.h
g++ -Wnon-virtual-dtor -O3 -mthreads -mtune=generic -fno-strict-aliasing -Wall -Wextra -Wpointer-arith -pipe -DNDEBUG -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -Wno-unknown-pragmas -DNDEBUG -ID:/a/r2corba/r2corba/ACE/ACE -DACE_NDEBUG -DACE_NO_INLINE -ID:/a/r2corba/r2corba/ACE/ACE -ID:/a/r2corba/r2corba/ACE/TAO -IC:/hostedtoolcache/windows/Ruby/2.6.6/x64/include/ruby-2.6.0 -IC:/hostedtoolcache/windows/Ruby/2.6.6/x64/include/ruby-2.6.0/x64-mingw32 -I. -DRUBY_VER_MAJOR=2 -DRUBY_VER_MINOR=6 -DRUBY_VER_RELEASE=6 -DR2TAO_BUILD_DLL -c -o .shobj/any.o /d/a/r2corba/r2corba/ext/libr2tao/any.cpp
In file included from C:/hostedtoolcache/windows/Ruby/2.6.6/x64/include/ruby-2.6.0/ruby/ruby.h:2111,
from C:/hostedtoolcache/windows/Ruby/2.6.6/x64/include/ruby-2.6.0/ruby.h:33,
from D:/a/r2corba/r2corba/ext/libr2tao/required.h:30,
from D:/a/r2corba/r2corba/ext/libr2tao/any.cpp:13:
C:/hostedtoolcache/windows/Ruby/2.6.6/x64/include/ruby-2.6.0/ruby/intern.h: In function 'int rb_fd_select(int, rb_fdset_t*, rb_fdset_t*, rb_fdset_t*, timeval*)':
C:/hostedtoolcache/windows/Ruby/2.6.6/x64/include/ruby-2.6.0/ruby/intern.h:373:12: error: 'rb_w32_select' was not declared in this scope; did you mean 'rb_fd_select'?
373 | return rb_w32_select(n,
| ^~~~~~~~~~~~~
| rb_fd_select
After the release of ACE 7 and TAO 3 we require C++11 as minimum compiler version, at that moment we can do some cleanup and improvements to the r2corba code to make benefit of C++11
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.