Pages: [1]   Go Down
Author Topic: Arduino Due - http://www.baeyens.it/eclipse/V2 issue  (Read 1868 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 5
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

I am trying to set up my Arduino Due project under the eclipse with the newest plugin from  http://www.baeyens.it/eclipse/V2 but when I am building it, I got this linking error:

Starting combiner
"D:/Development/Arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/arm-none-eabi-g++" -Os -Wl,--gc-sections -mcpu=cortex-m3 "-TD:/Development/Arduino/arduino-1.5.1r2/hardware/arduino/sam/variants/arduino_due_x/linker_scripts/gcc/flash.ld" "-Wl,-Map,D:/Temp/eclipse/Workspace/Firmware/Release/Firmware.map" -o "D:/Temp/eclipse/Workspace/Firmware/Release/Firmware.elf" "-LD:/Temp/eclipse/Workspace/Firmware/Release" -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group     ./libs/ClickDelayedOffSwitcher.cpp.o ./libs/ClickDelayedSwitcher.cpp.o ./libs/ClickMultiSwitchers.cpp.o ./libs/ClickNextSwitcher.cpp.o ./libs/ClickPressReleaseSwitcher.cpp.o ./libs/ClickSwitcher.cpp.o ./libs/OffSwitcher.cpp.o ./libs/OnOffSwitcher.cpp.o ./libs/PressReleaseSwitcher.cpp.o ./libs/SmartyHomeCore.cpp.o ./libs/TemperatureSensor.cpp.o  ./Firmware.cpp.o   D:/Temp/eclipse/Workspace/Firmware/Release/arduino.ar   "D:/Development/Arduino/arduino-1.5.1r2/hardware/arduino/sam/variants/arduino_due_x/libsam_sam3x8e_gcc_rel.a" "D:/Temp/eclipse/Workspace/Firmware/Release/arduino.ar" -Wl,--end-group
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-abort.o): In function `abort':
abort.c:(.text+0xa): warning: undefined reference to `_exit'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text+0x12): warning: undefined reference to `_sbrk'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-signalr.o): In function `_kill_r':
signalr.c:(.text+0x18): warning: undefined reference to `_kill'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-signalr.o): In function `_getpid_r':
signalr.c:(.text+0x0): warning: undefined reference to `_getpid'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-writer.o): In function `_write_r':
writer.c:(.text+0x16): warning: undefined reference to `_write'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-closer.o): In function `_close_r':
closer.c:(.text+0x12): warning: undefined reference to `_close'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-fstatr.o): In function `_fstat_r':
fstatr.c:(.text+0x14): warning: undefined reference to `_fstat'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-isattyr.o): In function `_isatty_r':
isattyr.c:(.text+0x12): warning: undefined reference to `_isatty'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-lseekr.o): In function `_lseek_r':
lseekr.c:(.text+0x16): warning: undefined reference to `_lseek'
d:/development/arduino/arduino-1.5.1r2/hardware/tools/g++_arm_none_eabi/bin/../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/lib/thumb2\libc.a(lib_a-readr.o): In function `_read_r':
readr.c:(.text+0x16): warning: undefined reference to `_read'
Finished building: Firmware.elf

I don't know what to do in order to avoid thesse warnings and to create successfully the .elf file.
Can you help me please?

Thanks,
Andrei
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 144
Posts: 5345
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sounds more like an Eclipse problem than an Arduino problem...

Logged

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Based on the wording of the question, I think the OP would agree.  But, the problem with asking here is ... what exactly?  Wrong sub-forum?

Sorry OP -- I have no experience with Eclipse (nor the Due) so I can't offer any advice, but I do feel that someone here probably can.
Logged

Valencia, Spain
Offline Offline
Faraday Member
**
Karma: 144
Posts: 5345
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry OP -- I have no experience with Eclipse (nor the Due) so I can't offer any advice, but I do feel that someone here probably can.

It's a bit like asking your butcher for advice when your car goes wrong. He may know a little bit about cars, but really you're asking in the wrong place.

Logged

No, I don't answer questions sent in private messages (but I do accept thank-you notes...)

Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Haha -- maybe if you're driving a meat wagon.  (badump-tish) smiley-mr-green

Being gcc errors, it might just be a missing lib file that should be included.  It kinda looks like this post at AVR Freaks:

Quote
My guess is that either a reference to -lgcc has been missing, or the required sequence -lc -lgcc -lc was incomplete. The latter is really needed, libc.a needs to be searched twice because libgcc.a could cause additional unresolved symbols that need to be resolved there.
Logged

Offline Offline
Sr. Member
****
Karma: 7
Posts: 275
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@OP
You may want to update to the latest ( V2.1.0.4 released last week) version of the Arduino Eclipse plugin. That may remedy some problems.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dear all,

I am using V2 1.0.4 but i notice there is no linker in the arduino Toolchain similar to ARM linux GCC(Sourcery G++ Lite) which it does have ARM Sourcery Linux GCC C++ linker and ARM Sourcery Linux GCC C linker. I wonder if there is any alternative way to perform the linking as I am in process of using relic-toolkit with arduino Due in which i need to link librelic.a file to my project

I hope somebody can advice me in this matter

Logged

Belgium
Offline Offline
Edison Member
*
Karma: 68
Posts: 1899
Arduino rocks; but with my plugin it can fly rocking the world ;-)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

malbahri
My first advice: do not use archives at the project level.
My second advice: If your archive solution doesn't work; don't come to me.
My third advice: If you really need a additional library: consider creating a different board.

Again for many reasons I think it is a really dangerous idea to add a library at the project level. With the changes I see happening in Arduino it becomes more and more dangerous.


But if you really want to do so:
The linker is called "combiner" in arduino speak.
You can change the combiner command in the plugin at the project properties ->C/C++build->settings->Arduino combiner
There you can add any archive you want to the command. I would add it after ${A.RECIPE.C.COMBINE.PATTERN.2}

Best regards
Jantje
Logged

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

France
Offline Offline
God Member
*****
Karma: 11
Posts: 637
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I received the very same question from the very same guy but with embedXcode this time.

I've spent a lot of time figuring out what was wrong with embedXcode. embedXcode is ok as his project doesn't fit with the Arduino framework —embedXcode throws the same errors as the standard Arduino IDE.

So I strongly recommend him to
  • use another framework and IDE
  • develop or adapt the specific library yourself to the Arduino framework

I should have invoiced him 4 hours @ 125 USD for consulting.

Rather strange to accuse a tool when clearly it isn't designed for.

malbahri
My first advice: do not use archives at the project level.
My second advice: If your archive solution doesn't work; don't come to me.
My third advice: If you really need a additional library: consider creating a different board.

Again for many reasons I think it is a really dangerous idea to add a library at the project level. With the changes I see happening in Arduino it becomes more and more dangerous.


But if you really want to do so:
The linker is called "combiner" in arduino speak.
You can change the combiner command in the plugin at the project properties ->C/C++build->settings->Arduino combiner
There you can add any archive you want to the command. I would add it after ${A.RECIPE.C.COMBINE.PATTERN.2}

Best regards
Jantje
Logged


France
Offline Offline
God Member
*****
Karma: 11
Posts: 637
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

So what?

I received the very same question from the very same guy but with embedXcode this time.

I've spent a lot of time figuring out what was wrong with embedXcode. embedXcode is ok as his project doesn't fit with the Arduino framework —embedXcode throws the same errors as the standard Arduino IDE.

So I strongly recommend him to
  • use another framework and IDE
  • develop or adapt the specific library yourself to the Arduino framework

I should have invoiced him 4 hours @ 125 USD for consulting.

Rather strange to accuse a tool when clearly it isn't designed for.

Thank you very much for your help and support by the way if you want I am ready to bay this a mount, but I hope next time when you provide your support and you want to charge the person just telling him in advance. We are here to seek the knowledge and do the knoweldge transfer as much as we can. Finally, please make sure that personally I am not trying to ask for  help until I feel I have done my best level and it is the time for calling a help 
Again thanks a lot for your valuble time

malbahri
My first advice: do not use archives at the project level.
My second advice: If your archive solution doesn't work; don't come to me.
My third advice: If you really need a additional library: consider creating a different board.

Again for many reasons I think it is a really dangerous idea to add a library at the project level. With the changes I see happening in Arduino it becomes more and more dangerous.


But if you really want to do so:
The linker is called "combiner" in arduino speak.
You can change the combiner command in the plugin at the project properties ->C/C++build->settings->Arduino combiner
There you can add any archive you want to the command. I would add it after ${A.RECIPE.C.COMBINE.PATTERN.2}

Best regards
Jantje
Logged


Belgium
Offline Offline
Edison Member
*
Karma: 68
Posts: 1899
Arduino rocks; but with my plugin it can fly rocking the world ;-)
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

money talks bullshit walks.
Have you seen money  smiley-cool
Don't worry. It probably is a cultural/language difference.
But it is frustrating by times that many people believe that 3th party tool providers get paid by Arduino.
It is true that the Arduino core team has provided me some boards I use for testing. I'm grateful for that.
But that would not be enough  to pay the 4 hours of avenue33.

Best regards
Jantje
Logged

Do not PM me a question unless you are prepared to pay for consultancy.
Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -

Pages: [1]   Go Up
Jump to: