Help needed to compile gnu make in Angstrom Beagleboard

Hi,

After, I got the beagleboard boot up, I tried to compile a loadable
kernel module on beagleboard running Angstrom. However, when I tried
to use the gnu make, the command is not found:

root@beagleboard:~/make_381#
make
-sh: make: not found

Therefore, I tried to download the source from gnu.org to install gnu
make on my beagleboard. I followed the instructions that came with the
source code, which requires me to run ./configure as the first step, I
did but I got the following:

root@beagleboard:~/make_381# ./
configure
checking for a BSD-compatible install... config/install-sh -
c
checking whether build environment is sane...
yes
checking for gawk...
no
checking for mawk...
no
checking for nawk...
no
checking for awk...
awk
checking whether make sets $(MAKE)...
no
checking for gcc...
no
checking for cc...
no
checking for cc...
no
checking for cl...
no
configure: error: no acceptable C compiler found in
$PATH
See `config.log' for more details.

It seems to me like some of the required libraries or something are
missing, I tried doing a "opkg install gawk or awk" but none of them
work, anyone knows how to get gnu make working on beagleboard ?

Hi,

Is any reason you didn't do cross-compile your stuff in host pc and
then copy to your beagle target file system?

Yan

Is any reason you did not do cross-compile in Host PC? You should
probably cross-compile your stuff in host pc and then copy the
binaries to target file system.

Regards,
Yan

I replied from Web; but somehow the reply did not send out. I am trying again...

Is any reason you did not do cross-compile in Host PC? What you can do is cross compile your stuff first in Host PC and then copy to target file system.

Regards,
Yan

It has found awk …

checking for awk…
awk

but it can’t find a C compiler gcc or cc or cl …

checking for cc…
no
checking for cc…
no
checking for cl…
no
configure: error: no acceptable C compiler found in

So I wouldn’t be too concerned about awk and more concerned about gcc. If you are compiling on the beagleboard then you will need a native ARM C compiler and probably the best thing to look for would be a pre-built toolchain on gnuarm.

Personally, I cross-compile x86 to ARM on Ubuntu.

install task-native-sdk tool chain on beagle with:

opkg update
opkg install task-native-sdk

note: network to internet required.

thanks for all the help!

==>>Is any reason you did not do cross-compile in Host PC?
I didnt get the tftp setup, and I have to plug the SD card in and out
which is troublesome, however, I just got tftp setup now, and it
worked well..

==>>If you are compiling on the beagleboard then you will need a
native ARM C
compiler

I tried to pass my compiler through the CC variable, it shows that it
can find the gcc now, but I'm getting another error.. any idea what
can possibly cause this? I got the compiler from http://narcissus.angstrom-distribution.org/
online builder..

root@beagleboard:~/make_381# ./configure CC=arm-angstrom-linux-gnueabi-
gcc

checking for a BSD-compatible install... config/install-sh -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... no
checking for gcc... arm-angstrom-linux-gnueabi-gcc
checking for C compiler default output file name... configure: error:
C compiler cannot create executables
See `config.log' for more details.
beagleboard.

==>>opkg update
==>>opkg install task-native-sdk
What does task-native-sdk actually install? where can I find all the
list of stuff that I can install using "opkg install"? Anyway I did
the 2 u mentioned + "opkg install make", and I can use gnu make
now.. :slight_smile:

Hello Robert,

if you are used to cross-compiling for ARM on Ubuntu,
could you explain how to configure everything?

i have installed the cross compiler via sudo apt-get install gcc-arm-linux-gnueabi
(don’t know if that is ok for the Angstrom ?)

i’m trying to cross-compile the NTP source code from NTP.org,
which is using autoconf,
but i’m getting an error which i don’t understand:

when i run the configure, it gives me the error:
configure: error: crossing compiling: use --with-yielding_select=yes|no|manual

i added a config.site file including the CC, LDflags and CPPFLAGS to have the correct reference:
CC=arm-linux-gnueabi-gcc-4.7
LDFLAGS=-L/usr/lib/gcc-cross/arm-linux-gnueabi/4.7
CPPFLAGS="-I/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/include -I/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/include-fixed"

and my parameters of my configure look like this:
./configure --host=arm-unknown-linux-gnueabi --build=x86_64-unknown-linux

Is there anything else i need to be able to crosscompile this successfully for Angstrom?