Components are not registered to the name service.
After launching name server and components, I connect to the name server with RtcLink etc, but components have not been registered.
First, to increase the log level to the highest, please specify the following configurations in rtc.conf:
and launch the components. If the following message cannot be found in the component's log, the registration of the name server is not complete:
naming_svc NameServer connection succeeded: corba/Host name : Port number
In this case, the following causes are considered.
corba.nameservers of rtc.conf is not set correctly.
Please make sure rtc.conf the components loads is set correctly. If you set the host name as openrtm.aist.go.jp, the line shown below must be included in rtc.conf.
Also, when you start the name server by specifying port number, you need to specify the port number, too. If you specify 1234 to the port number when launching the name server, you need to set as follows:
If you do not specify the port number, the default port 2809 will be used. This is the default port number of omniORB name server (omniNames). If you use other than omniORB name server, please be careful.
I cannot connect a network from the host where the component was launched to the host where the name server was launched.
Please make sure you can connect a network from the host where the component was launched to the host where the name server was launched. First, confirm whether the ping pass through or not. If the ping does not pass through, please check the network configuration again.
Even if the ping pass through, the connection may be prohibited by firewall. First, please check the configuration of the host where the name server was launched. The easiest solution is to turn off the firewall. For more details, please refer to the configuration of each OS and firewall.
There are more than two network interfaces.
When there are more than two network interfaces, you need to specify to CORBA which interface to use. You should consider both the name server and the component.Let's assume that each host has two interfaces and that the address for each interface is set as follows (mask assumes to be 255.255.255.0):
- Name server host: eth0:192.168.0.1, eth1:192.168.100.1
- Component host: eth0:192.168.0.2, eth1:192.168.11.96
- Name server eth0:192.168.0.1
- Component eth0:192.168.0.2
When launching the name server, you need specify the environment variable OMNIORB_USEHOSTNAME on the name server side.
(csh) > setenv OMNIORB_USEHOSTNAME 192.168.0.1 (bash) > export OMNIORB_USEHOSTNAME=192.168.0.1 > rtm-naming or launch the name server by omniNames
You may modify in rtm-naming (Unix) or rtm-naming.bat (Windows) directly.
While you modify the configuration of corba.endpoint in rtc.conf on the component side, you can specify the interface to use.
corba.endpoint: Interface IP address:Port number corba:endpoint: 192.168.0.2: (In case of not specifying port number) corba:endpoint: 192.168.0.2:1234 (In case of specifying port number)
You don't have to specify the port number, but please don't forget to add :(colon) after the IP address.
A component which should be running seems to be dead
Symptom: A component which has been launched and registered to a name server, is displayed as a zombie object in the name service view of RtcLink. Even if I drag it down on the system editor, nothing is shown.
[Cause] You can not reach the host where the component was launched.
You may not have reached the host where the component was launched from the PC where RtcLink is running for some reason. At first check whether pings from the PC where RtcLink is running to the host where the component was launched, are successful.For example, there are three hosts A, B, and C:
- hostA: the host where the component is running
- hostB: the host where name server is running
- hostC: the host where RtcLink is running
And networks among these hosts are set up like this:
In this case, if host B is not configured for routing between networkI and networkII appropriately, hostA is unreachable from hostC. You need to configure hostB in order to reach hostA from hostC.
[Cause]Firewall is enable in the host where the component was launched.
When firewall is enable in the host where the component was launched, these phenomenon that you can not connect between RtcLink and the component may occur. Please recheck or turn off the configurations for firewall to connect to the component externally.
Error occurs by executing rtm-naming (Windows)
Sympton: If rtm-naming.bat is executed, an application error occurs.
Libraries related to VC++ is not installed.
When applications such as Visual Studio 2005 etc are not installed, please install "Visual C++ 2005 Express Edition" from Visual Studio 2005 Express Edition site.