Hi,
I am having some trouble while cross compiling EPICS Base for
linux-arm on my linux-x86_64 machine and my cross toolchain from
Openembedded.
Build crashes at :
*************
...
make[3]: Verzeichnis
»/home/lb/src/EPICS_test/base-3.14.12.4/src/libCom/O.linux-x86_64«
wird verlassen
make -C O.linux-arm -f ../Makefile TOP=../../.. T_A=linux-arm install
make[3]: Verzeichnis
»/home/lb/src/EPICS_test/base-3.14.12.4/src/libCom/O.linux-arm« wird
betreten
/opt/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/bin/arm-angstrom-linux-gnueabi-gcc
-c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS
-D_XOPEN_SOURCE=500 -DUNIX -D_BSD_SOURCE -Dlinux
-D_REENTRANT -O3 -g -Wall -fPIC -MMD -I. -I../O.Common
-I. -I../../../src/libCom/osi/os/Linux
-I../../../src/libCom/osi/os/posix
-I../../../src/libCom/osi/os/default -I..
-I../../../src/libCom/bucketLib -I../../../src/libCom/ring
-I../../../src/libCom/calc -I../../../src/libCom/cvtFast
-I../../../src/libCom/cppStd -I../../../src/libCom/cxxTemplates
-I../../../src/libCom/dbmf -I../../../src/libCom/ellLib
-I../../../src/libCom/env -I../../../src/libCom/error
-I../../../src/libCom/fdmgr -I../../../src/libCom/freeList
-I../../../src/libCom/gpHash -I../../../src/libCom/iocsh
-I../../../src/libCom/logClient -I../../../src/libCom/macLib
-I../../../src/libCom/misc -I../../../src/libCom/osi
-I../../../src/libCom/taskwd -I../../../src/libCom/ti
mer -I.
./../../src/libCom/tsDefs -I../../../include/os/Linux
-I../../../include
-I/opt/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi/arm-angstrom-linux-gnueabi/include
../../../src/libCom/bucketLib/bucketLib.c
../../../src/libCom/bucketLib/bucketLib.c:19:19: fatal error: stdio.h:
No such file or directory
#include <stdio.h>
^
...
***********
My configurations:
Under configure dir I set in CONFIG_SITE file:
CROSS_COMPILER_TARGET_ARCHS=linux-arm
CROSS_COMPILER_HOST_ARCHS=linux-x86_64
Under configure/os I copied CONFIG_SITE.linux-x86.linux-arm to
CONFIG_SITE.linux-x86_64.linux-arm
and set there:
GNU_TARGET = arm-angstrom-linux-gnueabi
GNU_DIR =
/opt/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/usr/bin/arm-angstrom-linux-gnueabi
as this is the folder containing toolchain binaries as
arm-angstrom-linux-gnueabi-gcc and so on.
Additionally I had to make a soft-link "bin" inside this directory
pointing to this directory for EPICS to find the binaries.
The missing stdio.h is under
/opt/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include
.
Hopefully someone could help.
Thanks