* installing *source* package 'hellorust' ... ** this is package 'hellorust' version '1.2.3' ** using staged installation info: syncing channel updates for 'stable-x86_64-pc-windows-gnu' info: checking for self-update stable-x86_64-pc-windows-gnu unchanged - rustc 1.92.0 (ded5c06cf 2025-12-08) info: cleaning up downloads & tmp directories ** libs using C compiler: 'gcc.exe (GCC) 14.3.0' gcc -I"D:/RCompile/recent/R/include" -DNDEBUG -DSTRICT_R_HEADERS -DR_NO_REMAP -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include" -pedantic -Wstrict-prototypes -O2 -Wall -std=gnu2x -mfpmath=sse -msse2 -mstackrealign -c wrapper.c -o wrapper.o wrapper.c:7:1: error: unknown type name 'SEXP' 7 | SEXP hello_wrapper(void){ | ^~~~ wrapper.c: In function 'hello_wrapper': wrapper.c:9:3: error: unknown type name 'SEXP' 9 | SEXP hello_world_string = PROTECT(Rf_mkCharCE(hello_rust, CE_UTF8)); | ^~~~ wrapper.c:9:29: error: implicit declaration of function 'PROTECT' [-Wimplicit-function-declaration] 9 | SEXP hello_world_string = PROTECT(Rf_mkCharCE(hello_rust, CE_UTF8)); | ^~~~~~~ wrapper.c:9:37: error: implicit declaration of function 'Rf_mkCharCE' [-Wimplicit-function-declaration] 9 | SEXP hello_world_string = PROTECT(Rf_mkCharCE(hello_rust, CE_UTF8)); | ^~~~~~~~~~~ wrapper.c:9:61: error: 'CE_UTF8' undeclared (first use in this function) 9 | SEXP hello_world_string = PROTECT(Rf_mkCharCE(hello_rust, CE_UTF8)); | ^~~~~~~ wrapper.c:9:61: note: each undeclared identifier is reported only once for each function it appears in wrapper.c:11:3: error: implicit declaration of function 'UNPROTECT' [-Wimplicit-function-declaration] 11 | UNPROTECT(1); | ^~~~~~~~~ wrapper.c:12:10: error: implicit declaration of function 'Rf_ScalarString' [-Wimplicit-function-declaration] 12 | return Rf_ScalarString(hello_world_string); | ^~~~~~~~~~~~~~~ wrapper.c: At top level: wrapper.c:15:1: error: unknown type name 'SEXP' 15 | SEXP random_wrapper(void){ | ^~~~ wrapper.c: In function 'random_wrapper': wrapper.c:16:10: error: implicit declaration of function 'Rf_ScalarInteger' [-Wimplicit-function-declaration] 16 | return Rf_ScalarInteger(random_number()); | ^~~~~~~~~~~~~~~~ wrapper.c: At top level: wrapper.c:19:1: error: unknown type name 'SEXP' 19 | SEXP threads_wapper(void){ | ^~~~ wrapper.c: In function 'threads_wapper': wrapper.c:21:10: error: 'R_NilValue' undeclared (first use in this function) 21 | return R_NilValue; | ^~~~~~~~~~ wrapper.c: At top level: wrapper.c:25:14: error: unknown type name 'R_CallMethodDef' 25 | static const R_CallMethodDef CallEntries[] = { | ^~~~~~~~~~~~~~~ wrapper.c:26:3: warning: braces around scalar initializer 26 | {"hello_wrapper", (DL_FUNC) &hello_wrapper, 0}, | ^ wrapper.c:26:3: note: (near initialization for 'CallEntries[0]') wrapper.c:26:4: error: initialization of 'int' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 26 | {"hello_wrapper", (DL_FUNC) &hello_wrapper, 0}, | ^~~~~~~~~~~~~~~ wrapper.c:26:4: note: (near initialization for 'CallEntries[0]') wrapper.c:26:4: error: initializer element is not computable at load time wrapper.c:26:4: note: (near initialization for 'CallEntries[0]') wrapper.c:26:22: error: 'DL_FUNC' undeclared here (not in a function) 26 | {"hello_wrapper", (DL_FUNC) &hello_wrapper, 0}, | ^~~~~~~ wrapper.c:26:21: warning: excess elements in scalar initializer 26 | {"hello_wrapper", (DL_FUNC) &hello_wrapper, 0}, | ^ wrapper.c:26:21: note: (near initialization for 'CallEntries[0]') wrapper.c:26:47: warning: excess elements in scalar initializer 26 | {"hello_wrapper", (DL_FUNC) &hello_wrapper, 0}, | ^ wrapper.c:26:47: note: (near initialization for 'CallEntries[0]') wrapper.c:27:3: warning: braces around scalar initializer 27 | {"random_wrapper", (DL_FUNC) &random_wrapper, 0}, | ^ wrapper.c:27:3: note: (near initialization for 'CallEntries[1]') wrapper.c:27:4: error: initialization of 'int' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 27 | {"random_wrapper", (DL_FUNC) &random_wrapper, 0}, | ^~~~~~~~~~~~~~~~ wrapper.c:27:4: note: (near initialization for 'CallEntries[1]') wrapper.c:27:4: error: initializer element is not computable at load time wrapper.c:27:4: note: (near initialization for 'CallEntries[1]') wrapper.c:27:22: warning: excess elements in scalar initializer 27 | {"random_wrapper", (DL_FUNC) &random_wrapper, 0}, | ^ wrapper.c:27:22: note: (near initialization for 'CallEntries[1]') wrapper.c:27:49: warning: excess elements in scalar initializer 27 | {"random_wrapper", (DL_FUNC) &random_wrapper, 0}, | ^ wrapper.c:27:49: note: (near initialization for 'CallEntries[1]') wrapper.c:28:3: warning: braces around scalar initializer 28 | {"threads_wapper", (DL_FUNC) &threads_wapper, 0}, | ^ wrapper.c:28:3: note: (near initialization for 'CallEntries[2]') wrapper.c:28:4: error: initialization of 'int' from 'char *' makes integer from pointer without a cast [-Wint-conversion] 28 | {"threads_wapper", (DL_FUNC) &threads_wapper, 0}, | ^~~~~~~~~~~~~~~~ wrapper.c:28:4: note: (near initialization for 'CallEntries[2]') wrapper.c:28:4: error: initializer element is not computable at load time wrapper.c:28:4: note: (near initialization for 'CallEntries[2]') wrapper.c:28:22: warning: excess elements in scalar initializer 28 | {"threads_wapper", (DL_FUNC) &threads_wapper, 0}, | ^ wrapper.c:28:22: note: (near initialization for 'CallEntries[2]') wrapper.c:28:49: warning: excess elements in scalar initializer 28 | {"threads_wapper", (DL_FUNC) &threads_wapper, 0}, | ^ wrapper.c:28:49: note: (near initialization for 'CallEntries[2]') wrapper.c:29:3: warning: braces around scalar initializer 29 | {NULL, NULL, 0} | ^ wrapper.c:29:3: note: (near initialization for 'CallEntries[3]') wrapper.c:29:4: error: initialization of 'int' from 'void *' makes integer from pointer without a cast [-Wint-conversion] 29 | {NULL, NULL, 0} | ^~~~ wrapper.c:29:4: note: (near initialization for 'CallEntries[3]') wrapper.c:29:10: warning: excess elements in scalar initializer 29 | {NULL, NULL, 0} | ^~~~ wrapper.c:29:10: note: (near initialization for 'CallEntries[3]') wrapper.c:29:16: warning: excess elements in scalar initializer 29 | {NULL, NULL, 0} | ^ wrapper.c:29:16: note: (near initialization for 'CallEntries[3]') wrapper.c:32:23: error: unknown type name 'DllInfo' 32 | void R_init_hellorust(DllInfo *dll) { | ^~~~~~~ wrapper.c: In function 'threads_wapper': wrapper.c:22:1: warning: control reaches end of non-void function [-Wreturn-type] 22 | } | ^ wrapper.c: At top level: wrapper.c:25:30: warning: 'CallEntries' defined but not used [-Wunused-const-variable=] 25 | static const R_CallMethodDef CallEntries[] = { | ^~~~~~~~~~~ make: *** [D:/RCompile/recent/R/etc/x64/Makeconf:289: wrapper.o] Error 1 ERROR: compilation failed for package 'hellorust' * removing 'd:/RCompile/CRANincoming/R-devel/lib/hellorust'