Dear R people,

Tests of nlme on aarch64 seem to fail:

--8<---------------cut here---------------start------------->8---
Running specific tests for package ‘nlme’
  Running ‘anova.gls.R’
Error: running the tests in ‘anova.gls.R’ failed

Tests failed, dumping logs.

--- ./nlme-tests/anova.gls.Rout.fail ----------------------------------------


R version 4.5.2 (2025-10-31) -- "[Not] Part in a Rumble"
Copyright (C) 2025 The R Foundation for Statistical Computing
Platform: aarch64-unknown-linux-gnu

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> ## Example of scoping problem.
> ## Originally from a report by Markus Jantti:
> ## https://stat.ethz.ch/pipermail/r-help/2005-November/081382.html
> library(nlme)
> data(Ovary)
> ## stolen from example(anova.gls)
> # AR(1) errors within each Mare
> ## tolerance increased for flang (was 6e-6)
> fm1 <- gls(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), Ovary,
+            correlation = corAR1(form = ~ 1 | Mare))
> int1 <- intervals(fm1)
> ## no longer print attr(,"label"), PR#18196 :
> writeLines(intOut <- capture.output(int1))
Approximate 95% confidence intervals

 Coefficients:
                       lower       est.      upper
(Intercept)        10.908531 12.2163982 13.5242656
sin(2 * pi * Time) -4.044019 -2.7747122 -1.5054050
cos(2 * pi * Time) -2.272201 -0.8996047  0.4729919

 Correlation structure:
       lower      est.     upper
Phi 0.668414 0.7532079 0.8186747

 Residual standard error:
   lower     est.    upper 
3.974642 4.616172 5.361248 
> stopifnot({
+     length(grep(',"label"', intOut, fixed=TRUE)) == 0
+     all.equal(int1$corStruct["Phi",],
+             c(lower=0.66842829, est.=0.753207889, upper=0.81866619),
+             tol = 1e-5)# 7e-6 needed for flan
+     all.equal(as.vector(int1$sigma),
+             c(3.9747061, 4.61617157, 5.361161), tol = 1e-5)
+ })
Error: { .... is not TRUE
--8<---------------cut here---------------end--------------->8---

I got luck, I tried to compile with gcc's flag -ffp-contract=false, the 
check then passed.

Question 1 : Is it known? I don't have other aarch64 boards at hand
(this one is rk3399 based).

Question 2 : If I build nlme with this flag and other packages
without it, should I expect problems? I am asking because I am trying to
upgrade the package definition in my gnu/linux distribution (Guix) in
order to support aarch64 (tests being required to pass).

Thank you!

Yarl

______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to