Yes, this changed in the SDK libraries&headers and there is no clean way to detect which SDK version is being compiled against. You can either get fuseMk5 version 1.1.8, or make a tiny change in fuseMk5A.c and maxspeed.c and update the line with BufferAddr that the 'make'/g++ complains about. Change the (PULONG)(file->cache) into (unsigned int*)(file->cache).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
We have just upgraded the streamstor sdk to 9.2 on our mk5b+
fusemk5a v1.0.5 no longer makes:
~/fuseMk5A_v1.0.5$ make
rm -f fuseMk5A.o maxspeed.o fuseMk5A maxspeed fuseMk5A-v1.0.5.tar
g++ -O3 -Wall -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=22 -D_REENTRANT -I/usr/local/src/streamstor/linux//include/ -I. fuseMk5A.c -L. -L/usr/local/src/streamstor/linux//driver/lib/ -L/usr/local/src/streamstor/linux//lib/ -L/usr/local/src/streamstor/linux//lib/gcc_v3/ -lc -lrt -lfuse -lpthread -lssapi -lwdapi910 -o fuseMk5A
fuseMk5A.c: In function 'int fillCache(mk5_openfileinfo_t*, off_t)':
fuseMk5A.c:201: error: invalid conversion from 'long unsigned int*' to 'unsigned int*'
fuseMk5A.c:213: warning: format '%08lX' expects type 'long unsigned int', but argument 7 has type 'UINT32'
fuseMk5A.c:213: warning: format '%08lX' expects type 'long unsigned int', but argument 8 has type 'UINT32'
make: *** Error 1
Yes, this changed in the SDK libraries&headers and there is no clean way to detect which SDK version is being compiled against. You can either get fuseMk5 version 1.1.8, or make a tiny change in fuseMk5A.c and maxspeed.c and update the line with BufferAddr that the 'make'/g++ complains about. Change the (PULONG)(file->cache) into (unsigned int*)(file->cache).