Giter Site home page Giter Site logo

remedyit / r2corba Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 4.0 1.04 MB

R2CORBA, the Ruby CORBA Implementation

Home Page: https://www.remedy.nl/opensource/r2corba.html

License: Other

Ruby 64.86% C 0.64% C++ 33.74% IDL 0.26% Shell 0.43% Batchfile 0.07%
corba ruby rclm omg middleware idl

r2corba's People

Contributors

code-factor avatar dependabot[bot] avatar jwillemsen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

r2corba's Issues

All tests fail to execute with Ruby >= 2.4 on Windows

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>'

Gem release warnings

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

Remove r2corba_devkit

This looks to be for older ruby versions, can be removed when we support ruby >= 2.4

Github CI on Windows should use ridk

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

Support Ruby 3.0, blocking DSI test fails

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 

Problems compiling r2corba with ruby 2.5 and newer on Windows

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

#define RUBY_WIN32_H
which causes 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

Cleanup C++ support

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.