Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

libffi V3.0.9 ported to OpenVMS IA64 servers

 
Ph Vouters
Valued Contributor

libffi V3.0.9 ported to OpenVMS IA64 servers

libffi V3.0.9 (the latest) has been ported to OpenVMS IA64 servers. This allows to port all libffi based languages implementations. libffi based implementations allow direct language access to dynamic libraries (in Unix terms) or shreable images (in VMS terms) without the burden of writing intermediary C/C++ code to interface with the language.

Existing and proven libffi based two ports:
1/ Python/ctypes (refer to http://vouters.dyndns.org/tima/OpenVMS-Python-ctypes-libffi-Python_module_ctypes.html )
2/ Java/JNA ( http://vouters.dyndns.org/tima/OpenVMS-IA64-Java-JNA-libffi-Porting_JNA_to_OpenVMS_Itanium_servers.html )
3 REPLIES 3
Ph Vouters
Valued Contributor

Re: libffi V3.0.9 ported to OpenVMS IA64 servers

After Python/ctypes and Java Native Access (JNA), JRuby 1.5.3 has been ported to OpenVMS Itanium servers.

While awaiting for an automatic installation kit, you may already write and test your first Ruby scripts.

Rebuilding JRuby from sources instructions available at:
http://vouters.dyndns.org/tima/OpenVMS-IA64-JRuby-libffi-jffi-Rebuilding_JRuby-1.5.3_on_OpenVMS_Itanium_servers.html

OpenVMS examples readable at:
http://vouters.dyndns.org/tima/OpenVMS-Linux-Java-JRuby-JRuby-ported_to_OpenVMS_Itanium-Some_notes.html
Ph Vouters
Valued Contributor

Re: libffi V3.0.9 ported to OpenVMS IA64 servers

libffi V3.0.9 (the latest) has been ported to OpenVMS Alpha servers. It passed the full Python/ctypes test suite. It has the same possibilities and limitations than its OpenVMS Itanium counterpart.

Refer to http://vouters.dyndns.org/tima/OpenVMS-Python-ctypes-libffi-Python_module_ctypes.html for full information regarding these two ports.

JNA and JRuby requiring Java V6.0 which only exists on Itanium servers cannot be ported to OpenVMS Alpha servers.
Ph Vouters
Valued Contributor

Re: libffi V3.0.9 ported to OpenVMS IA64 servers

JRuby 1.6.3 is available for rebuilding onto OpenVMS Integrity servers. The build has been tested using the first version of J2SE V6 for OpenVMS Integrity.  As far as it came up with JRuby 1.5.3, the Alpha/IA64 VMS build looks impossible using any J2SE V1.5.0. You will find all the rebuild instructions at http://vouters.dyndns.org/tima/OpenVMS-JRuby-libffi-jffi-Rebuilding_JRuby-1.6.3_on_OpenVMS_servers.html

 

A major code modification now allows specifying a VMS ODS-2 or ODS-5 style file name. As an actual example

$ jirb
irb(main):001:0> fp=open("[.jruby_vms]DECC_test.rb","r")
=> #<File:/PHV/PHV/jruby_vms/DECC_test.rb>
irb(main):002:0> puts fp.readline()
require 'ffi'
=> nil
irb(main):003:0>
puts fp.readline()
require 'ffi/platform'
=> nil
irb(main):004:0>
puts fp.readline()
=> nil
irb(main):005:0>
puts fp.readline()
module Portablelibc
=> nil
irb(main):006:0> fp.close()
=> nil
irb(main):003:0> quit
$ jruby "--version"
jruby 1.6.3 (ruby-1.8.7-p330) (2011-07-27 ${jruby.revision.output})
(Java HotSpot(TM) 64-Bit Server VM 6.0) [OpenVMS-ia64-java]
$

 

A tarball containing two Linux diff outputs has been proposed to JRuby maintainers. I make no assumptions whether they will use it for inclusion into the JRuby source stream.