Skip to content

Combiner problem on new build configurations #993

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
robwri opened this issue Jun 21, 2018 · 2 comments
Closed

Combiner problem on new build configurations #993

robwri opened this issue Jun 21, 2018 · 2 comments

Comments

@robwri
Copy link

robwri commented Jun 21, 2018

I have an issue where any new build configurations I make do not want to build successfully due to static path names from old build configurations persisting in the variables that auto generate the make files for the new configuration. It seems like a different flavor of this issue 294

To reproduce:

Make a new project based on the blink example; by default it has one build configuration “Release”. It compiles and uploads fine.
Make a new configuration based on “Release”. It fails to build with the following error:

'Starting combiner'
"C:\sloeber\/arduinoPlugin/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-gcc" -Wall -Wextra -Os -Wl,--gc-sections,--relax -mmcu=atmega2560 -o "C:/sloeber-workspace/laserdevice/Release/laserdevice.elf"    .\sloeber.ino.cpp.o    C:/sloeber-workspace/laserdevice/smallTempControllerV0.1.1/arduino.ar  "-LC:/sloeber-workspace/laserdevice/Release" -lm
'Finished building: laserdevice.elf'
' '
'Create eeprom image'
"C:\sloeber\/arduinoPlugin/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "C:\sloeber-workspace\laserdevice/smallTempControllerV0.1.1/laserdevice.elf" "C:\sloeber-workspace\laserdevice/smallTempControllerV0.1.1/laserdevice.eep"
C:\sloeber\/arduinoPlugin/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-objcopy: 'C:\sloeber-workspace\laserdevice/smallTempControllerV0.1.1/laserdevice.elf': No such file
makefile:85: recipe for target 'laserdevice.hex' failed
make: *** [laserdevice.hex] Error 1

Looking at .settings/org.eclipse.cdt.core.prefs, there are a number of variables related to the new configuration that still have “Release” hardcoded into their path, which seems to be what caused the build to fail (ex: A.RECIPE.C.COMBINE.PATTERN.1, A.RECIPE.OBJCOPY.EEP.PATTERN.1, etc). Doing a find/replace all for “Release”->”${ConfigName}” appears to solve this issue, and making additional new configurations based on the modified one also seems to work fine.

I’m not sure if this is Sloeber specific, Eclipse specific, or me being dumb specific. Sloeber v4.2_win64

@jantje
Copy link
Member

jantje commented Jun 22, 2018

I'm using multiple configurations quite often. It works fine .... however not all ways of changing the configuration work properly.
A build all configurations for instance will not work
Also project properties->something->configurations->set active will not work
What works for me is
Right click the project->build configurations->set active
In CDT perspective select the dropdown next to the build icon and select the configuration

@jantje
Copy link
Member

jantje commented Jul 15, 2018

Closing as to long open without input

@jantje jantje closed this as completed Jul 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants