Comments (2)
I was stuck on this problem for 3 days. I was running Ubuntu 14.04 - which according to the documentation is an officially supported release. I think it's sad that developers haven't responded to this in 2 months. Here's how i resolved the issue:
Dependencies:
apt install build-essential git bison flex libgmp3-dev libncurses-dev libmpc-dev libmpfr-dev texinfo xzip lzip zip
apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf
apt install guile-1.8
mkdir buildroot && cd buildroot
git clone --branch 2016.11 https://github.com/adapteva/epiphany-sdk.git sdk
./sdk/build-epiphany-sdk.sh -C -c arm-linux-gnueabihf
Problem 1:
Epiphany-SDK installer refuses to work on many Linux distros due to its age. However it will work on ubuntu 14.04.
Problem 2: (Linkage problems part 1)
This will fail with an error about not being able to find ./../zlib directory, but the command needs to be run anyway to create the directories.
Copy zlib-1.2.11.tar.gz into the ~/buildroot/builds/bd-x86_64-2016.11/ directory, extract it, rename the extracted directory to zlib/ and run ./configure, and make.
Comment out line 927 of build-toolchain.sh... the call to a rm -rf, which myopically deletes the directory even when there's no clean option given to the build-epiphany-sdk.sh script.
Then run:
./sdk/build-epiphany-sdk.sh -c arm-linux-gnueabihf
Do NOT use the capitol -C option the second time as it will delete the zlib you just made!! The lower case -c is fine however.
Copy the zlib directory into ~/buildroot/builds/bd-armv7l-2016.11. Make sure it's named zlib/ not zlib-1.2.... etc. Because bd-armv71-2016.11 needs it too.
Problem 3: (Linkage problems part 2)
Building the Epiphany-SDK will now fail with ~/buildroot/builds/bd-armv7l-2016.11/gas not recognising file type of libz.so
This is because this version of zlib needs to be cross compiled for ARM, so autotools cannot link it to the rest of the cross compiled binaries.
To fix this enter into the zlib in the bd-armv7l-2016.11 directory and run:
CC="arm-linux-gnueabihf-gcc" ./configure
This will tell configure to use an ARM compiler rather than the default x86 compiler.
Then run "make".
Resume with:
./sdk/build-epiphany-sdk.sh -c arm-linux-gnueabihf
Again do NOT use the capitol -C option, else this will delete the cross-compiled zlib.
Problem 4: (Missing eng.h header)
There is another problem:
fatal error: eng.h no such file or directory.
#include "eng.h"
in directory ~/buildroot/unisrc-2016.11/sim/epiphany/cpuall.h
being compiled from ~/buildroot/buildss/bd-armv7l-2016.11/sim
The eng.h exists in:
~/buildroot/gdb/sim/sh64/eng.h
~/buildroot/binutils/sim/sh64/eng.h
~/buildroot/unisrc-2016.11/sim/sh64/eng.h
These files are exactly the same. There are 2 other headers that are missing in that directory, you can fix them as follows:
cp ~/buildroot/gdb/sim/sh64/eng.h ~/buildroot/builds/bd-armv7l-2016.11/sim/epiphany/
cp ~/buildroot/gdb/sim/sh64/eng-compact.h ~/buildroot/builds/bd-armv7l-2016.11/sim/epiphany/
cp ~/buildroot/gdb/sim/sh64/eng-media.h ~/buildroot/builds/bd-armv7l-2016.11/sim/epiphany/
then rerun:
./sdk/build-epiphany-sdk.sh -c arm-linux-gnueabihf
Problem 5 (undocumented autotools dependencies in epiphany-libs):
autoreconf: not found
fixed by "apt install autoconf"
Reran:
./sdk/build-epiphany-sdk.sh -c arm-linux-gnueabihf
Problem 6 (Libtool error):
error: Libtool library used but 'LIBTOOL' is undefined.
apt install libtool
libtoolize
Finally rerun ./sdk/build-epiphany-sdk.sh -c arm-linux-gnueabihf one more time.
Hopefully if everything has gone well, your epiphany-SDK should now be installed.
from epiphany-sdk.
Thanks @Owl3 for your solutions. Unfortunately we decided to move forward to another dev. platform because of the coming deadlines. Really appreciated your kindly help.
from epiphany-sdk.
Related Issues (20)
- simulator build fails with multiple defined symbols on Fedora 22 for 2015.1 HOT 7
- pull requests failing when cloning gnu tools HOT 4
- Multicore Epiphany simulator fails to build Fedora 22 / gcc (3.4 or 5.1.1) HOT 3
- the p[i] operand miss calculates the struct size HOT 2
- epiphany-examples: cpu/complex_numbers: Fails w/ devel branch + master toolchain HOT 1
- GCC emits superfluous movt r#, 0x0 instructions
- ESYS mmap failure. HOT 2
- -msmall16 not compatible with e_read() / e_write() SDK 2015.1
- unable to build ESDK 2016.3.1 for x86_64 (distro: Fedora Core 23) HOT 2
- gdb: Build with expat support HOT 2
- Should the `loader_cfg` section in Epiphany ELFs have its `ALLOC` flag set? HOT 2
- gcc: conjf suboptimal
- e-server / gdb: thread-specific breakpoint issues HOT 1
- Build Error, multiple definitions of 'xmalloc'
- Workaround to install SDK on Mint (Ubuntu based) but without gdb. HOT 2
- e-as (epiphany.cpu): mov rd,#imm16 discrepancy w/ isa documentation
- Epiphany-sdk on Freebsd HOT 4
- epiphany-libs: e-server: Regs r50-r62 aliases to r25-r37
- Freshly build gcc5 and gcc8 eSDK download HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from epiphany-sdk.