arm-poky-linux-gnueabi-gcc: command not found


#1

Hi, I am trying to build legacy app executable for my target device mangOH using the cross tool chain provided and am getting the following error.

arm-poky-linux-gnueabi-gcc: command not found

I tried installing sudo apt-get install ia32-libs but even though i am facing the same issue.


#2

Hi, Sravan. I got the same problem when I followed “Installing Legato and mangOH on Device” on the following totorials.

https://mangoh.io/tutorials-basics

How did you solve this problem, please?

Anyone can help for that?
I download the “VM” from following website.
“mangOH Dev using Legato 18.04.0 on Ubuntu 18.04 -r1”

https://mangoh.io/mangoh-green-resources-getting-started

=====
Sorry, I don’t know how, just tried again and it was solved. :eye:


#3

Hi @Wind_Wang, I don’t have a mangoOH device but I have got legato building for WP85 module…

Have you made sure you are pointing to the correct paths and have your environment variables set up?

Below is my build script for cross compiling a shared library in case it helps… You’ll need to update the paths to point to your framework folders.

export PATH=PATH:~/legato/packages/legato.framework.16.10.1.wp85-wp750x-201701111029/resources/legato/bin:~/bin:~/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin;
export LEGATO_ROOT=~/legato/packages/legato.framework.16.10.1.wp85-wp750x-201701111029/resources/legato;
export LEGATO_SYSROOT=~/legato/packages/legato.toolchain.1.7.3.SWI9X15Y_07112100-wp85-wp750x-native-x86-201701091132-1/resources/native/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/;
export LEGATO_SSROOT=~/legato/packages/legato.toolchain.1.7.3.SWI9X15Y_07112100-wp85-wp750x-native-x86-201701091132-1/resources/native/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/;
export WP85_TOOLCHAIN_DIR=~/legato/packages/legato.toolchain.1.7.3.SWI9X15Y_07112100-wp85-wp750x-native-x86-201701091132-1/resources/native/sysroots/i686-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi;

export WP85_TOOLCHAIN_PREFIX=arm-poky-linux-gnueabi;
export SOURCE_PATH=$1/$2;
export OBJECT_PATH=$1/obj/$3/$4;
export TARGET_PATH=$1/bin/$3/$4;
export TARGET_NAME=$5;
export MYPROJECT_PATH=$1/…/MyProject-Base;
export MY_SHARED_SOURCE_PATH=$1/…/XPlat-Shared;
set -x;
mkdir -p $OBJECT_PATH;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -std=c++11 -fPIC -c -x c++ “$MY_SHARED_SOURCE_PATH/FileStore.cpp” -o “$OBJECT_PATH/FileStore.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -x c++ “$MYPROJECT_PATH/TimeUtils.cpp” -o “$OBJECT_PATH/TimeUtils.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -x c++ “$MYPROJECT_PATH/MyProject.cpp” -o “$OBJECT_PATH/MyProject.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -x c++ “$MYPROJECT_PATH/IOBase.cpp” -o “$OBJECT_PATH/IOBase.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -x c++ “$MYPROJECT_PATH/IOUart.cpp” -o “$OBJECT_PATH/IOUart.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -x c++ “$MYPROJECT_PATH/Logger.cpp” -o “$OBJECT_PATH/Logger.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -x c++ “$MYPROJECT_PATH/Program.cpp” -o “$OBJECT_PATH/Program.o”;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MYPROJECT_PATH -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -o “$OBJECT_PATH/MyProject-Linux.o” MyProject-Linux.cpp;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -I $MYPROJECT_PATH -I $MY_SHARED_SOURCE_PATH -std=c++11 -fPIC -c -o “$OBJECT_PATH/IOUart-Linux.o” IOUart-Linux.cpp;
mkdir -p $TARGET_PATH/;
$WP85_TOOLCHAIN_DIR/$WP85_TOOLCHAIN_PREFIX-g++ --sysroot=$LEGATO_SYSROOT -D “_XPTR” -D “_USE_32BIT_TIME_T” -g -o “$TARGET_PATH/$TARGET_NAME” -Wl,–no-undefined -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack
-shared “$OBJECT_PATH/MyProject-Linux.o” “$OBJECT_PATH/IOUart-Linux.o” “$OBJECT_PATH/MyProject.o” “$OBJECT_PATH/Logger.o” “$OBJECT_PATH/Program.o”
“$OBJECT_PATH/IOBase.o” “$OBJECT_PATH/IOUart.o” “$OBJECT_PATH/TimeUtils.o” “$OBJECT_PATH/FileStore.o”;

see https://docs.legato.io/latest/buildToolsmk.html#buildToolsmk_ToolChainConfig

And more generally https://docs.legato.io is a good source of information on the build and cross compiling tools etc.

Thanks,