Skip to content

Cannot build vdcd on a Linux VM because i2c and spi are not disabled #6

@goranpetrovikj

Description

@goranpetrovikj

Trying to build the vdcd on Ubuntu 18.04 (x64) running in Virtualbox resulted in the following error, even though i2c-tools were installed according to the instructions https://github.com/plan44/vdcd/blob/master/docs/How%20to%20build%20vdcd%20on%20Linux.md:

src/p44utils/i2c.cpp:44:4: warning: #warning "Most probably, we have the wrong i2c-dev.h header here - maybe i2c-tools not installed?" [-Wcpp]
   #warning "Most probably, we have the wrong i2c-dev.h header here - maybe i2c-tools not installed?"
    ^~~~~~~
src/p44utils/i2c.cpp: In member function ‘bool p44::I2CBus::I2CReadByte(p44::I2CDevice*, uint8_t&)’:
src/p44utils/i2c.cpp:183:13: error: ‘i2c_smbus_read_byte’ was not declared in this scope
   int res = i2c_smbus_read_byte(busFD);
             ^~~~~~~~~~~~~~~~~~~
...
src/p44utils/i2c.cpp: In member function ‘bool p44::I2CBus::accessDevice(p44::I2CDevice*)’:
src/p44utils/i2c.cpp:348:7: error: ‘ioctl’ was not declared in this scope
   if (ioctl(busFD, I2C_SLAVE, aDeviceP->deviceAddress) < 0) {
       ^~~~~
Makefile:4509: recipe for target 'src/p44utils/vdcd-i2c.o' failed
make[1]: *** [src/p44utils/vdcd-i2c.o] Error 1
make[1]: Leaving directory '/home/user/ds/vdcd'
Makefile:1397: recipe for target 'all' failed
make: *** [all] Error 2

To overcome the issue i had to set #define DISABLE_I2C 1 in /p44utils/i2c.cpp and #define DISABLE_SPI 1in /p44utils/spi.cpp.
I remember I didn't have such an issue when building the vdcd some months ago.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions