Author Topic: Linkage issue: __cxa_guard -> Ask for adding new.h+new.cpp in Digispark core  (Read 5594 times)

RC Navy

  • Jr. Member
  • **
  • Posts: 54
  • When you like, even too much, it is not enough!
Hi,

I'm still testing my libraries with Digispark and I was facing to a strange error at compilation time:
Code: [Select]
RcSeq/RcSeq.cpp.o: In function `RcSeq_Init()':
/home/phil/arduino-1.03/libraries/RcSeq/RcSeq.cpp:196: undefined reference to `__cxa_guard_acquire'
/home/phil/arduino-1.03/libraries/RcSeq/RcSeq.cpp:196: undefined reference to `__cxa_guard_release'
/home/phil/arduino-1.03/libraries/RcSeq/RcSeq.cpp:196: undefined reference to `__cxa_guard_acquire'
/home/phil/arduino-1.03/libraries/RcSeq/RcSeq.cpp:196: undefined reference to `__cxa_guard_release'
After some search on the Net, I found it's an issue at linkage time.
When I try to compile for Arduino UNO, I have no error, all is fine.
So, I started to suspected something missing in the core for Digispark.
Finally, I found the regular arduino core includes the files new.h and new.cpp.
By copying these 2 files in the core for Digispark, my sketch compiles fine! Yes, got it!!!

So, Bluebie, could you please include these 2 files in the DigisparkArduinoIntegration for the next release which is imminent?

Thanks,

RC Navy.
« Last Edit: March 09, 2013, 01:01:00 pm by RC Navy »

digistump

  • Administrator
  • Hero Member
  • *****
  • Posts: 1465
RC Navy-


Great - thanks!


To clarify Bluebie doesn't work for Digistump or maintain DigisparkArduinoIntegration - she just makes awesome contributions and maintains the bootloader project which is separate but used by the Digispark! We, Digistump, which consists of my wife and I, maintain the Digispark end of things - so I'll make sure the new.h and new.cpp get in the release that I'm working on putting together right now.


I'm also planning to have your libraries in the next release - of course, let me know if that isn't ok.


Thanks for all your great contributions!
Erik

RC Navy

  • Jr. Member
  • **
  • Posts: 54
  • When you like, even too much, it is not enough!
Hi Erik,

As you can see: it's a little confusing who maintains the booloader and who maintains the the integration of Digispark in the offical arduino IDE.

In order to clarify, could you please pin on who is maintaining what and which channel to use to report some modification and/or improvement? This will give the right point of contact for each part of the Digispark project.

Thanks to all people who maintains and supports the Digispark project.

Quote
I'm also planning to have your libraries in the next release - of course, let me know if that isn't ok.

I will be honored to share my librairies with Digispark's users, mostly since I know my <RcSeq> library which relies on <TinyPinChange>, <SoftRcPulseIn> and <SoftRcPulseOut> is working properly with the DS. I will create a new topic about <RcSeq> in order to present the capabilities of this library.

And never forget, small is beautifull! (Such as Digispark, obviously) ;)


Regards,

RC Navy
« Last Edit: March 09, 2013, 01:02:09 pm by RC Navy »

Mark

  • Full Member
  • ***
  • Posts: 196
This is a really good example of how effective Open Source is.

Users find issues and develop solutions, that they share.


Well done.
Mark

RC Navy

  • Jr. Member
  • **
  • Posts: 54
  • When you like, even too much, it is not enough!
Hi Mark,

you're completly right: I feel the same pleasure to receive or make contributions.

Regards,

RC Navy

Bluebie

  • Sr. Member
  • ****
  • Posts: 486
At the end of the day Digistump are responsible for supporting every aspect of the digispark. Any contribution I make here is because I've either developed something for my own art projects (micronucleus was made for installation art originally) or I'm bored and feel like helping some people out.


If you're having problems with the digispark I probably cant/wont help unless it's something obvious to me because of my experience dealing with the low level USB stuff, something I need to resolve for my own projects, or something where I can write a little bit of code which will make a lot of people's lives much easier. I don't provide any warranty that anything I make will work for you and I'm not here to support digistump products.