privefl / bigsparser

Sparse matrix format with data on disk
10 stars 3 forks source link

test-SFBM-compact and test-accessor fail on PowerPC #12

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago
R version 4.2.3 (2023-03-15) -- "Shortstop Beagle"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: powerpc-apple-darwin10.8.0 (32-bit)

> library(testthat)
> library(bigsparser)
> 
> test_check("bigsparser")
[ FAIL 2 | WARN 0 | SKIP 3 | PASS 316 ]

══ Skipped tests ═══════════════════════════════════════════════════════════════
• On CRAN (3)

══ Failed tests ════════════════════════════════════════════════════════════════
── Failure ('test-SFBM-compact.R:12:3'): can use SFBMs from old versions ───────
sp_prodVec(X, rep(1, 3)) not identical to c(3, 0, 0).
1/3 mismatches
[1] 1.04e-320 - 3 == -3
── Failure ('test-accessor.R:9:3'): can use SFBMs from old versions ────────────
X[] not identical to `spmat`.
Attributes: < Component "x": Mean absolute difference: 3 >

[ FAIL 2 | WARN 0 | SKIP 3 | PASS 316 ]
Error: Test failures
Execution halted
privefl commented 1 year ago

Does the problem come from a new version of Mac, or because you use a 32-bit version of R (which I thought had been deprecated)?

barracuda156 commented 1 year ago

@privefl Thank you for responding. The last macOS to support PPC is 10.6, which is what I test.

R works perfectly fine on 32-bit, and majority of packages work and pass all tests. I am the maintainer for R packages in Macports, so this is not just for me personally: I wanna fix this for all users.

privefl commented 1 year ago

All the tests on CRAN pass (which does not test 32 bits anymore it seems). I have no way to test for this architecture. So, unless you have a solution for this, this probably won't be fixed. The thing is that I use double precision numbers for this format, so I'm not sure how this would work on a 32-bit architecture.

barracuda156 commented 1 year ago

All the tests on CRAN pass (which does not test 32 bits anymore it seems). I have no way to test for this architecture.

Maybe on Linux or BSD? Or even Windows? Bitness issues are rarely macOS-specific (some are, like 128-bit floating point format).

The thing is that I use double precision numbers for this format, so I'm not sure how this would work on a 32-bit architecture.

That is, 64-bit? That should work, provided that endianness is used correctly.

barracuda156 commented 5 days ago

Just as an update on the status, 0.7.3 still has the issue:

--->  Testing R-bigsparser
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-bigsparser/R-bigsparser/work/bigsparser" && /opt/local/bin/R CMD check ./bigsparser_0.7.3.tar.gz --no-manual --no-build-vignettes 
* using log directory ‘/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-bigsparser/R-bigsparser/work/bigsparser/bigsparser.Rcheck’
* using R version 4.4.1 (2024-06-14)
* using platform: powerpc-apple-darwin10.0.0d2 (32-bit)
* R was compiled by
    gcc-mp-13 (MacPorts gcc13 13.3.0_0+stdlib_flag) 13.3.0
    GNU Fortran (MacPorts gcc13 13.3.0_0+stdlib_flag) 13.3.0
* running under: OS X Snow Leopard 10.6
* using session charset: UTF-8
* using options ‘--no-manual --no-build-vignettes’
* checking for file ‘bigsparser/DESCRIPTION’ ... OK
* this is package ‘bigsparser’ version ‘0.7.3’
* 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 ‘bigsparser’ can be installed ... OK
* used C++ compiler: ‘g++-mp-13 (MacPorts gcc13 13.3.0_0+stdlib_flag) 13.3.0’
* used SDK: ‘NA’‘NA’‘NA’‘NA’‘NA’‘NA’
* checking installed package size ... 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 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 ... OK
* checking Rd files ... OK
* checking Rd metadata ... 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 line endings in C/C++/Fortran sources/headers ... OK
* checking line endings in Makefiles ... OK
* checking compilation flags in Makevars ... OK
* checking for GNU extensions in Makefiles ... OK
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
* checking use of PKG_*FLAGS in Makefiles ... OK
* checking compiled code ... OK
* checking examples ... OK
* checking for unstated dependencies in ‘tests’ ... OK
* checking tests ...
  Running ‘testthat.R’
 ERROR
Running the tests in ‘tests/testthat.R’ failed.
Last 13 lines of output:
  • On CRAN (3): 'test-add-columns.R:97:3', 'test-solve.R:5:3',
    'test-solve.R:34:3'

  ══ Failed tests ════════════════════════════════════════════════════════════════
  ── Failure ('test-SFBM-compact.R:12:3'): can use SFBMs from old versions ───────
  sp_prodVec(X, rep(1, 3)) not identical to c(3, 0, 0).
  1/3 mismatches
  [1] 1.04e-320 - 3 == -3
  ── Failure ('test-accessor.R:9:3'): can use SFBMs from old versions ────────────
  X[] not identical to `spmat`.
  Attributes: < Component "x": Mean absolute difference: 3 >

  [ FAIL 2 | WARN 0 | SKIP 3 | PASS 495 ]
  Error: Test failures
  Execution halted
* DONE

Status: 1 ERROR

R version 4.4.1 (2024-06-14) -- "Race for Your Life"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: powerpc-apple-darwin10.0.0d2 (32-bit)

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.

> library(testthat)
> library(bigsparser)
> 
> test_check("bigsparser")
[ FAIL 2 | WARN 0 | SKIP 3 | PASS 495 ]

══ Skipped tests (3) ═══════════════════════════════════════════════════════════
• On CRAN (3): 'test-add-columns.R:97:3', 'test-solve.R:5:3',
  'test-solve.R:34:3'

══ Failed tests ════════════════════════════════════════════════════════════════
── Failure ('test-SFBM-compact.R:12:3'): can use SFBMs from old versions ───────
sp_prodVec(X, rep(1, 3)) not identical to c(3, 0, 0).
1/3 mismatches
[1] 1.04e-320 - 3 == -3
── Failure ('test-accessor.R:9:3'): can use SFBMs from old versions ────────────
X[] not identical to `spmat`.
Attributes: < Component "x": Mean absolute difference: 3 >

[ FAIL 2 | WARN 0 | SKIP 3 | PASS 495 ]
Error: Test failures
Execution halted
privefl commented 5 days ago

Is this only this test with old versions of SFBMs that fails? That should not matter unless you stored some SFBM from a long time ago.

barracuda156 commented 5 days ago

@privefl From the output looks like yes, everything else passes.

privefl commented 5 days ago

Is this a problem you encounter yourself?