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?
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
NDDSHOME is set to ~/RTI/ndds.5.1.0
I just put an attachment
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)
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).
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?
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.
Well, I hadn't installed them, but he is still shouting the same error.
(found them under http://linux-sunxi.org/Toolchain)
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?
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
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
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