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 */