MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.33k stars 19.25k forks source link

No rule to make wiring.o #2960

Closed dccharacter closed 8 years ago

dccharacter commented 8 years ago

When making Marlin, this error is shown before stopping:

make: *\ No rule to make target '/home/andy/tmp/wiring.o', needed by '/home/andy/tmp/Marlin.elf'. Stop.

Some suggest there might be an issue with paths - I tried almost 128 different versions of paths to the tools as well as reinstalling the tools. Arduino IDE is able to compile the project.

OS: openSUSE leap 42.3

The Makefile:

HARDWARE_MOTHERBOARD ?=BOARD_RAMPS_13_EFB
ARDUINO_INSTALL_DIR  ?= /usr/share/arduino-1.0.6/
ARDUINO_VERSION      ?= 106
AVR_TOOLS_PATH ?= /opt/cross/avr/bin
UPLOAD_RATE        ?= 115200
AVRDUDE_PROGRAMMER ?= wiring
UPLOAD_PORT        ?= /dev/ttyACM0
BUILD_DIR          ?= /home/andy/tmp
LIQUID_TWI2        ?= 0
WIRE               ?= 0

There's also a confusing direction in Makefile: Requires a trailing slash. (ex: /usr/local/avr-gcc/bin) As you can see, the comment says the slash is required, and the example doesn't carry a one. Multiply this with the information that the original error may have to do something with a wrong character in the end of the avr-gcc tools config line and you have an unsolvable task.

Also, the comment says the path to avr-gcc is optional... But it seems to require that.

dccharacter commented 8 years ago

Arduino-Makefile is able to compile the project as well

thinkyhead commented 8 years ago

Is this improved at all in the current RCBugFix? We don't have too many developers looking at this, but recently we have received some Makefile updates.

dccharacter commented 8 years ago

I was actually able to find the issue - that was as far as I remember, the board name. You have to specify the numerical id as far as I remember, it wouldn't understand (logically enough) this: "BOARD_RAMPS_13_EFB". So because of this the rest of the paths in the make file were constructed incorrectly and the target couldn't build.

jbrazio commented 8 years ago

@dccharacter So do we need to fix the existing Makefile at RCBugfix ?

dccharacter commented 8 years ago

Well, this was my error and when I fixed that, I was able to use the makefile. This is not a critical issue. However I spent a lot of time (half a day easily) finding the root cause. Maybe it's because of the lack of knowledge, but maby it could use some better documentation. You decide. Thanks for what you do guys!!!!!

thinkyhead commented 8 years ago

Post a new issue if the Makefile starts to act up again. In general it would be good to get as much feedback about it as we can, because we don't really know who's using it and in what way.

github-actions[bot] commented 2 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.