This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Can't cross compile uboot or Linux under Ubuntu - /bin/bash: arm-arago-linux-gnueabi-gcc: command not found

Hi,

I'm using Beagleboard XM.

I tried to compile the u-boot and Linux bundled inside ti-sdk-beagleboard-05.03.02.00.

My Ubuntu is running under VMware with Windows XP host. when I've setup everything and installed the Sitara Linux SDK according to the user guide, I tried to compile the u-boot and Linux inside the sdk.

I followed the commands in the SDK, so that the path of the system (checked by echo $PATH) is: /home/elvinw/ti-sdk-beagleboard-05.03.02.00/linux-devkit/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Then I issued the command under the u-boot folder:

elvinw@ubuntu:~/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03$ sudo make O=beagleboard CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm omap3_beagle

It couldn't get through and reported the following errors:

/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
Configuring for omap3_beagle board...
make
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
make[1]: Entering directory `/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03'
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
Generating /home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/beagleboard/include/autoconf.mk
/bin/bash: line 3: arm-arago-linux-gnueabi-gcc: command not found
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
Generating /home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/beagleboard/include/autoconf.mk.dep
/bin/bash: line 3: arm-arago-linux-gnueabi-gcc: command not found
make[1]: Leaving directory `/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03'
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
make[1]: Entering directory `/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03'
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
/bin/bash: arm-arago-linux-gnueabi-ld: command not found
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
dirname: missing operand
Try `dirname --help' for more information.
arm-arago-linux-gnueabi-gcc -DDO_DEPS_ONLY \
  -g  -Os   -fno-common -ffixed-r8 -msoft-float   -D__KERNEL__ -I/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/beagleboard/include2 -I/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/beagleboard/include -I/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/include -fno-builtin -ffreestanding -nostdinc -isystem  -pipe  -DCONFIG_ARM -D__ARM__         -march=armv5 -Wall -Wstrict-prototypes      \
  -o /home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/beagleboard/lib/asm-offsets.s /home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/lib/asm-offsets.c -c -S
/bin/bash: arm-arago-linux-gnueabi-gcc: command not found
make[1]: *** [/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03/beagleboard/lib/asm-offsets.s] Error 127
make[1]: Leaving directory `/home/elvinw/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03'
make: *** [omap3_beagle] Error 2

I don't know why it reported so many times "bin/bash: arm-arago-linux-gnueabi-gcc: command not found" and "dirname: missing operand".

If I issued the command arm-arago-linux-gnueabi-gcc at the command prompt, it can respond accordingly and so I am sure that the PATH is correct:

elvinw@ubuntu:~/ti-sdk-beagleboard-05.03.02.00/board-support/u-boot-2011.09-psp04.06.00.03$ arm-arago-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-arago-linux-gnueabi-gcc
Target: arm-arago-linux-gnueabi
Configured with: /sim/scratch_a0850442/arago-tmp-arago/work/i686-armv7a-sdk-arago-linux-gnueabi/gcc-cross-sdk-4.5-r41.2+svnr170880/gcc-4_5-branch/configure --build=i686-linux --host=i686-linux --target=arm-arago-linux-gnueabi --prefix=/arago-2011.09/armv7a --exec_prefix=/arago-2011.09/armv7a --bindir=/arago-2011.09/armv7a/bin --sbindir=/arago-2011.09/armv7a/bin --libexecdir=/arago-2011.09/armv7a/libexec --datadir=/arago-2011.09/armv7a/share --sysconfdir=/arago-2011.09/armv7a/etc --sharedstatedir=/arago-2011.09/armv7a/share/com --localstatedir=/arago-2011.09/armv7a/var --libdir=/arago-2011.09/armv7a/lib --includedir=/arago-2011.09/armv7a/include --oldincludedir=/arago-2011.09/armv7a/include --infodir=/arago-2011.09/armv7a/share/info --mandir=/arago-2011.09/armv7a/share/man --enable-largefile --disable-nls --enable-ipv6 --with-gnu-ld --enable-shared --enable-languages=c,c++,objc,fortran --enable-threads=posix --disable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-arago-linux-gnueabi- --enable-target-optspace --enable-lto --enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap --with-float=softfp --with-sysroot=/arago-2011.09/armv7a/arm-arago-linux-gnueabi --with-build-time-tools=/sim/scratch_a0850442/arago-tmp-arago/sysroots/i686-linux/usr/armv7a/arm-arago-linux-gnueabi/bin --with-build-sysroot=/sim/scratch_a0850442/arago-tmp-arago/sysroots/armv7a-arago-linux-gnueabi --disable-libunwind-exceptions --with-mpfr=/sim/scratch_a0850442/arago-tmp-arago/sysroots/i686-linux/usr --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 4.5.3 20110311 (prerelease) (GCC)

Anybody can advise me what I can do to fix the problem?

Cheers,

Elvin

 

  • Elvin,

    To build uBoot you need to set the path as you did, but also run the following command:

    source linux-devkit/environment-setup

    from the ti-sdk-beagleboard-05.03.02.00 directory.

    A/

  • Hi,

    I had the same issue. The issue is that you need to perform the make command with sudo. The solution for me was to change to su, source environment-setup and then to call the make. Which gives something like this:

    > sudo -s
    > source environment-setup
    > cd ./board-support/u-boot-*/
    > make O=am335x CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm am335x_evm
    Cheers

  • Hello,

    I want to express my gratitude. This surely works!! Thanks a lot~

    Also, I want to compliment sth else which may make it more convenient.

    1. $ gedit u-boot-**/arch/arm/config.mk

    Change CROSS_COMPILE ?= arm-arago-linux-gnueabi-

    2. add the following commands in the Makefile, located at the u-boot-** directory. Just at the beginning of the file will be OK!

    CROSS_COMPILE ?= arm-arago-linux-gnueabi-  

    ARCH?=arm

    Now, you can simply

    $ make distclean

    $ rm -rf ./am335x

    to clean the sources.

    $ make O=am335x am335x_evm

    to build.

    --------------------

    Thanks to the following link  http://bbs.eeworld.com.cn/thread-323319-1-1.html  

    ------------------