Open wonliy opened 2 years ago
Are you on an M1-mac? Bioconductor is not producing M1 binaries at the moment so the package probably hasn't received much (any?) testing on the M1 platform (except perhaps via running the intel version of R under Rosetta 2). Based on this report, it looks like it might require a little work to get everything working smoothly once Bioconductor has first-class support for the M1 Macs?
Having the same issue while installing from remote::
ld: library not found for -lquadmath collect2: error: ld returned 1 exit status make: *** [scuttle.so] Error 1 ERROR: compilation failed for package ‘scuttle’
Same question: Are you on an M1-mac?
Please also post your sessionInfo()
and output of BiocManager::valid()
Thank you Peter for your quick reply!
Yes, my system is an M1-mac, was using the arm based R yesterday.
After switching to the intel version R (via rosetta), it was installed smoothly.
Same question: Are you on an M1-mac? Please also post your
sessionInfo()
and output ofBiocManager::valid()
Is this issue still ongoing? Trying to use a package that uses scuttle as a dependency and not able to make it work. M2 mac user.
ERROR: compilation failed for package ‘scuttle’
Do you have the full installation traceback? FWIW I am on an M2 and scuttle installs fine.
Apologies for the extremely long traceback. I'm on R Studio 2023.09.0+463.
BiocManager::install("scuttle") 'getOption("repos")' replaces Bioconductor standard repositories, see 'help("repositories", package = "BiocManager")' for details. Replacement repositories: CRAN: https://cran.rstudio.com/ Bioconductor version 3.18 (BiocManager 1.30.22), R 4.3.1 (2023-06-16) Installing package(s) 'scuttle' Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/data/annotation/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.rds': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/data/annotation/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.gz': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/data/experiment/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.rds': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/data/experiment/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.gz': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/workflows/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.rds': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/workflows/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.gz': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/books/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.rds': HTTP status was '404 Not Found'Warning: downloaded length 0 != reported length 0Warning: cannot open URL 'https://bioconductor.org/packages/3.18/books/bin/macosx/big-sur-arm64/contrib/4.3/PACKAGES.gz': HTTP status was '404 Not Found'Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘scuttle’ Do you want to attempt to install these from sources? (Yes/no/cancel) Yes installing the source package ‘scuttle’
downloaded 1005 KB
The fundamental issue is that Bioc is not yet reliably building Mac Arm binaries yet. I see some binaries for release (3.17) on the landing page, but none for devel (3.18) on the corresponding page.
As a result, the user is prompted to install from source, which you can't do without the fortran build tools. This is what I did on my machine, but I don't remember the exact steps involved. I think maybe I got it from homebrew?
Anyway, the simplest solution is to just use Rosetta. Perhaps @vjcitn could comment more on Mac Arm support.
FWIW I reckon you'd have probably have installed gfortran from https://mac.r-project.org/tools/ (linked from https://cran.r-project.org/bin/macosx/tools/)
@LTLA scuttle's unit tests fail on Mac Arm hence why there's no binary for this platform.
Here's some of the detail on my M1:
Last 13 lines of output:
Objects equal but not identical
── Failure ('test-norm.R:299:5'): logNormCounts works for SCE objects (basic) ──
`out` not identical to `sub`.
Objects equal but not identical
── Failure ('test-size-factors.R:16:5'): librarySizeFactors works as expected ──
mean(sf) not identical to 1.
Objects equal but not identical
[ FAIL 4 | WARN 0 | SKIP 0 | PASS 1695 ]
Error: Test failures
probing further...
The build report displays some details already: open https://bioconductor.org/checkResults/3.18/bioc-mac-arm64-LATEST/scuttle/kjohnson1-checksrc.html and scroll down to the "Tests output" section. This is what is displayed:
R version 4.3.1 (2023-06-16) -- "Beagle Scouts"
Copyright (C) 2023 The R Foundation for Statistical Computing
Platform: aarch64-apple-darwin20 (64-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(scuttle)
Loading required package: SingleCellExperiment
Loading required package: SummarizedExperiment
Loading required package: MatrixGenerics
Loading required package: matrixStats
Attaching package: 'MatrixGenerics'
The following objects are masked from 'package:matrixStats':
colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
colWeightedMeans, colWeightedMedians, colWeightedSds,
colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
rowWeightedSds, rowWeightedVars
Loading required package: GenomicRanges
Loading required package: stats4
Loading required package: BiocGenerics
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, aperm, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect, is.unsorted,
lapply, mapply, match, mget, order, paste, pmax, pmax.int, pmin,
pmin.int, rank, rbind, rownames, sapply, setdiff, sort, table,
tapply, union, unique, unsplit, which.max, which.min
Loading required package: S4Vectors
Attaching package: 'S4Vectors'
The following object is masked from 'package:utils':
findMatches
The following objects are masked from 'package:base':
I, expand.grid, unname
Loading required package: IRanges
Loading required package: GenomeInfoDb
Loading required package: Biobase
Welcome to Bioconductor
Vignettes contain introductory material; view with
'browseVignettes()'. To cite Bioconductor, see
'citation("Biobase")', and for packages 'citation("pkgname")'.
Attaching package: 'Biobase'
The following object is masked from 'package:MatrixGenerics':
rowMedians
The following objects are masked from 'package:matrixStats':
anyMissing, rowMedians
> test_check("scuttle")
Loading required package: Matrix
Attaching package: 'Matrix'
The following object is masked from 'package:S4Vectors':
expand
Loading required package: S4Arrays
Loading required package: abind
Attaching package: 'S4Arrays'
The following object is masked from 'package:abind':
abind
The following object is masked from 'package:base':
rowsum
Loading required package: SparseArray
Attaching package: 'DelayedArray'
The following objects are masked from 'package:base':
apply, scale, sweep
[ FAIL 4 | WARN 13 | SKIP 0 | PASS 1695 ]
══ Failed tests ════════════════════════════════════════════════════════════════
── Failure ('test-norm.R:47:5'): normalizeCounts works as expected ─────────────
`out` not identical to `sub`.
Objects equal but not identical
── Failure ('test-norm.R:248:5'): logNormCounts works for SE objects ───────────
`out` not identical to `ref`.
Objects equal but not identical
── Failure ('test-norm.R:299:5'): logNormCounts works for SCE objects (basic) ──
`out` not identical to `sub`.
Objects equal but not identical
── Failure ('test-size-factors.R:16:5'): librarySizeFactors works as expected ──
mean(sf) not identical to 1.
Objects equal but not identical
[ FAIL 4 | WARN 13 | SKIP 0 | PASS 1695 ]
Error: Test failures
Execution halted
Also FWIW the ~RELEASE_3_18~ RELEASE_3_17 branch has the same problem: https://bioconductor.org/checkResults/3.17/bioc-mac-arm64-LATEST/scuttle/kjohnson2-checksrc.html
Thanks @hpages. I've relaxed the tests on 1.11.3. Hopefully this should allow the devel builds to pass.
replacement repositories: CRAN: https://cran.rstudio.com/
Bioconductor version 3.14 (BiocManager 1.30.16), R 4.1.2 (2021-11-01) Installing package(s) 'scuttle' Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘scuttle’ Do you want to attempt to install these from sources? (Yes/no/cancel) yes installing the source package ‘scuttle’
trying URL 'https://bioconductor.org/packages/3.14/bioc/src/contrib/scuttle_1.4.0.tar.gz' Content type 'application/x-gzip' length 979954 bytes (956 KB)
downloaded 956 KB
The downloaded source packages are in ‘/private/var/folders/mq/j68g448j3j59cct30c1wb9hh0000gp/T/Rtmpp9wICn/downloaded_packages’ Old packages: 'Matrix' Update all/some/none? [a/s/n]: