Closed LightningStalker closed 7 years ago
OS is Zorin OS (Ubuntu based) This is way above my head. I have no idea how to debug something this complex. Web searches aren't helpful.
Also happening on Linux Mint 18.2 It doesn't matter weather it's the latest commit or 170418
Here is more of the error as it appears on Mint:
[LNK] : Linking object files into "XPLAINBridge.elf"
avr-gcc obj/XPLAINBridge.o obj/SoftUART.o obj/USARTDescriptors.o ../AVRISP-MKII/obj/AVRISPDescriptors.o ../AVRISP-MKII/obj/V2Protocol.o ../AVRISP-MKII/obj/V2ProtocolParams.o ../AVRISP-MKII/obj/ISPProtocol.o ../AVRISP-MKII/obj/ISPTarget.o ../AVRISP-MKII/obj/XPROGProtocol.o ../AVRISP-MKII/obj/XPROGTarget.o ../AVRISP-MKII/obj/XMEGANVM.o ../AVRISP-MKII/obj/TINYNVM.o ../AVRISP-MKII/obj/HIDParser.o ../AVRISP-MKII/obj/Device_AVR8.o ../AVRISP-MKII/obj/EndpointStream_AVR8.o ../AVRISP-MKII/obj/Endpoint_AVR8.o ../AVRISP-MKII/obj/Host_AVR8.o ../AVRISP-MKII/obj/PipeStream_AVR8.o ../AVRISP-MKII/obj/Pipe_AVR8.o ../AVRISP-MKII/obj/USBController_AVR8.o ../AVRISP-MKII/obj/USBInterrupt_AVR8.o ../AVRISP-MKII/obj/ConfigDescriptors.o ../AVRISP-MKII/obj/DeviceStandardReq.o ../AVRISP-MKII/obj/Events.o ../AVRISP-MKII/obj/HostStandardReq.o ../AVRISP-MKII/obj/USBTask.o obj/AudioClassDevice.o obj/CDCClassDevice.o obj/HIDClassDevice.o obj/MassStorageClassDevice.o obj/MIDIClassDevice.o obj/PrinterClassDevice.o obj/RNDISClassDevice.o obj/AndroidAccessoryClassHost.o obj/AudioClassHost.o obj/CDCClassHost.o obj/HIDClassHost.o obj/MassStorageClassHost.o obj/MIDIClassHost.o obj/PrinterClassHost.o obj/RNDISClassHost.o obj/StillImageClassHost.o -o XPLAINBridge.elf -lm -Wl,-Map=XPLAINBridge.map,--cref -Wl,--gc-sections -Wl,--relax -mmcu=at90usb1287
../AVRISP-MKII/obj/ISPTarget.o: In function __vector_17': /home/robert/src/lufa-LUFA-170418/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c:119: multiple definition of
__vector_17'
obj/SoftUART.o:/home/robert/src/lufa-LUFA-170418/Projects/XPLAINBridge/Lib/SoftUART.c:102: first defined here
/usr/lib/gcc/avr/4.9.2/../../../avr/bin/ld: Disabling relaxation: it will not work with multiple definitions
collect2: error: ld returned 1 exit status
../../LUFA/Build/DMBS/DMBS/gcc.mk:238: recipe for target 'XPLAINBridge.elf' failed
make[2]: [XPLAINBridge.elf] Error 1
make[2]: Leaving directory '/home/robert/src/lufa-LUFA-170418/Projects/XPLAINBridge'
makefile:44: recipe for target 'XPLAINBridge/' failed
make[1]: [XPLAINBridge/] Error 2
make[1]: Leaving directory '/home/robert/src/lufa-LUFA-170418/Projects'
makefile:19: recipe for target 'all' failed
make: *** [all] Error 2
Whoops, all fixed in 01e75290a0ea730e69c8465a17626c6458d19a9b. The XPLAINBridge project uses some sources from the AVRISP project, but I was compiling in the ISP programming protocol code which isn't needed, and which uses an interrupt vector internally that the XPLAINBridge project uses for other purposes.
Since the XPLAINBridge project doesn't use the ISP protocol compiling in the module isn't needed, and only results in the linker conflicts you're seeing there from the duplicate interrupt handler definition.
Thanks will checkout
Ok, finally got around to doing a test compile, and apparently XPLAINBridge
is still referencing the ISP protocol for some reason. Here's what happens:
[LNK] : Linking object files into "XPLAINBridge.elf"
avr-gcc obj/XPLAINBridge.o obj/SoftUART.o obj/USARTDescriptors.o ../AVRISP-MKII/obj/AVRISPDescriptors.o ../AVRISP-MKII/obj/V2Protocol.o ../AVRISP-MKII/obj/V2ProtocolParams.o ../AVRISP-MKII/obj/XPROGProtocol.o ../AVRISP-MKII/obj/XPROGTarget.o ../AVRISP-MKII/obj/XMEGANVM.o ../AVRISP-MKII/obj/TINYNVM.o ../AVRISP-MKII/obj/HIDParser.o ../AVRISP-MKII/obj/Device_AVR8.o ../AVRISP-MKII/obj/EndpointStream_AVR8.o ../AVRISP-MKII/obj/Endpoint_AVR8.o ../AVRISP-MKII/obj/Host_AVR8.o ../AVRISP-MKII/obj/PipeStream_AVR8.o ../AVRISP-MKII/obj/Pipe_AVR8.o ../AVRISP-MKII/obj/USBController_AVR8.o ../AVRISP-MKII/obj/USBInterrupt_AVR8.o ../AVRISP-MKII/obj/ConfigDescriptors.o ../AVRISP-MKII/obj/DeviceStandardReq.o ../AVRISP-MKII/obj/Events.o ../AVRISP-MKII/obj/HostStandardReq.o ../AVRISP-MKII/obj/USBTask.o obj/AudioClassDevice.o obj/CDCClassDevice.o obj/HIDClassDevice.o obj/MassStorageClassDevice.o obj/MIDIClassDevice.o obj/PrinterClassDevice.o obj/RNDISClassDevice.o obj/AndroidAccessoryClassHost.o obj/AudioClassHost.o obj/CDCClassHost.o obj/HIDClassHost.o obj/MassStorageClassHost.o obj/MIDIClassHost.o obj/PrinterClassHost.o obj/RNDISClassHost.o obj/StillImageClassHost.o -o XPLAINBridge.elf -lm -Wl,-Map=XPLAINBridge.map,--cref -Wl,--gc-sections -Wl,--relax -mmcu=at90usb1287
../AVRISP-MKII/obj/V2Protocol.o: In function V2Protocol_Init': V2Protocol.c:(.text.V2Protocol_Init+0xe): undefined reference to
ISPTarget_ConfigureRescueClock'
../AVRISP-MKII/obj/V2Protocol.o: In function V2Protocol_ProcessCommand': V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x8a): undefined reference to
ISPProtocol_EnterISPMode'
V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x19e): undefined reference to ISPProtocol_LeaveISPMode' V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x1a6): undefined reference to
ISPProtocol_ProgramMemory'
V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x1ae): undefined reference to ISPProtocol_ReadMemory' V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x1b4): undefined reference to
ISPProtocol_ChipErase'
V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x1bc): undefined reference to ISPProtocol_ReadFuseLockSigOSCCAL' V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x1c4): undefined reference to
ISPProtocol_WriteFuseLock'
V2Protocol.c:(.text.V2Protocol_ProcessCommand+0x1ca): undefined reference to `ISPProtocol_SPIMulti'
collect2: error: ld returned 1 exit status
../../LUFA/Build/DMBS/DMBS/gcc.mk:241: recipe for target 'XPLAINBridge.elf' failed
make[2]: [XPLAINBridge.elf] Error 1
make[2]: Leaving directory '/home/robert/src/lufa/Projects/XPLAINBridge'
makefile:44: recipe for target 'XPLAINBridge/' failed
make[1]: [XPLAINBridge/] Error 2
make[1]: Leaving directory '/home/robert/src/lufa/Projects'
makefile:19: recipe for target 'all' failed
make: *** [all] Error 2
Did you perform a make clean
beforehand, and pull the latest code? Your link step still refers to ISPProtocol.o
which should no longer be a prerequisite of the ELF build target.
Bug confirmed. Same problem here.
Hey guys I try to compile the examples and get this weird error.
/home/robert/src/lufa/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c:119: multiple definition of
__vector_17' obj/SoftUART.o:/home/robert/src/lufa/Projects/XPLAINBridge/Lib/SoftUART.c:102: first defined here /usr/lib/gcc/avr/4.8.1/../../../avr/bin/ld: Disabling relaxation: it will not work with multiple definitions collect2: error: ld returned 1 exit status ../../LUFA/Build/DMBS/DMBS/gcc.mk:241: recipe for target 'XPLAINBridge.elf' failed make[2]: [XPLAINBridge.elf] Error 1 make[2]: Leaving directory '/home/robert/src/lufa/Projects/XPLAINBridge' makefile:44: recipe for target 'XPLAINBridge/' failed make[1]: [XPLAINBridge/] Error 2 make[1]: Leaving directory '/home/robert/src/lufa/Projects' makefile:19: recipe for target 'all' failed make: *** [all] Error 2`Any ideas?