wheybags / wcp

Experimental file copy tool using io_uring
MIT License
198 stars 7 forks source link

Building on ARM #9

Closed bronikowski closed 3 years ago

bronikowski commented 3 years ago

Building on Debian 10, RPi 4.

/tmp/wcp/src/CopyRunner.cpp: In member function ‘Result CopyRunner::submitReadWriteCommands()’:
/tmp/wcp/src/CopyRunner.cpp:123:42: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘off_t’ {aka ‘long int’} [-Wsign-compare]
     bool readForcedPartial = bytesToRead < this->offset + this->size - this->readOffset;
                              ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/wcp/src/CopyRunner.cpp:147:46: error: static assertion failed
         static_assert(sizeof(sqe->user_data) == sizeof(void*));
wheybags commented 3 years ago

Should be fixed via https://github.com/wheybags/wcp/commit/cb7f3a1f05538037c8583f36e9f9d332fb6df0ef. I beleive the issue is that you're using 32 bit linux, so sizeof(void*) is 4, not 8. The check was a little overzealous, it's fine for the user_data field to be bigger than the size of a pointer.

Thanks for the report!