Dear R package developers, Starting with R 4.2.0 package rEDM (https://cran.r-project.org/package=rEDM) will not load [library( rEDM )] on Windows with the default UTF-8 encoding. When the locale is changed from UTF-8 to non UTF-8, the package loads and runs. One can also change the locale to non-UTF-8, load the package, detach and unload the package, change the locale back to UTF-8, then load and run without issue. Note that installation from source reports: ** testing if installed package can be loaded from temporary location and completes (record below). This package uses Rcpp to wrap a C++ API. Having searched here and in general, I don't find that others experiencing this issue. I have tried Ensure all source files are UTF-8 encoded Removed non-ASCII characters from all source files Specify non-ASCII characters with \uXXXX Checked vignette encoding Added "Encoding : UTF-8" to DESCRIPTION Please excuse my encoding and Windows naivety. Here is a demonstration changing the encoding to load the package, along with unloading & reloading under UTF-8: --
sessionInfo()
R version 4.2.0 (2022-04-22 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19044) Matrix products: default locale: [1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8 [3] LC_MONETARY=English_United States.utf8 LC_NUMERIC=C [5] LC_TIME=English_United States.utf8 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] compiler_4.2.0
Sys.setlocale('LC_ALL','English')
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
Warning message:
In Sys.setlocale("LC_ALL", "English") :
using locale code page other than 65001 ("UTF-8") may cause problems
sessionInfo()
R version 4.2.0 (2022-04-22 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19044) Matrix products: default locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 system code page: 65001 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] compiler_4.2.0
library( rEDM ) sessionInfo()
R version 4.2.0 (2022-04-22 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19044) Matrix products: default locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 system code page: 65001 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] rEDM_1.12.2.1.0 loaded via a namespace (and not attached): [1] compiler_4.2.0 Rcpp_1.0.8.3
### All package tests pass.... ### Now detach and unload, change to UTF-8, and load
detach( 'package:rEDM', unload = TRUE ) Simplex( dataFrame = Lorenz5D, columns = 'V1', target = 'V2', lib = "1
500", pred = "501 505", E = 5 ) Error in Simplex(dataFrame = Lorenz5D, columns = "V1", target = "V2", : could not find function "Simplex"
Sys.setlocale()
[1] "LC_COLLATE=English_United States.utf8;LC_CTYPE=English_United States.utf8;LC_MONETARY=English_United States.utf8;LC_NUMERIC=C;LC_TIME=English_United States.utf8"
sessionInfo()
R version 4.2.0 (2022-04-22 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 19044) Matrix products: default locale: [1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8 [3] LC_MONETARY=English_United States.utf8 LC_NUMERIC=C [5] LC_TIME=English_United States.utf8 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] devtools_2.4.3 usethis_2.1.6 loaded via a namespace (and not attached): [1] Rcpp_1.0.8.3 magrittr_2.0.3 pkgload_1.2.4 R6_2.5.1 rlang_1.0.2 fastmap_1.1.0 [7] fansi_1.0.3 tools_4.2.0 pkgbuild_1.3.1 sessioninfo_1.2.2 utf8_1.2.2 cli_3.3.0 [13] withr_2.5.0 ellipsis_0.3.2 remotes_2.4.2 rprojroot_2.0.3 tibble_3.1.7 lifecycle_1.0.1 [19] crayon_1.5.1 brio_1.1.3 processx_3.6.0 purrr_0.3.4 callr_3.7.0 vctrs_0.4.1 [25] fs_1.5.2 ps_1.7.0 testthat_3.1.4 memoise_2.0.1 glue_1.6.2 cachem_1.0.6 [31] pillar_1.7.0 compiler_4.2.0 desc_1.4.1 prettyunits_1.1.1 pkgconfig_2.0.3
library( rEDM )
### All tests pass
Installation log: > devtools::install() checking for file 'C:\Users\\rEDM/DESCRIPTION' ... checking for file 'C:\Users\\rEDM/DESCRIPTION' ... ? checking for file 'C:\Users\\rEDM/DESCRIPTION' (1.8s) ? preparing 'rEDM': (853ms) checking DESCRIPTION meta-information ... ? checking DESCRIPTION meta-information ? cleaning src ? building 'rEDM_1.12.2.1.0.tar.gz' Running "C:/Apps/R/R-4.2.0/bin/x64/Rcmd.exe" INSTALL \ "C:\Users\AppData\Local\Temp\RtmpcdP2Nx/rEDM_1.12.2.1.0.tar.gz" --install-tests * installing to library 'C:/Apps/R/R-4.2.0/library' * installing *source* package 'rEDM' ... ** using staged installation ** libs g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c CCM.cpp -o CCM.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c ComputeError.cpp -o ComputeError.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c DataFrame.cpp -o DataFrame.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c Embed.cpp -o Embed.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c EmbedDim.cpp -o EmbedDim.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c Multiview.cpp -o Multiview.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c ParameterList.cpp -o ParameterList.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c PredictInterval.cpp -o PredictInterval.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c PredictNL.cpp -o PredictNL.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c RcppEDMCommon.cpp -o RcppEDMCommon.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c SMap.cpp -o SMap.o g++ -std=gnu++11 -I"C:/Apps/R/R-4.2.0/include" -DNDEBUG -I./cppEDM/src -I../ -I'C:/Apps/R/R-4.2.0/library/Rcpp/include' -I'C:/Apps/R/R-4.2.0/library/RcppThread/include' -I"C:/Apps/rtools42/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c Simplex.cpp -o Simplex.o make[1]: Entering directory '/c/Users/jpark/AppData/Local/Temp/Rtmp0UDIkt/R.INSTALL2d3c6fa91a0b/rEDM/src/cppEDM/src' gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c API.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c CCM.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c Common.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c DateTime.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c EDM.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c EDM_Formatting.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c EDM_Neighbors.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c Eval.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c Multiview.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c Parameter.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c Simplex.cc gcc -std=c++11 -DCCM_THREADED -DMULTIVIEW_VALUES_OVERLOAD -I../ -c SMap.cc ar -rcs libEDM.a API.o CCM.o Common.o DateTime.o EDM.o EDM_Formatting.o EDM_Neighbors.o Eval.o Multiview.o Parameter.o Simplex.o SMap.o cp libEDM.a ../lib/ make[1]: Leaving directory '/c/Users//AppData/Local/Temp/Rtmp0UDIkt/R.INSTALL2d3c6fa91a0b/rEDM/src/cppEDM/src' g++ -shared -s -static-libgcc -o rEDM.dll tmp.def CCM.o ComputeError.o DataFrame.o Embed.o EmbedDim.o Multiview.o ParameterList.o PredictInterval.o PredictNL.o RcppEDMCommon.o RcppExports.o SMap.o Simplex.o -L./cppEDM/src/ -lEDM -LC:/Apps/R/R-4.2.0/bin/x64 -lRlapack -LC:/Apps/rtools42/x86_64-w64-mingw32.static.posix/lib/x64 -LC:/Apps/rtools42/x86_64-w64-mingw32.static.posix/lib -LC:/Apps/R/R-4.2.0/bin/x64 -lR installing to C:/Apps/R/R-4.2.0/library/00LOCK-rEDM/00new/rEDM/libs/x64 ** R ** data *** moving datasets to lazyload DB ** byte-compile and prepare package for lazy loading ** help *** installing help indices *** copying figures ** building package indices ** installing vignettes ** testing if installed package can be loaded from temporary location ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (rEDM) [[alternative HTML version deleted]]