Compilation hid-query.c: errors
Im trying to compile TEMPered on Raspberry Pi. First i have some warrnigs on hidapi compilation:
~/hidapi/linux $ make VERBOSE=1
g++ -Wall -g -fpic -c -I../hidapi pkg-config libusb-1.0 --cflags ../hidtest/hidtest.cpp -o ../hidtest/hidtest.o
g++ -Wall -g hid.o ../hidtest/hidtest.o pkg-config libudev --libs -o hidtest-hidraw
cc -Wall -g -fpic -c -I../hidapi pkg-config libusb-1.0 --cflags hid-libusb.c -o hid-libusb.o
hid-libusb.c: In function ‘hid_open_path’:
hid-libusb.c:752:10: warning: variable ‘num_devs’ set but not used [-Wunused-but-set-variable]
g++ -Wall -g hid-libusb.o ../hidtest/hidtest.o pkg-config libusb-1.0 --libs -o hidtest-libusb
cc -Wall -g pkg-config libusb-1.0 --libs -shared -fpic -Wl,-soname,libhidapi-libusb.so.0 -o libhidapi-libusb.so
cc -Wall -g pkg-config libudev --libs -shared -fpic -Wl,-soname,libhidapi-hidraw.so.0 -o libhidapi-hidraw.so
~/TEMPered/temp $ cmake ../ -- The C compiler identification is GNU 4.6.3 -- Check for working C compiler: /usr/bin/gcc -- Check for working C compiler: /usr/bin/gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Configuring done -- Generating done -- Build files have been written to: /home/fjk/TEMPered/temp
cmake is sucessful
~/TEMPered/temp $ make VERBOSE=1
/usr/bin/cmake -H/home/fjk/TEMPered -B/home/fjk/TEMPered/temp --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/fjk/TEMPered/temp/CMakeFiles /home/fjk/TEMPered/temp/CMakeFiles/progress.marks
make -f CMakeFiles/Makefile2 all
make[1]: Entering directory /home/fjk/TEMPered/temp' make -f libtempered/CMakeFiles/tempered-shared.dir/build.make libtempered/CMakeFiles/tempered-shared.dir/depend make[2]: Entering directory/home/fjk/TEMPered/temp'
cd /home/fjk/TEMPered/temp && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/fjk/TEMPered /home/fjk/TEMPered/libtempered /home/fjk/TEMPered/temp /home/fjk/TEMPered/temp/libtempered /home/fjk/TEMPered/temp/libtempered/CMakeFiles/tempered-shared.dir/DependInfo.cmake --color=
make[2]: Leaving directory /home/fjk/TEMPered/temp' make -f libtempered/CMakeFiles/tempered-shared.dir/build.make libtempered/CMakeFiles/tempered-shared.dir/build make[2]: Entering directory/home/fjk/TEMPered/temp'
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 8
[ 7%] Building C object libtempered/CMakeFiles/tempered-shared.dir/type_hid/common.c.o
cd /home/fjk/TEMPered/temp/libtempered && /usr/bin/gcc -Dtempered_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-shared.dir/type_hid/common.c.o -c /home/fjk/TEMPered/libtempered/type_hid/common.c
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 9
[ 14%] Building C object libtempered/CMakeFiles/tempered-shared.dir/type_hid/fm75.c.o
cd /home/fjk/TEMPered/temp/libtempered && /usr/bin/gcc -Dtempered_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-shared.dir/type_hid/fm75.c.o -c /home/fjk/TEMPered/libtempered/type_hid/fm75.c
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 10
[ 21%] Building C object libtempered/CMakeFiles/tempered-shared.dir/type_hid/ntc.c.o
cd /home/fjk/TEMPered/temp/libtempered && /usr/bin/gcc -Dtempered_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-shared.dir/type_hid/ntc.c.o -c /home/fjk/TEMPered/libtempered/type_hid/ntc.c
/home/fjk/TEMPered/libtempered/type_hid/ntc.c: In function ‘tempered_type_hid_read_sensor_group_ntc’:
/home/fjk/TEMPered/libtempered/type_hid/ntc.c:8:66: warning: unused parameter ‘group’ [-Wunused-parameter]
/home/fjk/TEMPered/libtempered/type_hid/ntc.c:9:41: warning: unused parameter ‘group_data’ [-Wunused-parameter]
/home/fjk/TEMPered/libtempered/type_hid/ntc.c: In function ‘tempered_type_hid_get_temperature_ntc’:
/home/fjk/TEMPered/libtempered/type_hid/ntc.c:20:60: warning: unused parameter ‘tempC’ [-Wunused-parameter]
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 11
[ 28%] Building C object libtempered/CMakeFiles/tempered-shared.dir/temper_type.c.o
cd /home/fjk/TEMPered/temp/libtempered && /usr/bin/gcc -Dtempered_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-shared.dir/temper_type.c.o -c /home/fjk/TEMPered/libtempered/temper_type.c
Linking C shared library libtempered.so
cd /home/fjk/TEMPered/temp/libtempered && /usr/bin/cmake -E cmake_link_script CMakeFiles/tempered-shared.dir/link.txt --verbose=1
/usr/bin/gcc -fPIC -std=gnu99 -Wall -pedantic -Wextra -shared -Wl,-soname,libtempered.so.0 -o libtempered.so.0 CMakeFiles/tempered-shared.dir/core.c.o CMakeFiles/tempered-shared.dir/type_hid/sht1x.c.o CMakeFiles/tempered-shared.dir/type_hid/common.c.o CMakeFiles/tempered-shared.dir/type_hid/fm75.c.o CMakeFiles/tempered-shared.dir/type_hid/ntc.c.o CMakeFiles/tempered-shared.dir/temper_type.c.o
cd /home/fjk/TEMPered/temp/libtempered && /usr/bin/cmake -E cmake_symlink_library libtempered.so.0 libtempered.so.0 libtempered.so
make[2]: Leaving directory /home/fjk/TEMPered/temp' /usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 6 7 8 9 10 11 [ 42%] Built target tempered-shared make -f libtempered-util/CMakeFiles/tempered-util-shared.dir/build.make libtempered-util/CMakeFiles/tempered-util-shared.dir/depend make[2]: Entering directory/home/fjk/TEMPered/temp'
cd /home/fjk/TEMPered/temp && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/fjk/TEMPered /home/fjk/TEMPered/libtempered-util /home/fjk/TEMPered/temp /home/fjk/TEMPered/temp/libtempered-util /home/fjk/TEMPered/temp/libtempered-util/CMakeFiles/tempered-util-shared.dir/DependInfo.cmake --color=
Dependee "/home/fjk/TEMPered/temp/libtempered-util/CMakeFiles/tempered-util-shared.dir/DependInfo.cmake" is newer than depender "/home/fjk/TEMPered/temp/libtempered-util/CMakeFiles/tempered-util-shared.dir/depend.internal".
Dependee "/home/fjk/TEMPered/temp/libtempered-util/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/fjk/TEMPered/temp/libtempered-util/CMakeFiles/tempered-util-shared.dir/depend.internal".
Scanning dependencies of target tempered-util-shared
make[2]: Leaving directory /home/fjk/TEMPered/temp' make -f libtempered-util/CMakeFiles/tempered-util-shared.dir/build.make libtempered-util/CMakeFiles/tempered-util-shared.dir/build make[2]: Entering directory/home/fjk/TEMPered/temp'
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 12
[ 50%] Building C object libtempered-util/CMakeFiles/tempered-util-shared.dir/temp-scale.c.o
cd /home/fjk/TEMPered/temp/libtempered-util && /usr/bin/gcc -Dtempered_util_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-util-shared.dir/temp-scale.c.o -c /home/fjk/TEMPered/libtempered-util/temp-scale.c
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 13
[ 57%] Building C object libtempered-util/CMakeFiles/tempered-util-shared.dir/calibration.c.o
cd /home/fjk/TEMPered/temp/libtempered-util && /usr/bin/gcc -Dtempered_util_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-util-shared.dir/calibration.c.o -c /home/fjk/TEMPered/libtempered-util/calibration.c
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 14
[ 64%] Building C object libtempered-util/CMakeFiles/tempered-util-shared.dir/dew-point.c.o
cd /home/fjk/TEMPered/temp/libtempered-util && /usr/bin/gcc -Dtempered_util_shared_EXPORTS -std=gnu99 -Wall -pedantic -Wextra -fPIC -I/home/fjk/hidapi/hidapi -o CMakeFiles/tempered-util-shared.dir/dew-point.c.o -c /home/fjk/TEMPered/libtempered-util/dew-point.c
Linking C shared library libtempered-util.so
cd /home/fjk/TEMPered/temp/libtempered-util && /usr/bin/cmake -E cmake_link_script CMakeFiles/tempered-util-shared.dir/link.txt --verbose=1
/usr/bin/gcc -fPIC -std=gnu99 -Wall -pedantic -Wextra -shared -Wl,-soname,libtempered-util.so.0 -o libtempered-util.so.0 CMakeFiles/tempered-util-shared.dir/temp-scale.c.o CMakeFiles/tempered-util-shared.dir/calibration.c.o CMakeFiles/tempered-util-shared.dir/dew-point.c.o -lm
cd /home/fjk/TEMPered/temp/libtempered-util && /usr/bin/cmake -E cmake_symlink_library libtempered-util.so.0 libtempered-util.so.0 libtempered-util.so
make[2]: Leaving directory /home/fjk/TEMPered/temp' /usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 12 13 14 [ 64%] Built target tempered-util-shared make -f utils/CMakeFiles/hid-query.dir/build.make utils/CMakeFiles/hid-query.dir/depend make[2]: Entering directory/home/fjk/TEMPered/temp'
cd /home/fjk/TEMPered/temp && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/fjk/TEMPered /home/fjk/TEMPered/utils /home/fjk/TEMPered/temp /home/fjk/TEMPered/temp/utils /home/fjk/TEMPered/temp/utils/CMakeFiles/hid-query.dir/DependInfo.cmake --color=
Dependee "/home/fjk/TEMPered/temp/utils/CMakeFiles/hid-query.dir/DependInfo.cmake" is newer than depender "/home/fjk/TEMPered/temp/utils/CMakeFiles/hid-query.dir/depend.internal".
Dependee "/home/fjk/TEMPered/temp/utils/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/home/fjk/TEMPered/temp/utils/CMakeFiles/hid-query.dir/depend.internal".
Scanning dependencies of target hid-query
make[2]: Leaving directory /home/fjk/TEMPered/temp' make -f utils/CMakeFiles/hid-query.dir/build.make utils/CMakeFiles/hid-query.dir/build make[2]: Entering directory/home/fjk/TEMPered/temp'
/usr/bin/cmake -E cmake_progress_report /home/fjk/TEMPered/temp/CMakeFiles 2
[ 71%] Building C object utils/CMakeFiles/hid-query.dir/hid-query.c.o
cd /home/fjk/TEMPered/temp/utils && /usr/bin/gcc -std=gnu99 -Wall -pedantic -Wextra -I/home/fjk/hidapi/hidapi -I/home/fjk/TEMPered/utils/../libtempered -I/home/fjk/TEMPered/utils/../libtempered-util -o CMakeFiles/hid-query.dir/hid-query.c.o -c /home/fjk/TEMPered/utils/hid-query.c
Linking C executable hid-query
cd /home/fjk/TEMPered/temp/utils && /usr/bin/cmake -E cmake_link_script CMakeFiles/hid-query.dir/link.txt --verbose=1
/usr/bin/gcc -std=gnu99 -Wall -pedantic -Wextra CMakeFiles/hid-query.dir/hid-query.c.o -o hid-query -rdynamic /home/fjk/hidapi/linux/libhidapi-hidraw.so -Wl,-rpath,/home/fjk/hidapi/linux:
CMakeFiles/hid-query.dir/hid-query.c.o: In function read_from_device': hid-query.c:(.text+0xf8): undefined reference tohid_read_timeout'
hid-query.c:(.text+0x120): undefined reference to hid_error' CMakeFiles/hid-query.dir/hid-query.c.o: In functionquery_device':
hid-query.c:(.text+0x208): undefined reference to hid_open_path' hid-query.c:(.text+0x274): undefined reference tohid_write'
hid-query.c:(.text+0x2a4): undefined reference to hid_error' hid-query.c:(.text+0x348): undefined reference tohid_close'
CMakeFiles/hid-query.dir/hid-query.c.o: In function query_device_by_path': hid-query.c:(.text+0x38c): undefined reference tohid_init'
hid-query.c:(.text+0x3d0): undefined reference to hid_enumerate' hid-query.c:(.text+0x498): undefined reference tohid_free_enumeration'
hid-query.c:(.text+0x49c): undefined reference to hid_exit' CMakeFiles/hid-query.dir/hid-query.c.o: In functionenumerate':
hid-query.c:(.text+0x500): undefined reference to hid_init' hid-query.c:(.text+0x544): undefined reference tohid_enumerate'
hid-query.c:(.text+0x5f0): undefined reference to hid_free_enumeration' hid-query.c:(.text+0x5f4): undefined reference tohid_exit'
collect2: ld returned 1 exit status
make[2]: *** [utils/hid-query] Error 1
make[2]: Leaving directory /home/fjk/TEMPered/temp' make[1]: *** [utils/CMakeFiles/hid-query.dir/all] Error 2 make[1]: Leaving directory/home/fjk/TEMPered/temp'
make: *** [all] Error 2
And error 2.
I worked around this by recompiling libhidapi-hidraw.so with:
cd hidapi/linux && cc -Wall -g
pkg-config libudev --libs-shared -fpic -Wl,-soname,libhidapi-hidraw.so.0 hid.0 -o libhidapi-hidraw.so
Note the added hid.o.
I guess it is a bug in hidapi.