Problem running Player on Gumstix

View: New views
18 Messages — Rating Filter:   Alert me  

Problem running Player on Gumstix

by AdNewbie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
I am trying to run Player on the Gumstix (Verdex + Robostix +
netwifimicroSD), which in turn is going to be connected to the iRobot
Create. I downloaded Player 2.1.1 and configured it as follows:

./configure --build=x86-linux --host=arm-angstrom-linux --disable-alldrivers
--enable-roomba --prefix=/gumstix-buildroot/
build_arm_nofpu/root/usr/local/
CFLAGS=-fPIC --with-pic

I built and installed Player based on this configuration. Once it was
installed, I transferred the executable to the Gumstix and tried to run it
as follows:

# ./player roomba.cfg

It gave me:

-sh: ./player: not found

I'm not sure why its doing this. Whats even more weird is that when I try to
open it up using vi, it gives me the following:

#! /bin/bash

# player - temporary wrapper script for .libs/player
# Generated by ltmain.sh - GNU libtool 1.5.26 Debian 1.5.26-1ubuntu1
(1.1220.2.493 2008/02/01 16:58:18)
#
# The player program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
Xsed='/bin/sed -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'

# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
 emulate sh
 NULLCMD=:
 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
 # is contrary to our usage.  Disable this feature.
 alias -g '${1+"$@"}'='"$@"'
 setopt NO_GLOB_SUBST
else
 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /home/adheer/player-2.1.1/server; { test -z
\"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export
LIBRARY_PATH; }; };

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
 # install mode needs the following variable:
 notinst_deplibs=' ../server/libplayerdrivers/libplayerdrivers.la
../libplayercore/libplayercore.la ../libplayercore/libplayererror.la
../libplayercore/libp
else
 # When we are sourced in execute mode, $file and $echo are already set.
 if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
   echo="echo"
   file="$0"
   # Make sure echo works.
   if test "X$1" = X--no-reexec; then
     # Discard the --no-reexec flag, and continue.
     shift
   elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
     # Yippee, $echo works!
     :
   else
 # Restart under the correct shell, and then maybe $echo will work.
     exec /bin/bash "$0" --no-reexec ${1+"$@"}
   fi
 fi

 # Find the directory that this script lives in.
 thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 test "x$thisdir" = "x$file" && thisdir=.

 # Follow symbolic links until we get to the real thisdir.
 file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
 while test -n "$file"; do
   destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`

   # If there was a directory component, then change thisdir.
   if test "x$destdir" != "x$file"; then
     case "$destdir" in
     [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
     *) thisdir="$thisdir/$destdir" ;;
     esac
   fi

   file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
 done

 # Try to get the absolute directory name.
 absdir=`cd "$thisdir" && pwd`
 test -n "$absdir" && thisdir="$absdir"

 program=lt-'player'
 progdir="$thisdir/.libs"

 if test ! -f "$progdir/$program" || \
    { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null
| /bin/sed 1q`; \
      test "X$file" != "X$progdir/$program"; }; then

   file="$$-$program"

   if test ! -d "$progdir"; then
     mkdir "$progdir"
   else
 rm -f "$progdir/$file"
   fi

   # relink executable if necessary
   if test -n "$relink_command"; then
     if relink_command_output=`eval $relink_command 2>&1`; then :
     else
       echo "$relink_command_output" >&2
       rm -f "$progdir/$file"
       exit 1
     fi
   fi

   mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
   { rm -f "$progdir/$program";
     mv -f "$progdir/$file" "$progdir/$program"; }
   rm -f "$progdir/$file"
 fi

 if test -f "$progdir/$program"; then
   if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
     # Run the actual program with our arguments.

     exec "$progdir/$program" ${1+"$@"}

     $echo "$0: cannot exec $program $*"
     exit 1
   fi
 else
   # The program doesn't exist.
   $echo "$0: error: \`$progdir/$program' does not exist" 1>&2
   $echo "This script is just a wrapper for $program." 1>&2
   echo "See the libtool documentation for more information." 1>&2
   exit 1
 fi
fi



I don't know what this means, I'm a newbie at this stuff. I also tried to
run the player on my desktop whose details are:

root@adheer-desktop:~/roboticsprimer-0.1/exercises/01_introduction/gumstix#
uname -a
Linux adheer-desktop 2.6.20-17-generic #2 SMP Mon Jun 9 19:21:17 UTC 2008
x86_64 GNU/Linux

I got,:

root@adheer-desktop:~/player-2.1.1/server# ./player
Player v.2.1.1
USAGE:  player [options] [<configfile>]

Where [options] can be:
 -h             : print this message.
 -d <level>     : debug message level (0 = none, 1 = default, 9 = all).
 -p <port>      : port where Player will listen. Default: 6665
 -q             : quiet mode: minimizes the console output on startup.
 <configfile>   : load the the indicated config file

The following 1 drivers were compiled into Player:

   roomba


which is the way I expect it to behave on the Gumstix. Can someone help me
solve this problem, I have tried and tried only to fail. Could this be a
compiler issue, why isn't the darned thing running on the Gumstix. Please
let me know,
Thanks,
Adheer

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by Dave Hylands :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Adheer,

> # ./player roomba.cfg
>
> It gave me:
>
> -sh: ./player: not found
>
> I'm not sure why its doing this. Whats even more weird is that when I try to
> open it up using vi, it gives me the following:
>
> #! /bin/bash

I'll bet you don't have /bin/bash on your gumstix, which is what it's
really complaining about. Normally, the gumstix only has /bin/sh.

What you probably want to do is to copy the .libs/player over, which
should be a real executable, rather than using the libtool script
thingy.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by gordu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Try "/bin/bash -vx player  roomba.cfg" . The shell is complaining that it can't find an executable that you invoke inside the script. The -vx will show you the lines of the script plus the lines  as they get executed with substitutions made. From this you can tell what command the shell cant find.

gord u

On Wed, Jul 9, 2008 at 1:51 PM, Adheer Chauhan <chauhan4@...> wrote:
Hi,
I am trying to run Player on the Gumstix (Verdex + Robostix +
netwifimicroSD), which in turn is going to be connected to the iRobot
Create. I downloaded Player 2.1.1 and configured it as follows:

./configure --build=x86-linux --host=arm-angstrom-linux --disable-alldrivers
--enable-roomba --prefix=/gumstix-buildroot/
build_arm_nofpu/root/usr/local/
CFLAGS=-fPIC --with-pic

I built and installed Player based on this configuration. Once it was
installed, I transferred the executable to the Gumstix and tried to run it
as follows:

# ./player roomba.cfg

It gave me:

-sh: ./player: not found

I'm not sure why its doing this. Whats even more weird is that when I try to
open it up using vi, it gives me the following:

#! /bin/bash

# player - temporary wrapper script for .libs/player
# Generated by ltmain.sh - GNU libtool 1.5.26 Debian 1.5.26-1ubuntu1
(1.1220.2.493 2008/02/01 16:58:18)
#
# The player program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
Xsed='/bin/sed -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'

# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
 emulate sh
 NULLCMD=:
 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
 # is contrary to our usage.  Disable this feature.
 alias -g '${1+"$@"}'='"$@"'
 setopt NO_GLOB_SUBST
else
 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# The HP-UX ksh and POSIX shell print the target directory to stdout
# if CDPATH is set.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

relink_command="(cd /home/adheer/player-2.1.1/server; { test -z
\"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export
LIBRARY_PATH; }; };

# This environment variable determines our operation mode.
if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
 # install mode needs the following variable:
 notinst_deplibs=' ../server/libplayerdrivers/libplayerdrivers.la
../libplayercore/libplayercore.la ../libplayercore/libplayererror.la
../libplayercore/libp
else
 # When we are sourced in execute mode, $file and $echo are already set.
 if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
   echo="echo"
   file="$0"
   # Make sure echo works.
   if test "X$1" = X--no-reexec; then
     # Discard the --no-reexec flag, and continue.
     shift
   elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
     # Yippee, $echo works!
     :
   else
 # Restart under the correct shell, and then maybe $echo will work.
     exec /bin/bash "$0" --no-reexec ${1+"$@"}
   fi
 fi

 # Find the directory that this script lives in.
 thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
 test "x$thisdir" = "x$file" && thisdir=.

 # Follow symbolic links until we get to the real thisdir.
 file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
 while test -n "$file"; do
   destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`

   # If there was a directory component, then change thisdir.
   if test "x$destdir" != "x$file"; then
     case "$destdir" in
     [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
     *) thisdir="$thisdir/$destdir" ;;
     esac
   fi

   file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
   file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
 done

 # Try to get the absolute directory name.
 absdir=`cd "$thisdir" && pwd`
 test -n "$absdir" && thisdir="$absdir"

 program=lt-'player'
 progdir="$thisdir/.libs"

 if test ! -f "$progdir/$program" || \
    { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null
| /bin/sed 1q`; \
      test "X$file" != "X$progdir/$program"; }; then

   file="$$-$program"

   if test ! -d "$progdir"; then
     mkdir "$progdir"
   else
 rm -f "$progdir/$file"
   fi

   # relink executable if necessary
   if test -n "$relink_command"; then
     if relink_command_output=`eval $relink_command 2>&1`; then :
     else
       echo "$relink_command_output" >&2
       rm -f "$progdir/$file"
       exit 1
     fi
   fi

   mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
   { rm -f "$progdir/$program";
     mv -f "$progdir/$file" "$progdir/$program"; }
   rm -f "$progdir/$file"
 fi

 if test -f "$progdir/$program"; then
   if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
     # Run the actual program with our arguments.

     exec "$progdir/$program" ${1+"$@"}

     $echo "$0: cannot exec $program $*"
     exit 1
   fi
 else
   # The program doesn't exist.
   $echo "$0: error: \`$progdir/$program' does not exist" 1>&2
   $echo "This script is just a wrapper for $program." 1>&2
   echo "See the libtool documentation for more information." 1>&2
   exit 1
 fi
fi



I don't know what this means, I'm a newbie at this stuff. I also tried to
run the player on my desktop whose details are:

root@adheer-desktop:~/roboticsprimer-0.1/exercises/01_introduction/gumstix#
uname -a
Linux adheer-desktop 2.6.20-17-generic #2 SMP Mon Jun 9 19:21:17 UTC 2008
x86_64 GNU/Linux

I got,:

root@adheer-desktop:~/player-2.1.1/server# ./player
Player v.2.1.1
USAGE:  player [options] [<configfile>]

Where [options] can be:
 -h             : print this message.
 -d <level>     : debug message level (0 = none, 1 = default, 9 = all).
 -p <port>      : port where Player will listen. Default: 6665
 -q             : quiet mode: minimizes the console output on startup.
 <configfile>   : load the the indicated config file

The following 1 drivers were compiled into Player:

   roomba


which is the way I expect it to behave on the Gumstix. Can someone help me
solve this problem, I have tried and tried only to fail. Could this be a
compiler issue, why isn't the darned thing running on the Gumstix. Please
let me know,
Thanks,
Adheer

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by AdNewbie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dave,
Hi, thanks for your response. I tried to do what you did and now when I run the executable, this is what I get:

# ./player roomba.cfg
./player: ./player: 1: Syntax error: "(" unexpected

Also,  I'm using code from the Robotics Primer Workbook, the first exercise. On my desktop, I built the code and tried to run the executable and this is what I got:

oot@adheer-desktop:~/roboticsprimer-0.1/exercises/01_introduction/gumstix# ./intro client.xml
./intro: error while loading shared libraries: libroombaClient.so: cannot open shared object file: No such file or directory

Any ideas why this is happening. Please let me know and thanks for the help.
Adheer


On Wed, Jul 9, 2008 at 5:17 PM, Dave Hylands <dhylands@...> wrote:
Hi Adheer,

> # ./player roomba.cfg
>
> It gave me:
>
> -sh: ./player: not found
>
> I'm not sure why its doing this. Whats even more weird is that when I try to
> open it up using vi, it gives me the following:
>
> #! /bin/bash

I'll bet you don't have /bin/bash on your gumstix, which is what it's
really complaining about. Normally, the gumstix only has /bin/sh.

What you probably want to do is to copy the .libs/player over, which
should be a real executable, rather than using the libtool script
thingy.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by Dave Hylands :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Adheer,

> Hi, thanks for your response. I tried to do what you did and now when I run
> the executable, this is what I get:
>
> # ./player roomba.cfg
> ./player: ./player: 1: Syntax error: "(" unexpected

Hmm. This usually means that player wasn't compiled using the cross
compiler, or was compiled using a cross compiler from a different
revision than what you're running on your gumstix.

What does:

file player

report when you run it on your build machine (using the player
executable that you copied to the gumstix).

> Also,  I'm using code from the Robotics Primer Workbook, the first exercise.
> On my desktop, I built the code and tried to run the executable and this is
> what I got:
>
> oot@adheer-desktop:~/roboticsprimer-0.1/exercises/01_introduction/gumstix#
> ./intro client.xml
> ./intro: error while loading shared libraries: libroombaClient.so: cannot
> open shared object file: No such file or directory
>
> Any ideas why this is happening. Please let me know and thanks for the help.

This just means that the shared library libroombaClient.so wasn't in a
place that the intro program could find it.

You can use the LD_LIBRARY_PATH environment variable to point to the
directory containing libroombaClient.so or you can install
libroombaClient.so into one of the standard locations (like /usr/lib)
so that it knows where to find it.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by AdNewbie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dave,
When I type "file player", this is what I get:

root@adheer-desktop:~/player-2.1.1/server/.libs# file player
player: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped

Does this mean that player wasn't compiled using the correct toolchain. I configured the package as follows:

./configure --build=x86-linux --host=arm-angstrom-linux --disable-alldrivers --enable-roomba --prefix=/gumstix-buildroot/build_arm_nofpu/root/usr/local/ CFLAGS=-fPIC --with-pic

arm-angstrom-linux being the toolchain that I used for the host computer. Let me know what you think.
Thanks alot,
Adheer


Dave Hylands wrote:
Hi Adheer,

> Hi, thanks for your response. I tried to do what you did and now when I run
> the executable, this is what I get:
>
> # ./player roomba.cfg
> ./player: ./player: 1: Syntax error: "(" unexpected

Hmm. This usually means that player wasn't compiled using the cross
compiler, or was compiled using a cross compiler from a different
revision than what you're running on your gumstix.

What does:

file player

report when you run it on your build machine (using the player
executable that you copied to the gumstix).

> Also,  I'm using code from the Robotics Primer Workbook, the first exercise.
> On my desktop, I built the code and tried to run the executable and this is
> what I got:
>
> oot@adheer-desktop:~/roboticsprimer-0.1/exercises/01_introduction/gumstix#
> ./intro client.xml
> ./intro: error while loading shared libraries: libroombaClient.so: cannot
> open shared object file: No such file or directory
>
> Any ideas why this is happening. Please let me know and thanks for the help.

This just means that the shared library libroombaClient.so wasn't in a
place that the intro program could find it.

You can use the LD_LIBRARY_PATH environment variable to point to the
directory containing libroombaClient.so or you can install
libroombaClient.so into one of the standard locations (like /usr/lib)
so that it knows where to find it.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by AdNewbie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Gord,
I did try running player the way you mentioned but it still didn't pick it up. I removed the player executable from the Gumstix and copied the Player executable in /player-2.1.1/server/.libs. Now when I run it, this is what it gives me:

# ./player roomba.cfg
./player: ./player: 1: Syntax error: "(" unexpected

Any ideas why its doing that. I configured player as follows before I compiled it:

/configure --build=x86-linux --host=arm-angstrom-linux --disable-alldrivers --enable-roomba --prefix=/gumstix-buildroot/build_arm_nofpu/root/usr/local/ CFLAGS=-fPIC --with-pic

Could this be a compiler issue for the host computer? Please let me know.
Thanks,
Adheer

Gord Urquhart wrote:
Try "/bin/bash -vx player  roomba.cfg" . The shell is complaining that it
can't find an executable that you invoke inside the script. The -vx will
show you the lines of the script plus the lines  as they get executed with
substitutions made. From this you can tell what command the shell cant find.

gord u

On Wed, Jul 9, 2008 at 1:51 PM, Adheer Chauhan <chauhan4@gmail.com> wrote:

> Hi,
> I am trying to run Player on the Gumstix (Verdex + Robostix +
> netwifimicroSD), which in turn is going to be connected to the iRobot
> Create. I downloaded Player 2.1.1 and configured it as follows:
>
> ./configure --build=x86-linux --host=arm-angstrom-linux
> --disable-alldrivers
> --enable-roomba --prefix=/gumstix-buildroot/
> build_arm_nofpu/root/usr/local/
> CFLAGS=-fPIC --with-pic
>
> I built and installed Player based on this configuration. Once it was
> installed, I transferred the executable to the Gumstix and tried to run it
> as follows:
>
> # ./player roomba.cfg
>
> It gave me:
>
> -sh: ./player: not found
>
> I'm not sure why its doing this. Whats even more weird is that when I try
> to
> open it up using vi, it gives me the following:
>
> #! /bin/bash
>
> # player - temporary wrapper script for .libs/player
> # Generated by ltmain.sh - GNU libtool 1.5.26 Debian 1.5.26-1ubuntu1
> (1.1220.2.493 2008/02/01 16:58:18)
> #
> # The player program cannot be directly executed until all the libtool
> # libraries that it depends on are installed.
> #
> # This wrapper script should never be moved out of the build directory.
> # If it is, it will not operate correctly.
>
> # Sed substitution that helps us do robust quoting.  It backslashifies
> # metacharacters that are still active within double-quoted strings.
> Xsed='/bin/sed -e 1s/^X//'
> sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
>
> # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
> if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
>  emulate sh
>  NULLCMD=:
>  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
>  # is contrary to our usage.  Disable this feature.
>  alias -g '${1+"$@"}'='"$@"'
>  setopt NO_GLOB_SUBST
> else
>  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
> fi
> BIN_SH=xpg4; export BIN_SH # for Tru64
> DUALCASE=1; export DUALCASE # for MKS sh
>
> # The HP-UX ksh and POSIX shell print the target directory to stdout
> # if CDPATH is set.
> (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
>
> relink_command="(cd /home/adheer/player-2.1.1/server; { test -z
> \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export
> LIBRARY_PATH; }; };
>
> # This environment variable determines our operation mode.
> if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
>  # install mode needs the following variable:
>  notinst_deplibs=' ../server/libplayerdrivers/libplayerdrivers.la
> ../libplayercore/libplayercore.la ../libplayercore/libplayererror.la
> ../libplayercore/libp
> else
>  # When we are sourced in execute mode, $file and $echo are already set.
>  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
>    echo="echo"
>    file="$0"
>    # Make sure echo works.
>    if test "X$1" = X--no-reexec; then
>      # Discard the --no-reexec flag, and continue.
>      shift
>    elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
>      # Yippee, $echo works!
>      :
>    else
>  # Restart under the correct shell, and then maybe $echo will work.
>      exec /bin/bash "$0" --no-reexec ${1+"$@"}
>    fi
>  fi
>
>  # Find the directory that this script lives in.
>  thisdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
>  test "x$thisdir" = "x$file" && thisdir=.
>
>  # Follow symbolic links until we get to the real thisdir.
>  file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
>  while test -n "$file"; do
>    destdir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
>
>    # If there was a directory component, then change thisdir.
>    if test "x$destdir" != "x$file"; then
>      case "$destdir" in
>      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
>      *) thisdir="$thisdir/$destdir" ;;
>      esac
>    fi
>
>    file=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
>    file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
>  done
>
>  # Try to get the absolute directory name.
>  absdir=`cd "$thisdir" && pwd`
>  test -n "$absdir" && thisdir="$absdir"
>
>  program=lt-'player'
>  progdir="$thisdir/.libs"
>
>  if test ! -f "$progdir/$program" || \
>     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null
> | /bin/sed 1q`; \
>       test "X$file" != "X$progdir/$program"; }; then
>
>    file="$$-$program"
>
>    if test ! -d "$progdir"; then
>      mkdir "$progdir"
>    else
>  rm -f "$progdir/$file"
>    fi
>
>    # relink executable if necessary
>    if test -n "$relink_command"; then
>      if relink_command_output=`eval $relink_command 2>&1`; then :
>      else
>        echo "$relink_command_output" >&2
>        rm -f "$progdir/$file"
>        exit 1
>      fi
>    fi
>
>    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
>    { rm -f "$progdir/$program";
>      mv -f "$progdir/$file" "$progdir/$program"; }
>    rm -f "$progdir/$file"
>  fi
>
>  if test -f "$progdir/$program"; then
>    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
>      # Run the actual program with our arguments.
>
>      exec "$progdir/$program" ${1+"$@"}
>
>      $echo "$0: cannot exec $program $*"
>      exit 1
>    fi
>  else
>    # The program doesn't exist.
>    $echo "$0: error: \`$progdir/$program' does not exist" 1>&2
>    $echo "This script is just a wrapper for $program." 1>&2
>    echo "See the libtool documentation for more information." 1>&2
>    exit 1
>  fi
> fi
>
>
>
> I don't know what this means, I'm a newbie at this stuff. I also tried to
> run the player on my desktop whose details are:
>
> root@adheer-desktop
> :~/roboticsprimer-0.1/exercises/01_introduction/gumstix#
> uname -a
> Linux adheer-desktop 2.6.20-17-generic #2 SMP Mon Jun 9 19:21:17 UTC 2008
> x86_64 GNU/Linux
>
> I got,:
>
> root@adheer-desktop:~/player-2.1.1/server# ./player
> Player v.2.1.1
> USAGE:  player [options] [<configfile>]
>
> Where [options] can be:
>  -h             : print this message.
>  -d <level>     : debug message level (0 = none, 1 = default, 9 = all).
>  -p <port>      : port where Player will listen. Default: 6665
>  -q             : quiet mode: minimizes the console output on startup.
>  <configfile>   : load the the indicated config file
>
> The following 1 drivers were compiled into Player:
>
>    roomba
>
>
> which is the way I expect it to behave on the Gumstix. Can someone help me
> solve this problem, I have tried and tried only to fail. Could this be a
> compiler issue, why isn't the darned thing running on the Gumstix. Please
> let me know,
> Thanks,
> Adheer
>
> -------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
> Studies have shown that voting for your favorite open source project,
> along with a healthy diet, reduces your potential for chronic lameness
> and boredom. Vote Now at http://www.sourceforge.net/community/cca08
> _______________________________________________
> gumstix-users mailing list
> gumstix-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gumstix-users
>
>

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by Dave Hylands :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Adheer,

> When I type "file player", this is what I get:
>
> root@adheer-desktop:~/player-2.1.1/server/.libs# file player
> player: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux
> 2.6.0, dynamically linked (uses shared libs), not stripped
>
> Does this mean that player wasn't compiled using the correct toolchain.

Yes - this means that the x86 toolchain from your development machine
was used, rather than the cross toolchain.

This page may offer some help:
<http://playerstage.sourceforge.net/wiki/Cross-compiling>

I haven't had a chance to play with player myself.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by AdNewbie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dave,
Thanks a lot for your help but now I seem to have a new set of problems. Going through the gumstix-buildroot directories, I came across the arm-linux toolchain and I have added this directory to the path. The directory that contains the toolchain is:

root@adheer-desktop:/gumstix-buildroot/build_arm_nofpu/staging_dir/bin# ls
arm-linux-addr2line  arm-linux-gcov                     arm-linux-uclibcgnueabi-as         arm-linux-uclibcgnueabi-objcopy  get_device
arm-linux-alsalisp   arm-linux-gprof                    arm-linux-uclibcgnueabi-c++        arm-linux-uclibcgnueabi-objdump  get_driver
arm-linux-ar         arm-linux-ld                       arm-linux-uclibcgnueabi-cc         arm-linux-uclibcgnueabi-ranlib   libusb-config
arm-linux-as         arm-linux-nm                       arm-linux-uclibcgnueabi-c++filt    arm-linux-uclibcgnueabi-readelf  makedevs
arm-linux-aserver    arm-linux-objcopy                  arm-linux-uclibcgnueabi-cpp        arm-linux-uclibcgnueabi-size     mkimage
arm-linux-c++        arm-linux-objdump                  arm-linux-uclibcgnueabi-g++        arm-linux-uclibcgnueabi-strings  openssl
arm-linux-cc         arm-linux-ranlib                   arm-linux-uclibcgnueabi-gcc        arm-linux-uclibcgnueabi-strip    systool
arm-linux-c++filt    arm-linux-readelf                  arm-linux-uclibcgnueabi-gcc-4.1.1  c_rehash                         testlibsysfs
arm-linux-cpp        arm-linux-size                     arm-linux-uclibcgnueabi-gccbug     dlist_test                       write_attr
arm-linux-g++        arm-linux-strings                  arm-linux-uclibcgnueabi-gcov       fipsld                           xmlwf
arm-linux-gcc        arm-linux-strip                    arm-linux-uclibcgnueabi-gprof      get_bus_devices_list
arm-linux-gcc-4.1.1  arm-linux-uclibcgnueabi-addr2line  arm-linux-uclibcgnueabi-ld         get_class_dev
arm-linux-gccbug     arm-linux-uclibcgnueabi-ar         arm-linux-uclibcgnueabi-nm         get_classdev_parent

I've added this directory to the environment variable PATH as can be seen below:

root@adheer-desktop:~/player-2.1.1# echo $PATH
/gumstix-buildroot/build_arm_nofpu/staging_dir/arm-linux-uclibcgnueabi/bin/:/gumstix-buildroot/build_arm_nofpu/staging_dir/arm-linux/bin/:/usr/local/openmoko/arm/bin/:/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-gcc:/gumstix-buildroot/toolchain_build_arm_nofpu/gcc-4.1.1-final/arm-linux-uclibcgnueabi/:/gumstix-buildroot/build_arm_nofpu/staging_dir/:/gumstix-buildroot/build_arm_nofpu/staging_dir/include/c++/4.1.1/:/gumstix-buildroot/build_arm_nofpu/staging_dir/bin-ccache/:/gumstix-buildroot/build_arm_nofpu/staging_dir/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

Now, player configures fine but when I try to build it, it gives me the following error:

root@adheer-desktop:~/player-2.1.1# sudo make
make  all-recursive
make[1]: Entering directory `/home/adheer/player-2.1.1'
Making all in replace
make[2]: Entering directory `/home/adheer/player-2.1.1/replace'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/adheer/player-2.1.1/replace'
Making all in libplayerjpeg
make[2]: Entering directory `/home/adheer/player-2.1.1/libplayerjpeg'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/adheer/player-2.1.1/libplayerjpeg'
Making all in libplayerxdr
make[2]: Entering directory `/home/adheer/player-2.1.1/libplayerxdr'
make  all-am
make[3]: Entering directory `/home/adheer/player-2.1.1/libplayerxdr'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/adheer/player-2.1.1/libplayerxdr'
make[2]: Leaving directory `/home/adheer/player-2.1.1/libplayerxdr'
Making all in libplayercore
make[2]: Entering directory `/home/adheer/player-2.1.1/libplayercore'
make  all-am
make[3]: Entering directory `/home/adheer/player-2.1.1/libplayercore'
/bin/bash ../libtool --tag=CC   --mode=compile arm-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../client_libs/libplayerc++ -I../client_libs/libplayerc  -g -Wall -D PLAYER_INSTALL_PREFIX="\"/gumstix-buildroot/build_arm_nofpu/root/usr/local/\"" -I..   -fPIC -MT addr_util.lo -MD -MP -MF .deps/addr_util.Tpo -c -o addr_util.lo addr_util.c
 arm-linux-gcc -DHAVE_CONFIG_H -I. -I.. -I../client_libs/libplayerc++ -I../client_libs/libplayerc -g -Wall -D PLAYER_INSTALL_PREFIX=\"/gumstix-buildroot/build_arm_nofpu/root/usr/local/\" -I.. -fPIC -MT addr_util.lo -MD -MP -MF .deps/addr_util.Tpo -c addr_util.c  -fPIC -DPIC -o addr_util.o
env: arm-linux-gcc: No such file or directory
make[3]: *** [addr_util.lo] Error 1
make[3]: Leaving directory `/home/adheer/player-2.1.1/libplayercore'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/adheer/player-2.1.1/libplayercore'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/adheer/player-2.1.1'
make: *** [all] Error 2

I can see from this that it can't find arm-linux-gcc but thats really odd as i've added the directory to its path. I even tried to add the arm-linux toolchain to /usr/bin/ and that didn't work either. Any idea why this is happening. I'd really appreciate your help. I'm not very good with computer architecture. Please let me know.
Thanks alot,
Adheer

Dave Hylands wrote:
Hi Adheer,

> When I type "file player", this is what I get:
>
> root@adheer-desktop:~/player-2.1.1/server/.libs# file player
> player: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux
> 2.6.0, dynamically linked (uses shared libs), not stripped
>
> Does this mean that player wasn't compiled using the correct toolchain.

Yes - this means that the x86 toolchain from your development machine
was used, rather than the cross toolchain.

This page may offer some help:
<http://playerstage.sourceforge.net/wiki/Cross-compiling>

I haven't had a chance to play with player myself.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by Dave Hylands :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Adheer,

> env: arm-linux-gcc: No such file or directory
> make[3]: *** [addr_util.lo] Error 1
> make[3]: Leaving directory `/home/adheer/player-2.1.1/libplayercore'

> I can see from this that it can't find arm-linux-gcc but thats really odd as
> i've added the directory to its path. I even tried to add the arm-linux
> toolchain to /usr/bin/ and that didn't work either. Any idea why this is
> happening. I'd really appreciate your help. I'm not very good with computer
> architecture. Please let me know.

What does

type -a arm-linux-gcc

report?

And what heppens if you do:

touch empty.c
arm-linux-gcc -c empty.c

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by AdNewbie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Dave,
type -a arm-linux-gcc gives me the following:

arm-linux-gcc is /gumstix-buildroot/build_arm_nofpu/staging_dir/bin-ccache/arm-linux-gcc
arm-linux-gcc is /gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-gcc

When I did "touch empty.c" and "arm-linux-gcc -c empty.c", it compiled without any errors. It didn't give anything back. Let me know what you think.

Thanks,
Adheer

Dave Hylands wrote:
Hi Adheer,

> env: arm-linux-gcc: No such file or directory
> make[3]: *** [addr_util.lo] Error 1
> make[3]: Leaving directory `/home/adheer/player-2.1.1/libplayercore'

> I can see from this that it can't find arm-linux-gcc but thats really odd as
> i've added the directory to its path. I even tried to add the arm-linux
> toolchain to /usr/bin/ and that didn't work either. Any idea why this is
> happening. I'd really appreciate your help. I'm not very good with computer
> architecture. Please let me know.

What does

type -a arm-linux-gcc

report?

And what heppens if you do:

touch empty.c
arm-linux-gcc -c empty.c

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by Dave Hylands :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

> type -a arm-linux-gcc gives me the following:
>
> arm-linux-gcc is
> /gumstix-buildroot/build_arm_nofpu/staging_dir/bin-ccache/arm-linux-gcc
> arm-linux-gcc is
> /gumstix-buildroot/build_arm_nofpu/staging_dir/bin/arm-linux-gcc

So it's finding the in in bin-ccache first. Perhaps you should remove
that directory (staging_dir/bin-ccache) from your PATH so it finds the
one in staging_dir/bin.

> When I did "touch empty.c" and "arm-linux-gcc -c empty.c", it compiled
> without any errors. It didn't give anything back. Let me know what you
> think.

So this all sounds good.

--
Dave Hylands
Vancouver, BC, Canada
http://www.DaveHylands.com/

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
gumstix-users mailing list
gumstix-users@...
https://lists.sourceforge.net/lists/listinfo/gumstix-users

Re: Problem running Player on Gumstix

by AdNewbie