Guilouz / Marlin-SuperRacer-MKS-Nano-V3

Marlin Firmware configured for FLSUN Super Racer with MKS Robin Nano V3 motherboard.
GNU General Public License v3.0
68 stars 23 forks source link

Build (linker) fails with tons of undefined symbols #12

Closed attilabody closed 2 years ago

attilabody commented 2 years ago

[compi@arwen Marlin-SuperRacer-MKS-Nano-V3]$ pio run Processing mks_robin_nano_v3_usb_flash_drive_msc (platform: ststm32@~10.0; board: genericSTM32F407VGT6; framework: arduino)

Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F407VGT6.html PLATFORM: ST STM32 (10.0.1) > STM32F407VG (128k RAM, 64k CCM RAM, 1024k Flash HARDWARE: STM32F407VGT6 168MHz, 128KB RAM, 1MB Flash DEBUG: Current (jlink) External (jlink, stlink) PACKAGES:

Environment Status Duration


mks_robin_nano_v3_usb_flash_drive_msc FAILED 00:00:15.130 =========================================================================== 1 failed, 0 succeeded in 00:00:15.130 ============

ayesim commented 2 years ago

my understanding, FLSUN give us source files but they did not publish MarlinSerial.cpp file which is contain these missing symbols FLSUN LCD related communication definitions. that's why you have to download official source file and find MarlinSerial.CPP.o and below is from readme.txt

The first compilation will fail then,copy MarlinSerial.cpp.o file to "NanoV3-TFcard.pio\build\mks_robin_nano_v3_usb_flash_drive_msc\src\src\HAL\STM32" then ,compile again ,it will succeed.

Guilouz commented 2 years ago

Read this : https://github.com/Guilouz/Marlin-SuperRacer-MKS-Nano-V3/tree/main/_README

attilabody commented 2 years ago

That is very clearly a violation of Marlin's license.

Guilouz commented 2 years ago

Nope, Marlin is under GPL licence. The purpose of the GNU GPL license, according to its creators, is to guarantee the user the following rights (called freedoms) over a computer program:

Freedom 0. The freedom to run the software, for any purpose; Freedom 1. The freedom to study the operation of a program and of the adapter to its needs, which requires access to source codes; Freedom 2. The freedom to redistribute copies; Freedom 3. The obligation to provide the community with the benefit of the modified versions.

attilabody commented 2 years ago

GPL clearly states that you have to provide ALL the source code required to rebuild the binary. No escape routes. If FLSun sells the product with a binary built from a GPL-covered source the MUST make ALL the source code required to reproduce that binary available. They are violating the license also by distributing the MarlinSerial.o which is derived from the GPL licensed MarlinSerial.cpp from Marlin. Even the derived work is subject to the GPL (GPL is a so-called viral license)

https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)

Guilouz commented 2 years ago

Go tell them ... It's already good that they gave the sources because some brands do not give them. And again they published them because I asked them, insisting on the fact that they were obliged to provide the sources.