Actions
Bug #17793
closed`shorten-64-to-32` error for 32-bit Android due to `struct stat` definition
Bug #17793:
`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