Ask Your Question
0

Nao cross_compilation libmpfr.so.1 error

asked 2012-01-08 13:56:17 -0600

dougnets22 gravatar image

When trying to cross-compile for the Nao following the instructions (http://www.ros.org/wiki/nao/Tutorials/Cross-Compiling)

I get the following library error:

/media/external/nao-cross-toolchain-1.10.52/cross/geode/bin/../libexec/gcc/i586-linux/4.3.3/cc1plus: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

That file is no where to be found in the nao-cross-toolchain folder. I do, however, have libmpfr.so.4 in my /usr/lib directory. Any suggestions on how to either download the libmpfr.so.1 file or point the compilation to the appropriate location?

edit retag flag offensive close merge delete

4 Answers

Sort by » oldest newest most voted
1

answered 2012-01-11 18:40:51 -0600

Stefan Osswald gravatar image

I guess that you're using Ubuntu 11.10 (Oneiric), which does not provide libmpfr.so.1 any more. According to Nao's documentation, Oneiric is not officially supported by Aldebaran yet. You can still give it a try, but probably some dependencies will be missing.

In the case of libmpfr, you could try to download the package libmpfr1ldbl from Ubuntu Natty, extract it using dpkg -x and copy libmpfr.so.1 to /media/external/nao-cross-toolchain-1.10.52/cross/geode/bin/../libexec/gcc/i586-linux/4.3.3 .

edit flag offensive delete link more
3

answered 2012-01-11 23:23:09 -0600

daniel_maier gravatar image

Just do: sudo ln -s /usr/lib/libmpfr.so.4 /usr/lib/libmpfr.so.1

This is a bug in the cross-compilation toolchain that occurs with ubuntu 11.04 and later. Never came across it before, because we are still using 10.04 and 10.10 here. This problem is supposed to be fixed in naoqi 1.12 but unfortunately there are some new issues (like missing log4cxx).

edit flag offensive delete link more

Comments

Thanks for the suggestion. That seemed to solve that particular issue. However, since my machine is a 64 bit computer, now I get the issue:wrong ELF class: ELFCLASS64. I think I'm just going to switch to an older laptop.
dougnets22 gravatar imagedougnets22 ( 2012-01-12 01:35:01 -0600 )edit
aw, that's another problem. I installed a 32-bit chroot environment for that case. Basically, it should be possible to cross compile with a 64bit system, however I think nobody at Aldebaran tested this. You could try as stefan suggested and download the 32bit version of libmpfr.so.1 and copy to /usr/lib/.
daniel_maier gravatar imagedaniel_maier ( 2012-01-12 01:41:47 -0600 )edit
0

answered 2012-01-08 20:09:55 -0600

daniel_maier gravatar image

what are you trying to cross-compile? i.e. what command did you enter?

edit flag offensive delete link more

Comments

Thanks for responding daniel_maier. I am cross-compiling ROS for the NAO. So, at this stage I was in the /ros/electric/ros directory and I typed make (after typing make clean).
dougnets22 gravatar imagedougnets22 ( 2012-01-09 10:21:06 -0600 )edit
0

answered 2012-07-17 16:03:55 -0600

ryann2k1 gravatar image

hi dougnets22, Any progress of your crosscompile ros for nao? I am having the same problem, but for the environment setup, I change slightly, from export GEODE_CXX=$CTC_DIR/cross/geode/bin/i586-linux-g++ export GEODE_CC=$CTC_DIR/cross/geode/bin/i586-linux-gcc

to

export GEODE_CXX=$CTC_DIR/cross/bin/i686-pc-linux-gnu-g++ export GEODE_CC=$CTC_DIR/cross/bin/i686-pc-linux-gnu-gcc

Now, it doesn't need to look for the so library file, but this time different error appears as at my post : http://answers.ros.org/question/38716/error-when-installing-ros-for-nao-robot/ any idea as you may come across? Thanks

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2012-01-08 13:56:17 -0600

Seen: 4,322 times

Last updated: Jul 17 '12