kubuntu 22.04
o
[ 40%] Building CXX object CMakeFiles/indi_gphoto_ccd.dir/gphoto_driver.cpp.o
/home/steve/Projects/indi-3rdparty/indi-gphoto/gphoto_driver.cpp: In function ‘int download_image(gphoto_driver*, CameraFilePath*, int)’:
/home/steve/Projects/indi-3rdparty/indi-gphoto/gphoto_driver.cpp:877:39: error: ‘struct libraw_imgother_t’ has no member named ‘SensorTemperature’
877 | if (lib_raw.imgdata.other.SensorTemperature > -273.15f)
| ^~~~~~~~~~~~~~~~~
/home/steve/Projects/indi-3rdparty/indi-gphoto/gphoto_driver.cpp:878:66: error: ‘struct libraw_imgother_t’ has no member named ‘SensorTemperature’
878 | gphoto->last_sensor_temp = lib_raw.imgdata.other.SensorTemperature;
| ^~~~~~~~~~~~~~~~~
/home/steve/Projects/indi-3rdparty/indi-gphoto/gphoto_driver.cpp:879:44: error: ‘struct libraw_imgother_t’ has no member named ‘CameraTemperature’
879 | else if (lib_raw.imgdata.other.CameraTemperature > -273.15f)
| ^~~~~~~~~~~~~~~~~
/home/steve/Projects/indi-3rdparty/indi-gphoto/gphoto_driver.cpp:880:66: error: ‘struct libraw_imgother_t’ has no member named ‘CameraTemperature’
880 | gphoto->last_sensor_temp = lib_raw.imgdata.other.CameraTemperature;
| ^~~~~~~~~~~~~~~~~
clear the indi-gphoto build folder and call:
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ~/Projects/indi-3rdparty/indi-gphoto
sudo make install
It then fails the temperature sensor tests and all is well.
I'm having this same problem. With your instructions, I'm a little clueless about what you mean by "clear the indi-gphoto build folder"
Without clearing anything 1st...
odroid@odroid:/media/odroid/T5_1T_SSD$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ./Projects/indi-3rdparty/indi-gphoto
-- Found CFITSIO: /usr/lib/aarch64-linux-gnu/libcfitsio.so
-- Found CameraTemperature in libraw_metadata_common_t 'libraw/libraw_types.h'
-- Found SensorTemperature in libraw_metadata_common_t 'libraw/libraw_types.h'
-- Configuring done
-- Generating done
-- Build files have been written to: /media/odroid/T5_1T_SSD
odroid@odroid:/media/odroid/T5_1T_SSD$ sudo make install
When I do this, it runs, but then my script to redo all of the indi-3rdparty fails with the same error.
Any suggestions on what I'm missing?
Thanks
It looks like you need to delete your build folder before running cmake. It appears cmake is using cached information about an older version of libraw (you probably updated your OS recently and pulled in a new libraw), that needs to be updated.
libraw changed how they store sensor temperature in recent versions of the library. The cmake script handles this, but you probably need to delete your build folder to force cmake to do the right thing.