Actions
Bug #17793
closed`shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
Description
Here is a failure log for armv7a-android from CI.
This failure is because struct stat
for 32-bit Android is defined as follows. Note that the member st_dev
is of type unsigned long long
(instead of dev_t
), and st_mode
is of type unsigned int
(instead of mode_t
).
struct stat {
unsigned long long st_dev;
unsigned char __pad0[4];
unsigned long __st_ino;
unsigned int st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
unsigned long long st_rdev;
unsigned char __pad3[4];
long long st_size;
unsigned long st_blksize;
unsigned long long st_blocks;
struct timespec st_atim;
struct timespec st_mtim;
struct timespec st_ctim;
unsigned long long st_ino;
};
I personally avoid these errors by passing the following two arguments to ./configure
. I am not 100% sure this results in no other problems.
rb_cv_dev_t_convertible=ULL
rb_cv_mode_t_convertible=UINT
Files
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0