have_func: checking for strlcpy() in string.h… ——————– no

“gcc -o conftest -I/usr/include/x86_64-linux -I/usr/include/ruby/backward -I/usr/include -I. -g -O2 -Wall -Werror conftest.c -L. -L/usr/lib64 -L. -Wl,–as-needed -Wl,–no-undefined -Wl,-z,relro -Wl,-O1 -Wl,–build-id -Wl,–enable-new-dtags -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -lrt -ldl -lcrypt -lm -lc” checked program was:

begin

1: include “ruby.h” 2: 3: int main(int argc, char **argv) 4: { 5: return 0; 6: }

end

“gcc -o conftest -I/usr/include/x86_64-linux -I/usr/include/ruby/backward -I/usr/include -I. -g -O2 -Wall -Werror conftest.c -L. -L/usr/lib64 -L. -Wl,–as-needed -Wl,–no-undefined -Wl,-z,relro -Wl,-O1 -Wl,–build-id -Wl,–enable-new-dtags -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -lrt -ldl -lcrypt -lm -lc” conftest.c: In function 't': conftest.c:7:32: error: variable 'p' set but not used [-Werror=unused-but-set-variable]

int t(void) { void ((*volatile p)()); p = (void ((*)()))strlcpy; return 0; }
                               ^

cc1: all warnings being treated as errors checked program was: /* begin */

1: #include "ruby.h"
2: 
3: #include <string.h>
4: 
5: /*top*/
6: extern int t(void);
7: int t(void) { void ((*volatile p)()); p = (void ((*)()))strlcpy; return 0; }
8: int main(int argc, char **argv)
9: {

10: if (argc > 1000000) { 11: printf(“%p”, &t); 12: } 13: 14: return 0; 15: } /* end */

“gcc -o conftest -I/usr/include/x86_64-linux -I/usr/include/ruby/backward -I/usr/include -I. -g -O2 -Wall -Werror conftest.c -L. -L/usr/lib64 -L. -Wl,–as-needed -Wl,–no-undefined -Wl,-z,relro -Wl,-O1 -Wl,–build-id -Wl,–enable-new-dtags -fstack-protector -rdynamic -Wl,-export-dynamic -lruby -lpthread -lrt -ldl -lcrypt -lm -lc” conftest.c: In function 't': conftest.c:7:15: error: too few arguments to function 'strlcpy'

int t(void) { strlcpy(); return 0; }
              ^

In file included from /usr/include/ruby/ruby.h:1567:0,

from /usr/include/ruby.h:33,
from conftest.c:1:

/usr/include/ruby/missing.h:204:20: note: declared here

RUBY_EXTERN size_t strlcpy(char *, const char*, size_t);
                   ^

checked program was: /* begin */

1: #include "ruby.h"
2: 
3: #include <string.h>
4: 
5: /*top*/
6: extern int t(void);
7: int t(void) { strlcpy(); return 0; }
8: int main(int argc, char **argv)
9: {

10: if (argc > 1000000) { 11: printf(“%p”, &t); 12: } 13: 14: return 0; 15: } /* end */