mhx / dwarfs

A fast high compression read-only file system for Linux, Windows and macOS
GNU General Public License v3.0
2.16k stars 58 forks source link

Error at 44% while compiling on a Raspberry Pi 4 with Raspberry Pi OS (arm64) #129

Closed samthelion17 closed 1 year ago

samthelion17 commented 1 year ago

As the title says, i'm getting this specific error: In file included from /home/pi/dwarfs/folly/folly/experimental/io/AsyncIoUringSocket.h:30, from /home/pi/dwarfs/folly/folly/experimental/io/AsyncIoUringSocket.cpp:18: /home/pi/dwarfs/folly/folly/experimental/io/IoUringBackend.h: In member function ‘bool folly::IoUringBackend::IoSqe::EventCallbackData::processCb(folly::IoUringBackend*, int, uint32_t)’: /home/pi/dwarfs/folly/folly/experimental/io/IoUringBackend.h:659:27: error: ‘IORING_CQE_F_MORE’ was not declared in this scope; did you mean ‘IORING_CQE_F_BUFFER’? 659 | if (!(flags & IORING_CQE_F_MORE)) { | ^~~~~~~~~~~~~~~~~ | IORING_CQE_F_BUFFER I've also tried googling without getting a single result, does anyone knows how can I solve this? I would settle for the arm64 binaries too! here's the whole build log from the git clone to the error: https://pastebin.com/dL8AE8cV

samthelion17 commented 1 year ago

So, I got it to compile, but take my solution with a grain of salt because i'm no developer (I can barely do light bash scripting). What I did was, basically, follow the compiler's suggestion: I edited this two files ./folly/folly/experimental/io/IoUringBackend.cpp ./folly/folly/experimental/io/IoUringBackend.h and changed all the occurrences of IORING_CQE_F_MORE for IORING_CQE_F_BUFFER on both of them.

I also commented out line #1573 // io_uring_prep_cancel64(sqe, (uint64_t)ioSqe, 0);

I'm leaving this issue open until a real dev shows up and closes it

mhx commented 1 year ago

Thanks for the report!

Just few quick notes:

mhx commented 1 year ago

I've just put out a release candidate that builds fine on aarch64 and even includes static binaries for download. I'll close this for now, let me know if it's still an issue.