[ell-i-developers] Re: CoAP now compiles again under Mavericks, at least with Xcode5.0.2.

  • From: Eero Hakala <eero.k.hakala@xxxxxxxxx>
  • To: ell-i-developers <ell-i-developers@xxxxxxxxxxxxx>
  • Date: Thu, 29 May 2014 15:50:22 +0300

Hi, I run all tests and got clean results (+running emulator) for
PLATFORM=emulator BUT the SPI library

g++ -m32 -march=i386 -m32 -demangle -march=i386 -Xlinker -T -Xlinker
/home/eero/Ell-i/Runtime/stm32/tests/../scripts//elf_i386.xc -o
test_SPI_begin  main.o test_SPI_begin.o ellduino.o "-L."
"-L/home/eero/Ell-i/Runtime/stm32/tests/../variants/ellduino" "-lstm32f0"
-lstdc++ /home/eero/Ell-i/Runtime/stm32/tests/../libraries/SPI/SPI.a
/usr/bin/ld:
/home/eero/Ell-i/Runtime/stm32/tests/../libraries/SPI/SPI.a(SPIClass.o):
Relocations in generic ELF (EM: 40)
/usr/bin/ld:
/home/eero/Ell-i/Runtime/stm32/tests/../libraries/SPI/SPI.a(SPIClass.o):
Relocations in generic ELF (EM: 40)
/home/eero/Ell-i/Runtime/stm32/tests/../libraries/SPI/SPI.a: could not read
symbols: File in wrong format
collect2: error: ld returned 1 exit status
make[1]: *** [test_SPI_begin] Error 1
make[1]: Leaving directory
`/home/eero/Ell-i/Runtime/stm32/tests/test_SPI_begin'
make: *** [test_SPI_begin] Error 2



-eero-



On Thu, May 29, 2014 at 7:13 AM, Pekka Nikander <pekka.nikander@xxxxxx>
wrote:

> I managed to fix the compilation problem in the latest version of CoAP on
> my Mac.
>
> I have now pushed the commit to the feature-coap-temp branch:
>
>
> https://github.com/Ell-i/Runtime/commit/1389b8a33b42275e07b71060b3c15268bda224ce
>
> To compile this version, check it out and then
>
>  cd stm32/libraries
>  make
>  cd ../tests
>  make
>
> You should get a binary like the following:
>
> -rw-r--r--+ 1 pnr  staff  15237 May 29 06:53
> test_CoAP_no_threads/test_CoAP_no_threads.hex
>
> That should run on an Ellduino board, with the instructions from here:
>
>
> http://www.freelists.org/post/ell-i-developers/Outline-and-guide-for-IPUDP-testing
>
> Please note however that ARP *does* (should :-) work, so you don't need to
> configure a static ARP address.
>
> See you in about an hour there in Otaniemi; I may come a little bit after
> eight, depending on the kids.
>
> Mostly for those who followed my second tutorial yesterday, the problem
> was that the compiler constant propagation failed (without any obvious
> reason) for two statically allocated C++ objects in the SPI library.  I
> fixed that more-or-less temporarily with renaming
> stm32/libraries/SPI/src/SPIInitSTM32F0.cpp to
> stm32/libraries/SPI/src/SPIInitSTM32F0.cppinc, and then including that into
> stm32/libraries/SPI/src/ellduino_spi.cpp instead of compiling them as two
> separate objects and using the linker to fix the symbols.
>
> (I also needed to split off the SpiMaps into a separate compilation unit.
>  They are used only in the Arduion C++ API.  Hence, it is likely that if
> you try to use the Arduino C++ API, you will get linking errors.  That
> remains to be fixed later on.)
>
> --Pekka
>
> PS.  Feel free to forward this message to those people who were interested
> but may not be on the mailing list.  I didn't get their names; my apologies.
>
> PPS.  You can follow commits at the twitter channel @Ell_i_dev
>
>
>

Other related posts: