I came across this problem and it's easily fixed (I've been using the Adafruit AS7341 library on the Artemis, core 1.2.0 for a while now). If you read the error messages and look in the file (Adafruit_SPIDevice.cpp) that they refer to, they related to SPI stuff, which is not relevant to the AS7341 as it uses I2C. They can be commented out and the errors disappear.
A caveat that this may do bad things if you are using the Adafruit libraries for anything SPI, including in other projects!
Ie. edit the relevant section of your Adafruit_SPIDevice.cpp to look something like this:
Code: Select allAdafruit_SPIDevice::Adafruit_SPIDevice(int8_t cspin, int8_t sckpin,
int8_t misopin, int8_t mosipin,
uint32_t freq, BitOrder dataOrder,
uint8_t dataMode) {
_cs = cspin;
_sck = sckpin;
_miso = misopin;
_mosi = mosipin;
#ifdef BUSIO_USE_FAST_PINIO
// csPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(cspin));
// csPinMask = digitalPinToBitMask(cspin);
// if (mosipin != -1) {
// mosiPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(mosipin));
// mosiPinMask = digitalPinToBitMask(mosipin);
// }
// if (misopin != -1) {
// misoPort = (BusIO_PortReg *)portInputRegister(digitalPinToPort(misopin));
// misoPinMask = digitalPinToBitMask(misopin);
// }
// clkPort = (BusIO_PortReg *)portOutputRegister(digitalPinToPort(sckpin));
// clkPinMask = digitalPinToBitMask(sckpin);
#endif
_freq = freq;
_dataOrder = dataOrder;
_dataMode = dataMode;
_begun = false;
_spiSetting = new SPISettings(freq, dataOrder, dataMode);
_spi = NULL;
}