[ell-i-developers] Using travis for compiling Ell-i Runtime

  • From: Pekka Nikander <pekka.nikander@xxxxxx>
  • To: ell-i-developers@xxxxxxxxxxxxx
  • Date: Sun, 14 Sep 2014 21:53:38 +0300

Hi Hans,

I think this is an excellent suggestion, very much appreciate if you decide to 
work on this!  Teemu is also working on our own compile server, with the 
intention of eventually equipping with the ability to run the tests on real 
hardware.

Based on a quick look, the reason why the emulator build failed for you is too 
old native GCC.   Compiling the Ell-i Runtime for the emulator requires a C++11 
capable compiler, i.e. either GCC 4.7 (preferably 4.8) or newer, or recent 
enough LLVM.

I'm myself using ARM GCC 4.8.3 for hardware and Apple LLVM 5.0 for emulator.

--Pekka

On 2014–09–14, at 21:42 , Hans <hans1990@xxxxxxxxx> wrote:

> As a suggestion: travis (and coveralls) may be of interest for continuous 
> integration of (simulator) builds and unit tests + logs across different 
> contributors.
> 
> I've tried it on my own fork:
> 
> https://travis-ci.org/nlhans/Runtime/builds/35275108
> 
> As far as I have tried it builds fine for hardware but not for the emulator.
> 
> Travis (automatically) builds each commit that is pushed on github at a 
> remote server with a (clean) VM linux environment. You can set it up for 
> different environments, and run emulators/unit tests, etc. The console 
> results are visible for everyone to see. You can also integrate a build logo 
> in the readme.mk with the current build status (pass/fail).
> 
> I think for the official Ell-i repository you will probably have to register 
> an account for Ell-i. I believe it's free for (all?) open source 
> repositories. 
> 
> If you think it's useful I can try to get this working better and integrate 
> it into a single pull-request.
> 
> On Sun, Sep 14, 2014 at 6:04 PM, Pekka Nikander <pekka.nikander@xxxxxx> wrote:
> Thanks to Ivan, the current branch head should compile on Linux.  I'm 
> continuing the work with further SPI tests, hopefully tomorrow getting them 
> working with the RF with Asif, and forging the ENCX24J600 driver towards 
> master branch quality.
> 
> --Pekka
> 
> This On 2014–09–14, at 18:04 , Pekka Nikander <pekka.nikander@xxxxxx> wrote:
> 
> > Thanks, fixed, pushed, please try again.
> >
> > --Pekak
> >
> > On 2014–09–14, at 17:55 , Ivan Raul <supra.material@xxxxxxxxx> wrote:
> >
> >> Hi, Attached you can find the logs of the building process.
> >>
> >> arm-none-eabi-g++ -c -std=c++11 -g -Os --param max-inline-insns-single=500 
> >> -Wall -ffunction-sections -fdata-sections -fno-common -nostdlib 
> >> -mcpu=cortex-m0 -mthumb -DF_CPU=48000000L -DARDUINO=1.5.4 
> >> -DELLI_STM32F051_ELLDUINO -DARDUINO_ARCH_STM32 -fno-rtti -fno-exceptions 
> >> -fno-threadsafe-statics -D__STM32F051__ -DSTM32F0XX 
> >> -I/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/cores/arduelli 
> >> -I/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/system/stm32/inc 
> >> -I/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/system/stm32/CMSIS/Include
> >>  
> >> -I/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/variants/ellduino 
> >> -I/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/libraries/SPI/src 
> >>   -c -o test_SPI_begin.o 
> >> /home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/tests/test_SPI_begin/test_SPI_begin.cpp
> >> In file included from 
> >> /home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/tests/test_SPI_begin/test_SPI_begin.cpp:21:0:
> >> /home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/libraries/SPI/src/SPI.h:21:24:
> >>  fatal error: SPI/spiApi.h: No such file or directory
> >> #include <SPI/spiApi.h>
> >>                        ^
> >> compilation terminated.
> >> make[4]: *** [test_SPI_begin.o] Error 1
> >> make[4]: Leaving directory 
> >> `/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/tests/test_SPI_begin/hardware/ellduino'
> >> make[3]: *** [all] Error 2
> >> make[3]: Leaving directory 
> >> `/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/tests/test_SPI_begin'
> >> make[2]: *** [ellduino] Error 2
> >> make[2]: Leaving directory 
> >> `/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/tests/test_SPI_begin'
> >> make[1]: *** [hardware] Error 2
> >> make[1]: Leaving directory 
> >> `/home/whatever/ell-i/temp/encX24J600-wip/Runtime/stm32/tests/test_SPI_begin'
> >> make: *** [test_SPI_begin] Error 2
> >>
> >>
> >>
> >>
> >> With Warm Regards, Ivan Raul
> >>
> >> On Sun, Sep 14, 2014 at 4:18 PM, Pekka Nikander <pekka.nikander@xxxxxx> 
> >> wrote:
> >> Folks,
> >>
> >> In the process of moving the early ENCX24J600 code to the master, I have 
> >> now pushed updated SPI libraries to the feature-encX24J600-wip branch in 
> >> github:
> >>
> >>  https://github.com/Ell-i/Runtime/tree/feature-encX24J600-wip
> >>
> >> Please try to compile this on Linux:
> >>
> >>  git clone https://github.com/Ell-i/Runtime.git
> >>  cd Runtime/stm32/build
> >>  make
> >>  cd ../tests
> >>  make
> >>
> >> The branch is still lacking proper SPI test cases.  I'm working on them.
> >>
> >> I also have internally the CoAP code compiling in this branch, including 
> >> the ENCX24J600 drivers, but that is more work in progress and need to be 
> >> split into multiple libraries before being added to master.  Depending on 
> >> the schedule of others I may just push it in as a big blob into this 
> >> branch and start a new branch or continue working.
> >>
> >> For ENCX24J600 testing the feature-coap-temp branch should still be used, 
> >> it has appropriate preliminary test cases.
> >>
> >> --Pekka
> >>
> >>
> >> <encX24J600-wip_linux_logs.tar.gz>
> >
> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Other related posts:

  • » [ell-i-developers] Using travis for compiling Ell-i Runtime - Pekka Nikander