* using log directory ‘/data/gannet/ripley/R/packages/tests-MKL/robustX.Rcheck’ * using R Under development (unstable) (2026-02-04 r89376) * using platform: x86_64-pc-linux-gnu * R was compiled by gcc (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2) GNU Fortran (GCC) 15.1.1 20250521 (Red Hat 15.1.1-2) * running under: Fedora Linux 42 (Workstation Edition) * using session charset: UTF-8 * current time: 2026-02-06 16:03:54 UTC * using option ‘--no-stop-on-test-error’ * checking for file ‘robustX/DESCRIPTION’ ... OK * checking extension type ... Package * this is package ‘robustX’ version ‘1.2-7’ * package encoding: UTF-8 * checking package namespace information ... OK * checking package dependencies ... OK * checking if this is a source package ... OK * checking if there is a namespace ... OK * checking for executable files ... OK * checking for hidden files and directories ... OK * checking for portable file names ... OK * checking for sufficient/correct file permissions ... OK * checking whether package ‘robustX’ can be installed ... OK * checking package directory ... OK * checking DESCRIPTION meta-information ... OK * checking top-level files ... OK * checking for left-over files ... OK * checking index information ... OK * checking package subdirectories ... OK * checking code files for non-ASCII characters ... OK * checking R files for syntax errors ... OK * checking whether the package can be loaded ... OK * checking whether the package can be loaded with stated dependencies ... OK * checking whether the package can be unloaded cleanly ... OK * checking whether the namespace can be loaded with stated dependencies ... OK * checking whether the namespace can be unloaded cleanly ... OK * checking loading without being on the library search path ... OK * checking use of S3 registration ... OK * checking dependencies in R code ... OK * checking S3 generic/method consistency ... OK * checking replacement functions ... OK * checking foreign function calls ... OK * checking R code for possible problems ... [10s/13s] OK * checking Rd files ... OK * checking Rd metadata ... OK * checking Rd line widths ... OK * checking Rd cross-references ... OK * checking for missing documentation entries ... OK * checking for code/documentation mismatches ... OK * checking Rd \usage sections ... OK * checking Rd contents ... OK * checking for unstated dependencies in examples ... OK * checking examples ... [12s/17s] OK * checking for unstated dependencies in ‘tests’ ... OK * checking tests ... Running ‘L1med-tst.R’ Running ‘cov-ex.R’ ERROR Running the tests in ‘tests/cov-ex.R’ failed. Complete output: > library(robustX) > library(robustbase) > (newRB <- (packageVersion("robustbase") >= "0.99")) [1] TRUE > > sessionInfo() R Under development (unstable) (2026-02-04 r89376) Platform: x86_64-pc-linux-gnu Running under: Fedora Linux 42 (Workstation Edition) Matrix products: default BLAS/LAPACK: /data/gannet/ripley/intel/oneapi/mkl/2023.2.0/lib/intel64/libmkl_gf_lp64.so.2; LAPACK version 3.10.1 locale: [1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C [3] LC_TIME=en_GB.UTF-8 LC_COLLATE=C [5] LC_MONETARY=en_GB.UTF-8 LC_MESSAGES=en_GB.UTF-8 [7] LC_PAPER=en_GB.UTF-8 LC_NAME=C [9] LC_ADDRESS=C LC_TELEPHONE=C [11] LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C time zone: Europe/London tzcode source: system (glibc) attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] robustbase_0.99-7 robustX_1.2-7 loaded via a namespace (and not attached): [1] DEoptimR_1.1-4 compiler_4.6.0 > packageDescription("robustX") Package: robustX Type: Package Title: 'eXtra' / 'eXperimental' Functionality for Robust Statistics Version: 1.2-7 Date: 2023-06-14 Authors@R: c(person("Martin","Maechler", role=c("aut","cre"), email="maechler@stat.math.ethz.ch", comment = c(ORCID = "0000-0002-8685-9910")) , person("Werner A.", "Stahel", role="aut", email="stahel@stat.math.ethz.ch") , person("Rolf", "Turner", role="ctb", email="r.turner@auckland.ac.nz", comment = "reclas()") , person("Ueli", "Oetliker", role="ctb", comment = "original version of BACON() and mvBACON for S+") , person("Tobias", "Schoch", role="ctb", comment = "init.sel=\"V2\" for BACON; fix alpha") ) Maintainer: Martin Maechler Description: Robustness -- 'eXperimental', 'eXtraneous', or 'eXtraordinary' Functionality for Robust Statistics. Hence methods which are not well established, often related to methods in package 'robustbase'. Amazingly, 'BACON()', originally by Billor, Hadi, and Velleman (2000) has become established in places. The "barrow wheel" `rbwheel()` is from Stahel and Mächler (2009) . Imports: grDevices, graphics, stats, utils, robustbase (>= 0.92-3) Suggests: MASS, lattice, pcaPP Enhances: ICS License: GPL (>= 2) Encoding: UTF-8 NeedsCompilation: no Packaged: 2023-06-14 21:41:58 UTC; maechler Author: Martin Maechler [aut, cre] (), Werner A. Stahel [aut], Rolf Turner [ctb] (reclas()), Ueli Oetliker [ctb] (original version of BACON() and mvBACON for S+), Tobias Schoch [ctb] (init.sel="V2" for BACON; fix alpha) Repository: CRAN Date/Publication: 2023-06-16 07:30:02 UTC Built: R 4.6.0; ; 2026-02-06 16:03:58 UTC; unix -- File: /data/gannet/ripley/R/packages/tests-MKL/robustX.Rcheck/robustX/Meta/package.rds > (ourBLAS <- grepl(print(normalizePath(R.home())), + normalizePath(extSoftVersion()[["BLAS"]]), fixed = TRUE)) [1] "/data/gannet/ripley/R/MKL" [1] FALSE > ## need extended precision (typically *includes* 64-bit): > doCheck <- (.Machine$sizeof.longdouble >= 16) > cat("doCheck (= have long double):", doCheck,"\n") doCheck (= have long double): TRUE > > if(!dev.interactive(orNone=TRUE)) pdf("cov-ex.pdf") > > covNN.1 <- robustX:::covNNC1 ## the original definition (2003) > > data(iris) > system.time(cN1 <- covNN.1(iris[-5])) user system elapsed 0.275 0.013 0.311 > system.time(cN <- covNNC (iris[-5]))# faster indeed user system elapsed 0.159 0.000 0.161 > > ## report.and.stop.if.not.all.equal > report.stopifnot.all.eq <- function(a,b, tol, ...) { + call <- sys.call() + ae <- all.equal(a,b, tol=tol, ...) + call[[1]] <- quote(all.equal) + if(!isTRUE(ae)) + stop(sprintf("Not %s:\n%s\n\n", deparse(call), + paste(ae, collapse="\n")), + call.=FALSE) + ## else + TRUE + } > > UN <- function(L) lapply(L, unname) > > chk.NN.new.old <- function(cNew, cNold, tol = 2e-15, tol.1 = 20*tol) { + stopifnot(is.list(cNold$innc), length(n.i <- names(cNold$innc)) == 4) + cat("classification accordance matrix:\n") + print(table(new = cNew $classification, + old = cNold$classification)) + report.stopifnot.all.eq(UN(cNew [1:4]), + UN(cNold[1:4]), tol=tol.1) & + report.stopifnot.all.eq(cNew $innc[n.i], + cNold$innc[n.i], tol=tol) + } > > summ.NN <- function(cNN, digits = 3) { + cbind(class = cNN$classification, + pprob = round(cNN$postprob, digits), + incc.p= round(cNN$innc$postprob, digits)) + } > > s1 <- summ.NN(cN1) > ss <- summ.NN(cN) > if(isTRUE(all.equal(ss, s1))) ss else cbind(ss, s1) class pprob incc.p class pprob incc.p [1,] 1 1.000 1.000 1 1.000 1.000 [2,] 1 1.000 1.000 1 1.000 1.000 [3,] 1 1.000 1.000 1 1.000 1.000 [4,] 1 1.000 1.000 1 1.000 1.000 [5,] 1 1.000 1.000 1 1.000 1.000 [6,] 1 1.000 0.171 1 1.000 0.171 [7,] 1 1.000 1.000 1 1.000 1.000 [8,] 1 1.000 1.000 1 1.000 1.000 [9,] 1 1.000 1.000 1 1.000 1.000 [10,] 1 1.000 1.000 1 1.000 1.000 [11,] 1 1.000 1.000 1 1.000 1.000 [12,] 1 1.000 1.000 1 1.000 1.000 [13,] 1 1.000 1.000 1 1.000 1.000 [14,] 1 1.000 1.000 1 1.000 1.000 [15,] 1 0.998 0.000 1 1.000 0.000 [16,] 0 0.000 0.000 0 0.000 0.000 [17,] 1 1.000 0.718 1 1.000 0.718 [18,] 1 1.000 1.000 1 1.000 1.000 [19,] 1 1.000 0.002 1 1.000 0.002 [20,] 1 1.000 1.000 1 1.000 1.000 [21,] 1 1.000 1.000 1 1.000 1.000 [22,] 1 1.000 1.000 1 1.000 1.000 [23,] 1 1.000 1.000 1 1.000 1.000 [24,] 1 1.000 1.000 1 1.000 1.000 [25,] 1 1.000 1.000 1 1.000 1.000 [26,] 1 1.000 1.000 1 1.000 1.000 [27,] 1 1.000 1.000 1 1.000 1.000 [28,] 1 1.000 1.000 1 1.000 1.000 [29,] 1 1.000 1.000 1 1.000 1.000 [30,] 1 1.000 1.000 1 1.000 1.000 [31,] 1 1.000 1.000 1 1.000 1.000 [32,] 1 1.000 1.000 1 1.000 1.000 [33,] 1 1.000 0.000 1 1.000 0.000 [34,] 0 0.000 0.000 0 0.000 0.000 [35,] 1 1.000 1.000 1 1.000 1.000 [36,] 1 1.000 1.000 1 1.000 1.000 [37,] 1 1.000 1.000 1 1.000 1.000 [38,] 1 1.000 1.000 1 1.000 1.000 [39,] 1 1.000 1.000 1 1.000 1.000 [40,] 1 1.000 1.000 1 1.000 1.000 [41,] 1 1.000 1.000 1 1.000 1.000 [42,] 0 0.000 0.000 0 0.000 0.000 [43,] 1 1.000 1.000 1 1.000 1.000 [44,] 1 1.000 1.000 1 1.000 1.000 [45,] 1 1.000 1.000 1 1.000 1.000 [46,] 1 1.000 1.000 1 1.000 1.000 [47,] 1 1.000 1.000 1 1.000 1.000 [48,] 1 1.000 1.000 1 1.000 1.000 [49,] 1 1.000 1.000 1 1.000 1.000 [50,] 1 1.000 1.000 1 1.000 1.000 [51,] 1 1.000 0.058 1 1.000 0.058 [52,] 1 1.000 1.000 1 1.000 1.000 [53,] 1 1.000 1.000 1 1.000 1.000 [54,] 1 1.000 0.773 1 1.000 0.773 [55,] 1 1.000 1.000 1 1.000 1.000 [56,] 1 1.000 1.000 1 1.000 1.000 [57,] 1 1.000 0.999 1 1.000 0.999 [58,] 1 1.000 0.000 1 1.000 0.000 [59,] 1 1.000 1.000 1 1.000 1.000 [60,] 1 1.000 1.000 1 1.000 1.000 [61,] 0 0.000 0.000 0 0.000 0.000 [62,] 1 1.000 1.000 1 1.000 1.000 [63,] 0 0.000 0.000 1 0.611 0.000 [64,] 1 1.000 1.000 1 1.000 1.000 [65,] 1 1.000 1.000 1 1.000 1.000 [66,] 1 1.000 1.000 1 1.000 1.000 [67,] 1 1.000 1.000 1 1.000 1.000 [68,] 1 1.000 1.000 1 1.000 1.000 [69,] 0 0.000 0.000 1 0.786 0.000 [70,] 1 1.000 1.000 1 1.000 1.000 [71,] 1 1.000 1.000 1 1.000 1.000 [72,] 1 1.000 1.000 1 1.000 1.000 [73,] 1 1.000 1.000 1 1.000 1.000 [74,] 1 1.000 1.000 1 1.000 1.000 [75,] 1 1.000 1.000 1 1.000 1.000 [76,] 1 1.000 1.000 1 1.000 1.000 [77,] 1 1.000 1.000 1 1.000 1.000 [78,] 1 1.000 1.000 1 1.000 1.000 [79,] 1 1.000 1.000 1 1.000 1.000 [80,] 1 1.000 1.000 1 1.000 1.000 [81,] 1 1.000 1.000 1 1.000 1.000 [82,] 1 1.000 0.999 1 1.000 0.999 [83,] 1 1.000 1.000 1 1.000 1.000 [84,] 1 1.000 1.000 1 1.000 1.000 [85,] 1 1.000 1.000 1 1.000 1.000 [86,] 1 1.000 0.000 1 1.000 0.000 [87,] 1 1.000 1.000 1 1.000 1.000 [88,] 1 1.000 0.000 1 1.000 0.000 [89,] 1 1.000 1.000 1 1.000 1.000 [90,] 1 1.000 1.000 1 1.000 1.000 [91,] 1 1.000 1.000 1 1.000 1.000 [92,] 1 1.000 1.000 1 1.000 1.000 [93,] 1 1.000 1.000 1 1.000 1.000 [94,] 0 0.001 0.000 1 0.944 0.000 [95,] 1 1.000 1.000 1 1.000 1.000 [96,] 1 1.000 1.000 1 1.000 1.000 [97,] 1 1.000 1.000 1 1.000 1.000 [98,] 1 1.000 1.000 1 1.000 1.000 [99,] 1 1.000 0.000 1 1.000 0.000 [100,] 1 1.000 1.000 1 1.000 1.000 [101,] 1 1.000 0.000 1 1.000 0.000 [102,] 1 1.000 1.000 1 1.000 1.000 [103,] 1 1.000 1.000 1 1.000 1.000 [104,] 1 1.000 1.000 1 1.000 1.000 [105,] 1 1.000 1.000 1 1.000 1.000 [106,] 1 0.998 0.000 1 1.000 0.000 [107,] 0 0.317 0.000 1 1.000 0.000 [108,] 1 1.000 0.000 1 1.000 0.000 [109,] 1 0.999 0.000 1 1.000 0.000 [110,] 0 0.000 0.000 0 0.000 0.000 [111,] 1 1.000 1.000 1 1.000 1.000 [112,] 1 1.000 1.000 1 1.000 1.000 [113,] 1 1.000 1.000 1 1.000 1.000 [114,] 1 1.000 0.000 1 1.000 0.000 [115,] 1 1.000 0.899 1 1.000 0.899 [116,] 1 1.000 1.000 1 1.000 1.000 [117,] 1 1.000 1.000 1 1.000 1.000 [118,] 0 0.000 0.000 0 0.000 0.000 [119,] 0 0.000 0.000 0 0.000 0.000 [120,] 0 0.000 0.000 0 0.028 0.000 [121,] 1 1.000 1.000 1 1.000 1.000 [122,] 1 1.000 1.000 1 1.000 1.000 [123,] 0 0.000 0.000 0 0.000 0.000 [124,] 1 1.000 1.000 1 1.000 1.000 [125,] 1 1.000 1.000 1 1.000 1.000 [126,] 1 1.000 0.229 1 1.000 0.229 [127,] 1 1.000 1.000 1 1.000 1.000 [128,] 1 1.000 1.000 1 1.000 1.000 [129,] 1 1.000 1.000 1 1.000 1.000 [130,] 1 1.000 0.702 1 1.000 0.702 [131,] 0 0.357 0.000 1 1.000 0.000 [132,] 0 0.000 0.000 0 0.000 0.000 [133,] 1 1.000 1.000 1 1.000 1.000 [134,] 1 1.000 1.000 1 1.000 1.000 [135,] 1 1.000 0.818 1 1.000 0.818 [136,] 1 0.999 0.000 1 1.000 0.000 [137,] 1 1.000 0.000 1 1.000 0.000 [138,] 1 1.000 1.000 1 1.000 1.000 [139,] 1 1.000 1.000 1 1.000 1.000 [140,] 1 1.000 1.000 1 1.000 1.000 [141,] 1 1.000 1.000 1 1.000 1.000 [142,] 1 1.000 1.000 1 1.000 1.000 [143,] 1 1.000 1.000 1 1.000 1.000 [144,] 1 1.000 1.000 1 1.000 1.000 [145,] 1 1.000 1.000 1 1.000 1.000 [146,] 1 1.000 1.000 1 1.000 1.000 [147,] 1 1.000 0.991 1 1.000 0.991 [148,] 1 1.000 1.000 1 1.000 1.000 [149,] 1 1.000 0.000 1 1.000 0.000 [150,] 1 1.000 1.000 1 1.000 1.000 > > > try( # testing (tol=0 too small) + chk.NN.new.old(cN, cN1, tol=0) + ) classification accordance matrix: old new 0 1 0 10 5 1 0 135 Error : Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01461941 Component "mu": Mean relative difference: 0.003193649 Component "postprob": Mean relative difference: 0.1563358 Component "classification": Mean absolute difference: 1 > ## This used to fail when we use R's instead of BLAS matrix products: > if(doCheck) + chk.NN.new.old(cN, cN1, tol = 4e-15) # seen 1.1e-15 work classification accordance matrix: old new 0 1 0 10 5 1 0 135 Error: Not all.equal(UN(cNew[1:4]), UN(cNold[1:4]), tol = tol.1): Component "cov": Mean relative difference: 0.01461941 Component "mu": Mean relative difference: 0.003193649 Component "postprob": Mean relative difference: 0.1563358 Component "classification": Mean absolute difference: 1 Execution halted * checking PDF version of manual ... [7s/11s] OK * checking HTML version of manual ... OK * checking for non-standard things in the check directory ... OK * checking for detritus in the temp directory ... OK * DONE Status: 1 ERROR See ‘/data/gannet/ripley/R/packages/tests-MKL/robustX.Rcheck/00check.log’ for details. Command exited with non-zero status 1 Time 1:19.86, 54.52 + 7.16