Connext on PI arm rtiddsgen is not working

12 posts / 0 new
Last post
Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7
Connext on PI arm rtiddsgen is not working

Hello everybody,

I just tried to build a Hello-World-programm on the RTI Linux 5.1.0 to run it on a Raspberry PI.
After following the description of

https://community.rti.com/howto/run-rti-connext-dds-raspberry-pi

I just copied or extracted the files from the RTI Connext DDS 5.1.0 Libraries for Raspberry Pi into the ndds folder (there is no runnable like for 5.0.0). If I want to compile it now, the gen just says, that the

rtidds gen can not generate build/project files for the architecture armv6vfphLinux3.xgcc4.7.2 (with giving no reason).

What can I do?

 

 

rip
rip's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/06/2012
Posts: 315

the following commands return what? (this is on the build machine where you have installed the host and target files)


cd $NDDSHOME

ls

ls lib

 

Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7

NDDSHOME is set to ~/RTI/ndds.5.1.0


I just put an attachment

File Attachments: 
rip
rip's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/06/2012
Posts: 315

1) Are you cross-compiling on some other device, if so what OS, and which (cross-)compiler are you using?

2) Instead of armv6vfphLinux3.xgcc4.7.2, try building with -example i86Linux3.xgcc4.6.3

If step 2 worked, the only thing different between the "expected" output between the arm and the i86Linux builds, is the Makefile that is generated.  You can

2a) hand-craft a suitable makefile and build/test, or

2b) Look for $NDDSHOME/resource/rtiddsgen/makefile/makefile_specific_armv6vfphLinux3.xgcc4.7.2

3) Try building with rtiddsgen2 instead of rtiddsgen (same arguments).  This should be available if your installed Host environment is 5.1.x

Possible errors:

The rtiddsgen build fails for the i86Linux3.x build also (this is then an indication that your Host installation is bad)

 

Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7

Hey rip,

thanks for your help!

I am using the RTI Live ISO 5.1.0 from https://community.rti.com/content/page/download-live-cd . So it should be not the cross compiling while tryin to compile it on this os and copy the executable files to the PI (like in the description).

There is the same output (view the picture).

 

File Attachments: 
Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7

Okay, I just tried it with the rtiddsgen2 and it worked! :)


However, I've got a problem with the make-command:
make: arm-linux-gnueabihf-g++: Command not found
make: *** [objs/armv6vfphLinux3.xgcc4.7.2/hello.o] Error 127

I read about the problem of cross-compiling. Is there an easy hint?

 

rip
rip's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/06/2012
Posts: 315

Either the tools are not there, or your environment is not set up correctly.

Have you installed the arm-linux-gnueabihf compiler/tools?  The RTI installations (Live CD, and the Arm libraries) won't include that, you'll have to find them on the web.

 

Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7

Well, I hadn't installed them, but he is still shouting the same error.

(found them under http://linux-sunxi.org/Toolchain)

rip
rip's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/06/2012
Posts: 315

The auto-generated makefile is probably not aware of where they were installed.  My guess is you'll need to be tweaking your build environement ($PATH etc) so that when arm-linux-gnueabh-usw-yada-yada-ole-ole-ole-ole is called (tut mir leid, könnte die Bremsen nicht finden :) ), the system knows where to find it. 

What does 'echo $PATH' return?

Where did the installation put the tools (/usr/lib someplace? I'm not sure how Ubuntu lays out its directories for things like this, according to that link you supplied, they use apt-get, so it could be anywhere). 

Do those two overlap?

Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7

I'm wondering, whether it is my fault, while following the description, that I'm not able to make it work :D

Echo says:

echo $PATH:
/home/rtiuser/RTI/ndds.5.1.0/scripts:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

the arm-linux-gnueabihf-usw-yoda-yolo-yeti is in the /usr/lib/gcc/arm-linux-gnueabihf/4.6.3 folder

I'm tryin to fix my $PATH now

Offline
Last seen: 4 years 4 months ago
Joined: 05/13/2015
Posts: 7

So I tried to work around that problem by installing the original PI Cross Compiling libraries and finally it worked :)

Thank you RIP!


ps.: maybe they should give a hint in the description

rip
rip's picture
Offline
Last seen: 1 month 3 weeks ago
Joined: 04/06/2012
Posts: 315

Outstanding!

I believe that the HowTo page is open to comments -- you should consider compiling your thoughts into a "what I tried -- what happened -- how I fixed it" text and adding it as a comment to the page.

Glad I could help,

rip