Cant Compile via Workbench or WebIDE

Every time i try to compile it throws this error.


In file included from ArduCAM.h:9:0,
                 from cam.ino:4:
./inc/Arduino.h:140:0: note: this is the location of the previous definition
 #define cbi(sfr, bit) ((sfr) &= ~_BV(bit))
 ^
In file included from cam.ino:4:0:
ArduCAM.h:110:0: warning: "sbi" redefined
   #define sbi(_pin, bit)                 pinHI(A2)
 ^
In file included from ArduCAM.h:9:0,
                 from cam.ino:4:
./inc/Arduino.h:143:0: note: this is the location of the previous definition
 #define sbi(sfr, bit) ((sfr) |= _BV(bit))
 ^
In file included from cam.ino:5:0:
ArduCAM.cpp: In member function 'void ArduCAM::OV5642_set_JPEG_size(uint8_t)':
ArduCAM.cpp:791:11: warning: unused variable 'reg_val' [-Wunused-variable]
   uint8_t reg_val;
           ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs8_8(const sensor_reg*)':
ArduCAM.cpp:878:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
   int err = 0;
       ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs8_16(const sensor_reg*)':
ArduCAM.cpp:902:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
   int err = 0;
       ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs16_8(const sensor_reg*)':
ArduCAM.cpp:933:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
   int err = 0;
       ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs16_16(const sensor_reg*)':
ArduCAM.cpp:965:8: warning: variable 'err' set but not used [-Wunused-but-set-variable]
    int err = 0;
        ^
cam.ino: In function 'void setup()':
cam.ino:47:78: warning: 'particle::Future<bool> CloudClass::publish(const char*, const char*)' is deprecated: Beginning with 0.8.0 release, Particle.publish() will require event scope to be specified explicitly. Define PARTICLE_USING_DEPRECATED_API macro to avoid this warning. [-Wdeprecated-declarations]
   Particle.publish("status", "Good morning, Version: " + String(VERSION_SLUG));
                                                                              ^
In file included from ../wiring/inc/spark_wiring.h:47:0,
                 from ./inc/application.h:40,
                 from cam.cpp:1:
../wiring/inc/spark_wiring_cloud.h:396:31: note: declared here
 inline particle::Future<bool> CloudClass::publish(const char* name, const char* data) {
                               ^
In file included from cam.ino:5:0:
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs8_16(const sensor_reg*)':
ArduCAM.cpp:906:4: warning: 'reg_val' may be used uninitialized in this function [-Wmaybe-uninitialized]
    while ((reg_addr != 0xff) | (reg_val != 0xffff))
    ^
ArduCAM.cpp:906:4: warning: 'reg_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs16_8(const sensor_reg*)':
ArduCAM.cpp:938:4: warning: 'reg_val' may be used uninitialized in this function [-Wmaybe-uninitialized]
    while ((reg_addr != 0xffff) | (reg_val != 0xff))
    ^
ArduCAM.cpp:938:4: warning: 'reg_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]

Building cpp file: ArduCAM.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p ../build/target/user/platform-6-m
I../communication/src -I../hal/inc -I../hal/shared -I../hal/src/photon -I../hal/src/stm32f2xx -I../hal/src/stm32 -I../hal/src/photon/api -I../hal/src/photon/include -I../hal/src/photon/wiced/security/BESL/host/WICED/ -I../hal/src/photon/wiced/security/BESL/include -I../hal/src/photon/wiced/security/BESL -I../hal/src/photon/wiced/security/BESL/crypto -I../hal/src/photon/wiced/WWD/include/ -I../hal/src/photon/wiced/platform/include/ -I../hal/src/photon/wiced/platform/GCC/ -I../hal/src/photon/wiced/security/BESL/supplicant/ -I../hal/src/photon/libraries/crypto -I../platform/shared/inc -I../platform/MCU/STM32F2xx/STM32_USB_Host_Driver/inc -I../platform/MCU/STM32F2xx/STM32_StdPeriph_Driver/inc -I../platform/MCU/STM32F2xx/STM32_USB_OTG_Driver/inc -I../platform/MCU/STM32F2xx/STM32_USB_Device_Driver/inc -I../platform/MCU/STM32F2xx/SPARK_Firmware_Driver/inc -I../platform/MCU/shared/STM32/inc -I../platform/MCU/STM32F2xx/CMSIS/Include -I../platform/MCU/STM32F2xx/CMSIS/Device/ST/Include -
In file included from ArduCAM.cpp:14:0:
ArduCAM.h:109:0: warning: "cbi" redefined
   #define cbi(_pin, bit)                 pinLO(A2)
 ^
In file included from ArduCAM.h:9:0,
                 from ArduCAM.cpp:14:
./inc/Arduino.h:140:0: note: this is the location of the previous definition
 #define cbi(sfr, bit) ((sfr) &= ~_BV(bit))
 ^
In file included from ArduCAM.cpp:14:0:
ArduCAM.h:110:0: warning: "sbi" redefined
   #define sbi(_pin, bit)                 pinHI(A2)
 ^
In file included from ArduCAM.h:9:0,
                 from ArduCAM.cpp:14:
./inc/Arduino.h:143:0: note: this is the location of the previous definition
 #define sbi(sfr, bit) ((sfr) |= _BV(bit))
 ^
ArduCAM.cpp: In member function 'void ArduCAM::OV5642_set_JPEG_size(uint8_t)':
ArduCAM.cpp:791:11: warning: unused variable 'reg_val' [-Wunused-variable]
   uint8_t reg_val;
           ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs8_8(const sensor_reg*)':
ArduCAM.cpp:878:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
   int err = 0;
       ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs8_16(const sensor_reg*)':
ArduCAM.cpp:902:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
   int err = 0;
       ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs16_8(const sensor_reg*)':
ArduCAM.cpp:933:7: warning: variable 'err' set but not used [-Wunused-but-set-variable]
   int err = 0;
       ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs16_16(const sensor_reg*)':
ArduCAM.cpp:965:8: warning: variable 'err' set but not used [-Wunused-but-set-variable]
    int err = 0;
        ^
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs8_16(const sensor_reg*)':
ArduCAM.cpp:906:4: warning: 'reg_val' may be used uninitialized in this function [-Wmaybe-uninitialized]
    while ((reg_addr != 0xff) | (reg_val != 0xffff))
    ^
ArduCAM.cpp:906:4: warning: 'reg_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]
ArduCAM.cpp: In member function 'int ArduCAM::wrSensorRegs16_8(const sensor_reg*)':
ArduCAM.cpp:938:4: warning: 'reg_val' may be used uninitialized in this function [-Wmaybe-uninitialized]
    while ((reg_addr != 0xffff) | (reg_val != 0xff))
    ^
ArduCAM.cpp:938:4: warning: 'reg_addr' may be used uninitialized in this function [-Wmaybe-uninitialized]

Building target: ../build/target/user/platform-6-mlibuser.a
Invoking: ARM GCC Archiver
mkdir -p ../build/target/user/platform-6-m
arm-none-eabi-gcc-ar -cr ../build/target/user/platform-6-mlibuser.a ../build/target/user/platform-6-mcam.o ../build/target/user/platform-6-mArduCAM.o

make[2]: Leaving directory '/firmware/user'
make -C ../../../hal-dynalib
make[2]: Entering directory '/firmware/hal-dynalib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/hal-dynalib'
make -C ../../../services-dynalib
make[2]: Entering directory '/firmware/services-dynalib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/services-dynalib'
make -C ../../../system-dynalib
make[2]: Entering directory '/firmware/system-dynalib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/system-dynalib'
make -C ../../../rt-dynalib
make[2]: Entering directory '/firmware/rt-dynalib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/rt-dynalib'
make -C ../../../wiring
make[2]: Entering directory '/firmware/wiring'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/wiring'
make -C ../../../communication-dynalib
make[2]: Entering directory '/firmware/communication-dynalib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/communication-dynalib'
make -C ../../../platform
make[2]: Entering directory '/firmware/platform'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/platform'
make -C ../../../wiring_globals
make[2]: Entering directory '/firmware/wiring_globals'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/firmware/wiring_globals'
Building c file: src/user_module.c
Invoking: ARM GCC C Compiler
mkdir -p target//obj/src/

Building c file: src/module_info.c
Invoking: ARM GCC C Compiler
mkdir -p target//obj/src/

Building c file: src/user_export.c
Invoking: ARM GCC C Compiler

Building cpp file: src/newlib_stubs.cpp
Invoking: ARM GCC CPP Compiler
mkdir -p target//obj/src/
arm-none-eabi-gcc -DSTM32_DEVICE -DSTM32F2XX -DPLATFORM_THREADING=1 -DPLATFORM_ID=6 -DPLATFORM_NAME=photon -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD006 -DUSBD_PID_CDC=0xC006 -g3
-gdwarf-2 -Os -mcpu=cortex-m3 -mthumb -DINCLUDE_PLATFORM=1 -fno-builtin -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DSYSTEM_VERSION_STRING=1.0.1 -DRELEASE_BUILD -Werror -I./inc -I../../../user/inc -I../../../dynalib/inc -I../../../services/inc -I../../../services/nanopb -I../../../hal/inc -I../../../hal/shared -I../../../hal/src/photon -I../../../hal/src/stm32f2xx -I../../../hal/src/stm32 -I../../../hal/src/photon/api -I../../../hal/src/photon/include -I../../../hal/src/photon/wiced/security/BESL/host/WICED/ -I../../../hal/src/photon/wiced/security/BESL/include -I../../../hal/src/photon/wiced/security/BESL -I../../../hal/src/photon/wiced/security/BESL/crypto -I../../../hal/src/photon/wiced/WWD/include/ -I../../../hal/src/photon/wiced/platform/include/ -I../../../hal/src/photon/wiced/platform/GCC/ -I../../../hal/src/photon/wiced/security/BESL/supplicant/ -I../../../hal/src/photon/libraries/crypto -I../../../system/inc -I../../../rt-dynalib/inc -I../../../wiring/inc -I../../../modules/photon/system-part1/inc -I../../../modules/shared/stm32f2xx/inc -I../../../platform/shared/inc -I../../../platform/MCU/STM32F2xx/STM32_USB_Host_Driver/inc -I../../../platform/MCU/STM32F2xx/STM32_StdPeriph_Driver/inc -I../../../platform/MCU/STM32F2xx/STM32_USB_OTG_Driver/inc -I../../../platform/MCU/STM32F2xx/STM32_USB_Device_Driver/inc -I../../../platform/MCU/STM32F2xx/SPARK_Firmware_Driver/inc -I../../../platform/MCU/shared/STM32/inc -I../../../platform/MCU/STM32F2xx/CMSIS/Include -I../../../platform/MCU/STM32F2xx/CMSIS/Device/ST/Include -I. -MD -MP -MF target//obj/src/newlib_stubs.o.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -Wundef -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DBOOTLOADER_SDK_3_3_0_PARTICLE -DPARTICLE_DCT_COMPATIBILITY -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0x80A0000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=5 -DMODULE_FUNCTION=5 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=4,2,1002 -DMODULE_DEPENDENCY2=0,0,0 -D_WINSOCK_H -D_GNU_SOURCE  -fno-exceptions -fno-rtti -fcheck-new -c -o target//obj/src/newlib_stubs.o src/newlib_stubs.cpp

Building target: target/workspace.elf
Invoking: ARM GCC C++ Linker
mkdir -p target/
arm-none-eabi-g++ -DSTM32_DEVICE -DSTM32F2XX -DPLATFORM_THREADING=1 -DPLATFORM_ID=6 -DPLATFORM_NAME=photon -DUSBD_VID_SPARK=0x2B04 -DUSBD_PID_DFU=0xD006 -DUSBD_PID_CDC=0xC006 -g3
-gdwarf-2 -Os -mcpu=cortex-m3 -mthumb -DINCLUDE_PLATFORM=1 -fno-builtin -DUSE_STDPERIPH_DRIVER -DDFU_BUILD_ENABLE -DSYSTEM_VERSION_STRING=1.0.1 -DRELEASE_BUILD -Werror -I./inc -I../../../user/inc -I../../../dynalib/inc -I../../../services/inc -I../../../services/nanopb -I../../../hal/inc -I../../../hal/shared -I../../../hal/src/photon -I../../../hal/src/stm32f2xx -I../../../hal/src/stm32 -I../../../hal/src/photon/api -I../../../hal/src/photon/include -I../../../hal/src/photon/wiced/security/BESL/host/WICED/ -I../../../hal/src/photon/wiced/security/BESL/include -I../../../hal/src/photon/wiced/security/BESL -I../../../hal/src/photon/wiced/security/BESL/crypto -I../../../hal/src/photon/wiced/WWD/include/ -I../../../hal/src/photon/wiced/platform/include/ -I../../../hal/src/photon/wiced/platform/GCC/ -I../../../hal/src/photon/wiced/security/BESL/supplicant/ -I../../../hal/src/photon/libraries/crypto -I../../../system/inc -I../../../rt-dynalib/inc -I../../../wiring/inc -I../../../modules/photon/system-part1/inc -I../../../modules/shared/stm32f2xx/inc -I../../../platform/shared/inc -I../../../platform/MCU/STM32F2xx/STM32_USB_Host_Driver/inc -I../../../platform/MCU/STM32F2xx/STM32_StdPeriph_Driver/inc -I../../../platform/MCU/STM32F2xx/STM32_USB_OTG_Driver/inc -I../../../platform/MCU/STM32F2xx/STM32_USB_Device_Driver/inc -I../../../platform/MCU/STM32F2xx/SPARK_Firmware_Driver/inc -I../../../platform/MCU/shared/STM32/inc -I../../../platform/MCU/STM32F2xx/CMSIS/Include -I../../../platform/MCU/STM32F2xx/CMSIS/Device/ST/Include -I. -MD -MP -MF target/workspace.elf.d -ffunction-sections -fdata-sections -Wall -Wno-switch -Wno-error=deprecated-declarations -fmessage-length=0 -fno-strict-aliasing -DSPARK=1 -DPARTICLE=1 -Wundef -DSTART_DFU_FLASHER_SERIAL_SPEED=14400 -DSTART_YMODEM_FLASHER_SERIAL_SPEED=28800 -DBOOTLOADER_SDK_3_3_0_PARTICLE -DPARTICLE_DCT_COMPATIBILITY -fno-builtin-malloc -fno-builtin-free -fno-builtin-realloc -DUSER_FIRMWARE_IMAGE_SIZE=0x20000 -DUSER_FIRMWARE_IMAGE_LOCATION=0x80A0000 -DMODULAR_FIRMWARE=1 -DMODULE_VERSION=5 -DMODULE_FUNCTION=5 -DMODULE_INDEX=1 -DMODULE_DEPENDENCY=4,2,1002 -DMODULE_DEPENDENCY2=0,0,0 -D_WINSOCK_H -D_GNU_SOURCE target//obj/src/user_module.o target//obj/src/module_info.o target//obj/src/user_export.o target//obj/src/newlib_stubs.o  --output target/workspace.elf -Wl,--whole-archive ../../../hal/src/photon/lib/STM32F2xx_Peripheral_Libraries.a -Wl,--no-whole-archive -nostartfiles -Xlinker --gc-sections -L../../../build/arm/linker/stm32f2xx  -L../../../build/target/user/platform-6-m -L../../../build/target/services-dynalib/arm/ -L../../../build/target/hal-dynalib/platform-6-m/ -L../../../build/target/system-dynalib/platform-6-m/ -L../../../build/target/rt-dynalib/platform-6-m/ -L../../../build/target/wiring/platform-6-m/ -L../../../build/target/communication-dynalib/platform-6-m/ -L../../../build/target/platform/platform-6-m/ -L../../../build/target/wiring_globals/platform-6-m/ -L../../../hal/src/photon/lib/ -L../../../build/arm/linker -Wl,--whole-archive -luser -lhal-dynalib -lservices-dynalib -lsystem-dynalib -lrt-dynalib -lwiring -lcommunication-dynalib -lplatform -lwiring_globals -Wl,--no-whole-archive -lnosys --specs=nano.specs -L../../../modules/photon/system-part2 -L../../../modules/photon/system-part1 -L. -T./linker.ld -Wl,--defsym,USER_FIRMWARE_IMAGE_SIZE=0x20000 -Wl,--defsym,USER_FIRMWARE_IMAGE_LOCATION=0x80A0000 -Wl,-Map,target/workspace.map
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):ArduCAM.cpp:30: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM(unsigned char, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::ArduCAM(unsigned char, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_fifo_burst()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::CS_HIGH()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::CS_LOW()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::bus_write(int, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::write_reg(unsigned char, unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::start_capture()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::clear_fifo_flag()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::flush_fifo()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_mode(unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::bus_read(int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::read_fifo()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::read_reg(unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_bit(unsigned char, unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::clear_bit(unsigned char, unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::get_bit(unsigned char, unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::read_fifo_length()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::OV2640_set_JPEG_size(unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::OV5640_set_JPEG_size(unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::set_format(unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg8_8(int, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs8_8(sensor_reg const*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg8_8(unsigned char, unsigned char*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg8_16(int, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs8_16(sensor_reg const*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg8_16(unsigned char, unsigned short*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg16_8(int, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs16_8(sensor_reg const*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::OV5642_set_JPEG_size(unsigned char)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg16_8(unsigned short, unsigned char*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::InitCAM()'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorReg16_16(int, int)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::wrSensorRegs16_16(sensor_reg const*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
../../../build/target/user/platform-6-mlibuser.a(ArduCAM.o): In function `ArduCAM::ArduCAM()':
/firmware/user/../wiring/inc/spark_wiring_spi.h:118: multiple definition of `ArduCAM::rdSensorReg16_16(unsigned short, unsigned short*)'
../../../build/target/user/platform-6-mlibuser.a(cam.o):/firmware/user/../wiring/inc/spark_wiring_spi.h:118: first defined here
collect2: error: ld returned 1 exit status
../../../build/module.mk:220: recipe for target 'target/workspace.elf' failed
make[1]: Leaving directory '/firmware/modules/photon/user-part'
make[1]: *** [target/workspace.elf] Error 1

You can omit the warnings they won’t prevent a build.
Only errors do.

The problem I suspect with all these multiple definitions is that the header file is not guraded against muli-inclusion.
Add #pragma once at the top of the ArduCAM header file(s) and see what happens.