rttlua import(pkg) doesn't recursively import

Ubuntu 12.04.5, ROS Hydro, latest Debian packages.

I have two Orocos packages, one with components, one with messages/typekits/service proxies. The components package's package.xml has an <export><rtt_ros><plugin_depend> listing for the message package.

In rttlua, when I attempt to import the component package, the message package isn’t automatically imported, so I end up with ports of type “unknown_t”. However, when I manually import the messages package, the message types are resolved correctly. Granted, the sub-message types (like rtt_std_msgs) aren’t recursively imported, so it still doesn’t work correctly, but this shows the messages package is set up (at least close to) correctly.

When I do the same in the standard deployer, the recursive import works correctly.

Am I doing something wrong? Is there an “import recursively” option I’m missing? I’m attempting the Lua equivalent of the following: https://github.com/orocos/rtt_ros_integration/tree/hydro-devel/rtt_ros#r...

/**
$ rttlua -i
> require "rttlib"
> tc = rtt.getTC()
> depl = tc:getPeer("Deployer")
> depl:import("ocl")
> depl:import(“my_component_package_rtt")
> rttlib.info()
services: marshalling scripting print os LuaTLSF Lua
typekits: rtt-mqueue-transport rtt-types rtt-corba-types OCLTypekit
types: ConnPolicy FlowStatus PropertyBag SendHandle SendStatus TaskContext array bool
char double float int ints rt_string string strings uint void
comp types: OCL::ConsoleReporting OCL::FileReporting
OCL::HMIConsoleOutput OCL::HelloWorld OCL::LuaComponent
OCL::LuaTLSFComponent OCL::NetcdfReporting OCL::TcpReporting
OCL::TimerComponent OCL::logging::Appender
OCL::logging::FileAppender OCL::logging::GenerationalFileAppender
OCL::logging::LoggingService OCL::logging::OstreamAppender
OCL::logging::RollingFileAppender MyComponent
> depl:import("rtt_my_message_package_msgs")
> rttlib.info()
services: marshalling scripting print os LuaTLSF Lua
typekits: rtt-mqueue-transport rtt-types rtt-corba-types OCLTypekit
rtt-ros-nasa_r2_common_msgs-transport ros-nasa_r2_common_msgs
types: /my_message_package_msgs/MyMessage ConnPolicy FlowStatus
PropertyBag SendHandle SendStatus TaskContext array bool char double
float int ints rt_string string strings uint void
comp types: OCL::ConsoleReporting OCL::FileReporting
OCL::HMIConsoleOutput OCL::HelloWorld OCL::LuaComponent
OCL::LuaTLSFComponent OCL::NetcdfReporting OCL::TcpReporting
OCL::TimerComponent OCL::logging::Appender
OCL::logging::FileAppender OCL::logging::GenerationalFileAppender
OCL::logging::LoggingService OCL::logging::OstreamAppender
OCL::logging::RollingFileAppender MyComponent
**/

--
Dustin Gooding
NASA/JSC Robotics

rttlua import(pkg) doesn't recursively import

Hi Dustin,

the ROS support in the deployer's import operation was removed in toolchain
2.7. The deployer itself only imports the package mentioned in the argument
and nothing else.
In order to import recursively following the <plugin_depend> tags in the
package.xml files you have to

1. Import the rtt_ros package with the Deployer's import operation:
import("rtt_ros")

2. Call the ros.import operation in the newly added global service ros:
ros.import("my_message_package_msgs")

In rttlua this would correspond to the following code:

depl:import("rtt_ros")
rtt.provides("ros"):import("my_message_package_msgs")

Johannes

On Tue, Nov 18, 2014 at 8:49 PM, Gooding, Dustin R. (JSC-ER411) <
dustin [dot] r [dot] gooding [..] ...> wrote:

> Ubuntu 12.04.5, ROS Hydro, latest Debian packages.
>
> I have two Orocos packages, one with components, one with
> messages/typekits/service proxies. The components package's package.xml
> has an <export><rtt_ros><plugin_depend> listing for the message package.
>
> In rttlua, when I attempt to import the component package, the message
> package isn’t automatically imported, so I end up with ports of type
> “unknown_t”. However, when I manually import the messages package, the
> message types are resolved correctly. Granted, the sub-message types (like
> rtt_std_msgs) aren’t recursively imported, so it still doesn’t work
> correctly, but this shows the messages package is set up (at least close
> to) correctly.
>
> When I do the same in the standard deployer, the recursive import works
> correctly.
>
> Am I doing something wrong? Is there an “import recursively” option I’m
> missing? I’m attempting the Lua equivalent of the following:
> https://github.com/orocos/rtt_ros_integration/tree/hydro-devel/rtt_ros#r...
>
> /**
> $ rttlua -i
> > require "rttlib"
> > tc = rtt.getTC()
> > depl = tc:getPeer("Deployer")
> > depl:import("ocl")
> > depl:import(“my_component_package_rtt")
> > rttlib.info()
> services: marshalling scripting print os LuaTLSF Lua
> typekits: rtt-mqueue-transport rtt-types rtt-corba-types OCLTypekit
> types: ConnPolicy FlowStatus PropertyBag SendHandle SendStatus
> TaskContext array bool
> char double float int ints rt_string string strings uint void
> comp types: OCL::ConsoleReporting OCL::FileReporting
> OCL::HMIConsoleOutput OCL::HelloWorld OCL::LuaComponent
> OCL::LuaTLSFComponent OCL::NetcdfReporting OCL::TcpReporting
> OCL::TimerComponent OCL::logging::Appender
> OCL::logging::FileAppender
> OCL::logging::GenerationalFileAppender
> OCL::logging::LoggingService OCL::logging::OstreamAppender
> OCL::logging::RollingFileAppender *MyComponent*
> > depl:import("rtt_my_message_package_msgs")
> > rttlib.info()
> services: marshalling scripting print os LuaTLSF Lua
> typekits: rtt-mqueue-transport rtt-types rtt-corba-types OCLTypekit
> rtt-ros-nasa_r2_common_msgs-transport ros-nasa_r2_common_msgs
> types: */my_message_package_msgs/MyMessage* ConnPolicy FlowStatus
> PropertyBag SendHandle SendStatus TaskContext array bool char
> double
> float int ints rt_string string strings uint void
> comp types: OCL::ConsoleReporting OCL::FileReporting
> OCL::HMIConsoleOutput OCL::HelloWorld OCL::LuaComponent
> OCL::LuaTLSFComponent OCL::NetcdfReporting OCL::TcpReporting
> OCL::TimerComponent OCL::logging::Appender
> OCL::logging::FileAppender
> OCL::logging::GenerationalFileAppender
> OCL::logging::LoggingService OCL::logging::OstreamAppender
> OCL::logging::RollingFileAppender *MyComponent*
> **/
>
> --
> *Dustin Gooding*
> NASA/JSC Robotics
>
>
>
>
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>