This is an awful hack done by inspecting what musl does. --- a/libs/atomic-parsley/AtomicParsley.cpp +++ b/libs/atomic-parsley/AtomicParsley.cpp @@ -4935,7 +4935,8 @@ void APar_MergeTempFile(FILE* dest_file, FILE *src_file, uint32_t src_file_size, { 0 }; file_offset.__pos = dest_position + file_pos; #else - off_t file_offset = dest_position + file_pos; + fpos_t file_offset = {0}; + *((long long *)&file_offset) = dest_position + file_pos; #endif fsetpos(dest_file, &file_offset); fwrite(buffer, (size_t) max_buffer, 1, dest_file); @@ -4952,7 +4953,8 @@ void APar_MergeTempFile(FILE* dest_file, FILE *src_file, uint32_t src_file_size, { 0 }; file_offset.__pos = dest_position + file_pos; #else - off_t file_offset = dest_position + file_pos; + fpos_t file_offset = {0}; + *((long long *)&file_offset) = dest_position + file_pos; #endif fsetpos(dest_file, &file_offset); fwrite(buffer, (size_t) (src_file_size - file_pos), 1, dest_file);