Red Hat Bugzilla – Bug 872336
Wrong definition of O_RSYNC in /usr/include/bits/fcntl-linux.h
Last modified: 2016-11-24 11:12:07 EST
In the current glibc headers package in rawhide the O_RSYNC is defined as __O_SYNC in /usr/include/bits/fcntl-linux.h but the __O_SYNC is defined only in linux kernel private headers. I suppose the O_SYNC without underscore should be used instead as it was done in previous glibc headers package releases.
Yea, all this stuff is in a significant state of flux; it looks like this particular problem has already been fixed upstream. For reasons unknown I can't upload new sources to Fedora rawhide right now.
Regardless, I'll have it fixed soon.
I hope that the upstream fix will apply also for Ruby:
gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -mtune=generic -fPIC -m64 -include ruby/config.h -include ruby/missing.h -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -o io.o -c io.c
io.c: In function 'Init_IO':
io.c:11670:45: error: '__O_SYNC' undeclared (first use in this function)
io.c:11670:45: note: each undeclared identifier is reported only once for each function it appears in
make: *** [io.o] Error 1
make: *** Waiting for unfinished jobs....
(In reply to comment #1)
> For reasons unknown I can't upload new sources to Fedora rawhide right now.
I updated rawhide's glibc which should fix this problem.