Installation on Fedora

Now 1.2 series of OpenRTM-aist does not fully support Fedora OS. Then please use the information on this page as non-validated one.

OpenRTM-aist-Python is provided with an RPM package that can be used with Fedora Linux. The supported Fedora Linux versions can be found from the download page. Please note that support for Fedora Linux and its versions are subject to change or suspension without notice.

There are two main types of installation methods for Fedora Linux.
  • Use the bulk installation script provided by openrtm.org
  • Use yum package manager

Bulk installation script

Download the installation script "pkg_install_fedora.sh" provided by openrtm.org from the download page and execute it with root privileges. This script installs necessary packages sequentially using yum.

It is very convenient because it installs all the packages required to develop and execute OpenRTM-aist.

By specifying the option, it is possible to install the package that suits the purpose. To install OpenRTM-aist-Python, download the bulk install script and then type

 $ sudo sh pkg_install_fedora.sh -l python --yes

For details on how to download the bulk installation script, detailed installation methods, and the types of options that can be specified, see the Bulk Installation Script.

Install OpenRTP

RTC Builder and RTSystemEditor can be used for general Ubuntu/Debian environment development. To use them, OpenRTP is required. Install OpenRTP using the bulk installation script. In Ubuntu, in the directory where pkg_install_ubuntu.sh is located, type

 $ sudo sh pkg_install_fedora.sh -l openrtp --yes

At present, in the bulk installation script for Fedora, after installing the environment for Python with -l python, if you install -l openrtp, there is a problem that some of the files necessary for executing OpenRTP are not installed. To avoid the problem, you need to install OpenRTM-aist package manually. For it, type:

 $ sudo yam install OpenRTM-aist

Install JDK8

To run OpenRTP (RTSystemEditor, RTC Builder, etc.), a Java environment equivalent to JDK8 is required. At present, in the Fedora environment, the bulk installation script installs OpenJDK8 from the Fedora rpm repository. If you want to install another JDK8, please refer to the link below. By the way, JDK is not required to use rtshell/rtctree/rtsprofile, so if you do not use OpenRTP, you do not need to install JDK8. See below for information on obtaining and installing JDK8.

Install rtshell

If you want to control the RTC with the CUI, such as when the control computer system is small, a tool called rtshell is provided as a tool that allows you to execute functions equivalent to RTSystemEditor of OpenRTP from the CUI. To install rtshell, use a bulk installation script on the terminal and enter the following in the directory where the bulk installation script file is located.

 $ sudo sh pkg_install_fedora.sh -l rtshell --yes

How to use yum and pip

Create /etc/yum.repos.d/openrtm.repo

openrtm.org provides a package repository available from yum. However, it is not included in the default package repository, so you need to change the setting of yum.

Create a file /etc/yum.repos.d/openrtm.repo that contains the following settings. Creation usually requires root privileges.

 [openrtm]
 name=Fedora $releasever - $basearch
 failovermethod=priority
 baseurl=http://openrtm.org/pub/Linux/Fedora/releases/$releasever/Fedora/$basearch/os/Packages
 enabled=1
 gpgcheck=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY
/etc/yum.repos.d/openrtm.repo

Installation by using yum

After creating openrtm.repo, install it according to the following procedure. On the way, you will be asked for some responses, so complete by typing `` y ''.

  • Install OpenRTM-aist-Python
     $ sudo yum install gcc-c ++ python
     $ sudo yum install omniORB omniORB-devel omniORB-doc omniORB-servers omniORB-utils
     $ sudo yum install OpenRTM-aist-Python OpenRTM-aist-Python-doc OpenRTM-aist-Python-example
  • Install OpenRTP
     $ sudo yum install OpenRTP
     $ sudo yum install OpenRTM-aist
  • Install rtshell
     $ sudo pip3 install rtshell-aist 

Confirm installation

You can check the installation with the following command.

  • If you installed OpenRTP too,
     $ rpm -qa OpenRT*
     OpenRTM-aist-devel-1.2.0-0.fc29.x86_64
     OpenRTM-aist-Python-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-example-1.2.0-0.29.x86_64
     OpenRTP-1.2.0-1.fc29.x86_64
     OpenRTM-aist-1.2.0-0.fc29.x86_64
     OpenRTM-aist-Python-doc-1.2.0-0.29.x86_64
  • If you did not install OpenRTP
     $ rpm -qa OpenRT*
     OpenRTM-aist-Python-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-example-1.2.0-0.29.x86_64
     OpenRTM-aist-Python-doc-1.2.0-0.29.x86_64
  • To check rtshell installation:
     $ pip3 show rtshell-aist
     Name: rtshell-aist
     Version: 4.2.2
     Summary: Shell commands for managing RT Components and RT Systems.
     Home-page: http://github.com/gbiggs/rtshell
     Author: Geoffrey Biggs and contributors
     Author-email: geoffrey.biggs@aist.go.jp
     License: LGPL3
     Location: /usr/local/lib/python3.7/dist-packages
     Requires: rtctree-aist, rtsprofile-aist

Package details

Each package contains: (In case of 64bit Fedora)

OpenRTM-aist-Python

  • Commands
     /usr/bin/rtcd_python
     /usr/bin/rtcprof_python
  • OpenRTM-aist main python modules
     usr/lib/python3.7/site-packages/OpenRTM-aist/*
  • Python search path file for OpenRTM-aist
     /usr/lib/python3.7/site-packages/OpenRTM_aist.ph
  • Utilities
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/__init__.py
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtc-template/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtcd/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtcprof/*
     /usr/lib/python3.7/site-packages/OpenRTM_aist/utils/rtm-naming/*

openrtm-aist-python-example

 /usr/share/openrtm-1.2/components/python/__init__.py
 /usr/share/openrtm-1.2/components/python/rtcd.conf
 /usr/share/openrtm-1.2/components/python/components.conf
 /usr/share/openrtm-1.2/components/python/AutoControl/*
 /usr/share/openrtm-1.2/components/python/AutoTest/*
 /usr/share/openrtm-1.2/components/python/Composite/*
 /usr/share/openrtm-1.2/components/python/ConfigSample/*
 /usr/share/openrtm-1.2/components/python/ExtTrigger/*
 /usr/share/openrtm-1.2/components/python/MobileRobotCanvas/*
 /usr/share/openrtm-1.2/components/python/SeqIO/*
 /usr/share/openrtm-1.2/components/python/SimpleIO/*
 /usr/share/openrtm-1.2/components/python/SimpleService/*
 /usr/share/openrtm-1.2/components/python/Slider_and_Motor/*
 /usr/share/openrtm-1.2/components/python/Templates/*
 /usr/share/openrtm-1.2/components/python/Throughput/*
 /usr/share/openrtm-1.2/components/python/TkJoyStick/
 /usr/share/openrtm-1.2/components/python/TkLRFViewer/*

openrtm-aist-python-doc

  • Class reference (English)
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python/ClassReference-en/html/uuid_8py.html
  • Class reference (Japanese)
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_async_8py.html
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/_buffer_base_8py.html
     ...
     /usr/share/openrtm-1.2/doc/python/ClassReference-jp/html/uuid_8py.html 

OpenRTM-aist

openrtm-aist contains runtime libraries and commands.

  • Configuration file sample
     /etc/rtc.conf.sample
  • Commands
     /usr/bin/rtcd
     /usr/bin/rtcprof
     /usr/bin/rtm-config
     /usr/bin/rtm-naming
  • Libraries
     /usr/lib64/libRTC-1.2.0.so
     /usr/lib64/libRTC.a
     /usr/lib64/libRTC.la
     ...
     /usr/lib64/librtmManipulator.so.0.0.0
     /usr/lib64/openrtm-1.2/ec/FileNameservice.la
     /usr/lib64/openrtm-1.2/ec/FileNameservice.so
     ...
     /usr/lib64/openrtm-1.2/ssl/SSLTransport.so.0.0.0

OpenRTM-aist-devel

openrtm-aist-dev contains commands file and heder files which is used for software development.

  • Commands
     /usr/bin/coil-config
     /usr/bin/rtc-template
     /usr/bin/rtm-skelwrapper
  • Header files
     /usr/include/coil-1.2/coil/Affinity.h
     /usr/include/coil-1.2/coil/Allocator.h
     ...
     /usr/include/coil-1.2/coil/stringutil.h
     /usr/include/openrtm-1.2/rtm/BufferBase.h
     /usr/include/openrtm-1.2/rtm/BufferStatus.h
     ...
     /usr/include/openrtm-1.2/rtm/version.txt
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.hh
     /usr/include/openrtm-1.2/rtm/ext/CameraCommonInterface.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ManipulatorCommonInterface_MiddleStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/ArtExecutionContext.h
     /usr/include/openrtm-1.2/rtm/ext/ec/artlinux/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredEC.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/LogicalTimeTriggeredECStub.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/RTPreemptEC.h
     /usr/include/openrtm-1.2/rtm/ext/ec/rtpreempt/rtc.conf.sample
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file
     /usr/include/openrtm-1.2/rtm/ext/local_service/nameservice_file/FileNameservice.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/FluentBit.h
     /usr/include/openrtm-1.2/rtm/ext/logger/fluentbit_stream/fluentbit.conf
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.hh
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/Logger.idl
     ...
     /usr/include/openrtm-1.2/rtm/ext/sdo/logger/LoggerStub.h
  • IDL and stab skeleton
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserver.idl
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverConsumer.h
 ...
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/ComponentObserverStub.h
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.hh
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredEC.idl
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECDynSK.cc
 /usr/include/openrtm-1.2/rtm/ext/ec/logical_time/idl/LogicalTimeTriggeredECSK.cc
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.hh
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserver.idl
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverDynSK.cc
 /usr/include/openrtm-1.2/rtm/ext/sdo/observer/idl/ComponentObserverSK.cc
 /usr/include/openrtm-1.2/rtm/idl/BasicDataType.hh
 /usr/include/openrtm-1.2/rtm/idl/BasicDataType.idl
 ...
 /usr/include/openrtm-1.2/rtm/idl/SharedMemoryStub.h
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/AIO.idl
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/ActArray.idl
 ...
 /usr/include/openrtm-1.2/rtm/idl/device_interfaces/Ranger.idl
 
  • Libraries
     /usr/lib64/openrtm-1.2/cmake/OpenRTMConfig.cmake
     /usr/lib64/openrtm-1.2/py_helper/README_gen.py
     /usr/lib64/openrtm-1.2/py_helper/cxx_gen.py
     ...
     /usr/lib64/openrtm-1.2/py_helper/yat.py
     /usr/lib64/pkgconfig/libcoil.pc
     /usr/lib64/pkgconfig/openrtm-aist.pc

OpenRTP

In openrtp installation, since so many files are installed, the listing is not made. Depend on your needs, use the following command.

 $ dpkg -L openrtp

rtshell

  • Scripts for the commands
     /usr/local/bin/rtact
     /usr/local/bin/rtcat
     /usr/local/bin/rtcheck
     /usr/local/bin/rtcomp
     /usr/local/bin/rtcon
     /usr/local/bin/rtconf
     /usr/local/bin/rtcryo
     /usr/local/bin/rtdeact
     /usr/local/bin/rtdel
     /usr/local/bin/rtdis
     /usr/local/bin/rtdoc
     /usr/local/bin/rtexit
     /usr/local/bin/rtfind
     /usr/local/bin/rtfsm
     /usr/local/bin/rtinject
     /usr/local/bin/rtlog
     /usr/local/bin/rtls
     /usr/local/bin/rtmgr
     /usr/local/bin/rtprint
     /usr/local/bin/rtpwd
     /usr/local/bin/rtreset
     /usr/local/bin/rtresurrect
     /usr/local/bin/rtshell_post_install
     /usr/local/bin/rtstart
     /usr/local/bin/rtstodot
     /usr/local/bin/rtstop
     /usr/local/bin/rtteardown
     /usr/local/bin/rtvlog
     /usr/local/bin/rtwatch
  • Main code for the commands
     /usr/local/lib/python3.7/dist-packages/rtctree/*
     /usr/local/lib/python3.7/dist-packages/rtshell/*
     /usr/local/lib/python3.7/dist-packages/rtsprofile/*
  • Package information
     /usr/local/lib/python3.7/dist-packages/rtctree_aist-4.2.0.egg-info/*
     /usr/local/lib/python3.7/dist-packages/rtshell_aist-4.2.2.dist-info/*
     /usr/local/lib/python3.7/dist-packages/rtsprofile_aist-4.1.2.dist-info/*