ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Hydro on Arch Linux armv7h

asked 2014-04-07 23:10:53 -0600

lvntbkdmr gravatar image

updated 2016-10-24 09:08:34 -0600

ngrennan gravatar image

Hi,

I have a Pandaboard ES and i installed Arch linux by following theese instructions => archlinuxarm.org/platforms/armv7/ti/pandaboard

After that when i try to install ros-hydro by following these instructions => wiki.ros.org/hydro/Installation/Arch

it fails at yaourt ros-hydro, saying that armv7h is not supported.

For example, ros-hydro-catkin 's PKGBUILD doesn't contain armv7h architecture in its arch array. aur.archlinux.org/packages/ros-hydro-catkin/

When i download its PKGBUILD manually and add 'armv7h' to its arch array. it also gives error.

How can i install ros-hydro on my pandaboard? (i don't want to use ubuntu).

edit retag flag offensive close merge delete

Comments

Why don't you want to use Ubuntu?

ahendrix gravatar image ahendrix  ( 2014-04-07 23:27:41 -0600 )edit

i'm not sure but i think ubuntu uses more resources. I tried installing ubuntu-12.04-preinstalled-desktop-armhf+omap4.img.gz and ROS Hydro. I was able to install them without any trouble, but when i ran hector_mapping package with a Hokuyo URG. It used %105 of cpu and map was disaster.

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-08 00:00:56 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2014-04-08 03:55:21 -0600

bchr gravatar image

updated 2014-04-09 01:44:38 -0600

Hi, I'm the guy in charge of those hydro packages on the AUR. I have only added support for i686 and x86_64, since I cannot test package releases on ARM. However, several Arch users have been testing these packages with ARM, and apparently things were working for them.

First, make sure that you installed base-devel that contains the base tools required by makepkg:

sudo pacman -S base-devel

If you have the PKGBUILDs, you can use the following command to build them:

makepkg -Acsi

The -A option ignores the target architecture, -c cleans up the directory after makepkg is done, -s installs the needed dependencies (as explained here) and -i installs the package that you just built. However, there is absolutely no guarantee on the result since I have not tested things on ARM. Still, this is more or less an automatic source installation, so things should be fine.

Note that you can use yaourt -G ros-hydro-package-name to get the PKGBUILD.

Concerning the error you get when adding the architecture, try to give us more details, else we cannot do much for you. Remember that you may have some limited memory on your PandaBoard, and building packages can require quite a bit of it.

FYI, the project that includes the tools to generate those PKGBUILDs + the PKGBUILDs themselves, is available on GitHub here. You can clone it, cd to the packages that you want, and run makepkg from there. This is probably the easiest route for you.

UPDATE: some packages cannot be compiled on ARM right now. This is the same for every Linux distribution. For instance, roslisp depends on sbcl which is not available on ARM (cf. https://github.com/ros/roslisp/issues/14 ). Also, since more and more people seem to be installing the AUR packages for ROS on ARM, from now on I'll use 'any' for the supported architectures. This should ease the install process for ARM users, but there will not be any guarantee on the result.

edit flag offensive delete link more

Comments

hi, first of all thank you very much for responding me very soon. i cloned git repository that you provided. However, when i try to makepkg ros-build-tools it gives me this error. makepkg -Acsi --asroot ==> ERROR: Cannot find the strip binary required for object file stripping.

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-08 08:27:29 -0600 )edit

You need to install base-devel to compile stuff: https://wiki.archlinux.org/index.php/Makepkg#Usage , this should solve your problem. Also I just updated the md5sums for ros-build-tools, just use git pull to get my latest changes.

bchr gravatar image bchr  ( 2014-04-08 08:34:39 -0600 )edit

I started installing ros-hydro-ros-base with yaourt (yaourt ros-hydro-ros-base) and i was editing every PKGBUILD to add armv7h to its arch array. However, it gives me an error at this point "Install or build missing dependencies for ros-hydro-roslisp: error: target not found: sbcl"

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-08 10:52:58 -0600 )edit

@lvntbkdmr: well, sbcl is in [extra], check in /ect/pacman.conf that [extra] is enabled, then run: sudo pacman -Sy

bchr gravatar image bchr  ( 2014-04-08 23:12:02 -0600 )edit

when i type pacman -S sbcl , it cannot find the package. i checked my pacman.conf extra is uncommented i'm using Geo-IP based mirror. http://mirror.archlinuxarm.org/$arch/$repo

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-09 00:30:29 -0600 )edit

@lvntbkdmr: then sbcl may not have been released for ARM. You can, once again, try to compile it yourself (https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/sbcl), or ask the guys in charge of Arch packing for ARM (https://github.com/archlinuxarm/PKGBUILDs )

bchr gravatar image bchr  ( 2014-04-09 00:44:27 -0600 )edit

sbcl is required by roslisp package. and according to these guys => answers.ros.org/question/80931/disable-roslisp/ , roslisp is not necessray so i skipped that package and continue installing. Guess what? i have successfully built ROS Hydro !!! :D (not full of course, just ros-base) thank you very much !

lvntbkdmr gravatar image lvntbkdmr  ( 2014-04-09 00:49:24 -0600 )edit

Note however that I don't know whether sbcl has been indeed ported to ARM successfully. It may be worth checking whether there's actually a sbcl for ARM on Debian as well... And apparently, there's not.

bchr gravatar image bchr  ( 2014-04-09 00:51:56 -0600 )edit

Question Tools

Stats

Asked: 2014-04-07 23:10:53 -0600

Seen: 1,409 times

Last updated: Apr 09 '14