On 06/16/2015 02:32 AM, Helmut Jarausch wrote: > On 06/15/2015 11:56:41 PM, walt wrote: >> Hi Helmut. sys-apps/udevil failed to compile this morning and I >> noticed you >> had already submitted a proposed fix for it (your patch worked, thank >> you). >> >> The failing code was already in the udevil package when I emerged it >> on Jan >> 21 with no problems, so some other package must have changed since Jan >> 21, >> but which one(s)? >> >> I ask the question because I want to learn to think like a developer >> (hold >> all snarky comments until the professionals get here) so could you >> describe >> how you arrived at your fix so quickly? >> >> Have you used the "stat" function so often that you didn't even need >> to think >> about how to fix it, or was it more complicated? >> >> Thanks for any wisdom you care to share with us. >> > > The build log says > > device-info.c:943:33: error: implicit declaration of function 'stat' > [-Werror=implicit-function-declaration] > stat( mount_source, &statbuf ) == 0 && > ^ > device-info.c:944:33: error: implicit declaration of function 'S_ISBLK' > [-Werror=implicit-function-declaration] > S_ISBLK( statbuf.st_mode ) ) > > which means the function stat isn't declared. Together with S_ISBLK it is > clear that the C-function stat (to determine > file status) is meant. > > man lstat (man stat doesn't work here)
Strange, it works here. I wonder if the difference is caused by your l10n, or maybe a bug. Are man pages always in English? I've been pondering the switch to man-db but I'm not motivated to deal with any fallout and disk space is cheap. > shows which header files have to be included. > > Furthermore > > grep -rF /usr/include S_ISBLK > shows > /usr/include/sys/stat.h:#define S_ISBLK(mode) .... > > Therefore <sys/stat.h> has to be included somewhere Thanks, good hints. > No wisdom at all, Hm.