RGLab / CytoML

A GatingML Interface for Cross Platform Cytometry Data Sharing
GNU Affero General Public License v3.0
29 stars 14 forks source link

Unable to load CytoML library #103

Closed HelenaLC closed 4 years ago

HelenaLC commented 4 years ago

Bug description While CytoML installs cleanly, library(CytoML) fails with:

Error: package or namespace load failed for ‘CytoML’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/Users/helena/software/bioc311/CytoML/libs/CytoML.so':
  dlopen(/Users/helena/software/bioc311/CytoML/libs/CytoML.so, 6): Symbol not found: __ZN7cytolib15GatingHierarchy6gatingERNS_12MemCytoFrameEmbb

which in turns prohibits many other cyto-related packages from being loaded.

I have tried installing both the Bioc release version via BiocManager::install("CytoML") & from GitHub via BiocManager::install("RGLab/CytoML").

All packages should be up-to-date; i.e. BiocManager::install() executes silently.

Session info

> sessionInfo()
R version 4.0.0 RC (2020-04-21 r78267)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.5

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.4.6        plyr_1.8.6          pillar_1.4.4        compiler_4.0.0     
 [5] cytolib_2.0.3       RColorBrewer_1.1-2  base64enc_0.1-3     tools_4.0.0        
 [9] zlibbioc_1.34.0     digest_0.6.25       jsonlite_1.6.1      gtable_0.3.0       
[13] lifecycle_0.2.0     tibble_3.0.1        lattice_0.20-41     png_0.1-7          
[17] pkgconfig_2.0.3     rlang_0.4.6         graph_1.66.0        rstudioapi_0.11    
[21] Rgraphviz_2.32.0    yaml_2.2.1          parallel_4.0.0      hexbin_1.28.1      
[25] gridExtra_2.3       stringr_1.4.0       dplyr_1.0.0         generics_0.0.2     
[29] vctrs_0.3.1         stats4_4.0.0        grid_4.0.0          tidyselect_1.1.0   
[33] glue_1.4.1          data.table_1.12.8   Biobase_2.48.0      R6_2.4.1           
[37] jpeg_0.1-8.1        XML_3.99-0.3        RBGL_1.64.0         latticeExtra_0.6-29
[41] ggplot2_3.3.1       RProtoBufLib_2.0.0  purrr_0.3.4         magrittr_1.5       
[45] scales_1.1.1        ellipsis_0.3.1      matrixStats_0.56.0  BiocGenerics_0.34.0
[49] colorspace_1.4-1    flowWorkspace_4.0.6 flowCore_2.0.1      ncdfFlow_2.34.0    
[53] stringi_1.4.6       munsell_0.5.0       RcppParallel_5.0.1  crayon_1.3.4       
[57] ggcyto_1.16.0
jacobpwagner commented 4 years ago

We are currently working on the Bioconductor issue, so the binary available there is legitimately currently behind the cytolib version due to some build failures. We're working on that as quickly as possible to get it resolved and I'll post here as soon as it's fixed. It will likely take a day for that change to be available to you (or maybe two days) because Bioconductor builds their packages daily.

But the root of your error is that your CytoML version is behind cytolib. Specifically, your version of cytolib has this commit: https://github.com/RGLab/cytolib/commit/d02503918cc751c5435b4e5861060dcfc673b737, while your version of CytoML does not have the accompanying changes: https://github.com/RGLab/CytoML/commit/0cb5ff52de4ab3c9a594d036db321f223a270b30.

A couple of options:

  1. You can wait a day or so until we resolve the Bioconductor build issue and a new CytoML binary is available via BiocManager::install("CytoML")
  2. You can install all of the key dependencies and CytoML from the development versions on GitHub (these will be a little ahead of Bioconductor):
    remotes::install_github("RGLab/cytolib", force = TRUE)
    remotes::install_github("RGLab/flowCore", force = TRUE)
    remotes::install_github("RGLab/flowWorkspace", force = TRUE)
    remotes::install_github("RGLab/CytoML", force = TRUE)

    Deepest apologies for the inconvenience this is causing.

jacobpwagner commented 4 years ago

We have sent a fix to Bioconductor, so hopefully option 1 (waiting a day and installing from Bioconductor) should be good to go.

HelenaLC commented 4 years ago

Wonderful- I’ll give it ago in a day or two and will close the issue if it’s resolved. Thanks so much for your prompt response; this was keeping me from getting my own package to work / finalize the next Bioc update- very glad it could be resolved quickly 🙏

nuneznicolas commented 4 years ago

We are currently working on the Bioconductor issue, so the binary available there is legitimately currently behind the cytolib version due to some build failures. We're working on that as quickly as possible to get it resolved and I'll post here as soon as it's fixed. It will likely take a day for that change to be available to you (or maybe two days) because Bioconductor builds their packages daily.

But the root of your error is that your CytoML version is behind cytolib. Specifically, your version of cytolib has this commit: RGLab/cytolib@d025039, while your version of CytoML does not have the accompanying changes: 0cb5ff5.

A couple of options:

  1. You can wait a day or so until we resolve the Bioconductor build issue and a new CytoML binary is available via BiocManager::install("CytoML")
  2. You can install all of the key dependencies and CytoML from the development versions on GitHub (these will be a little ahead of Bioconductor):
remotes::install_github("RGLab/cytolib", force = TRUE)
remotes::install_github("RGLab/flowCore", force = TRUE)
remotes::install_github("RGLab/flowWorkspace", force = TRUE)
remotes::install_github("RGLab/CytoML", force = TRUE)

Deepest apologies for the inconvenience this is causing.

Thanks a lot Jacobpwagner. I had the same problem as Elena (R version 4.0.1 (2020-06-06), macOS Catalina 10.15.5) and running these 4 steps (option 2 but not option 1) solved the Error.

jacobpwagner commented 4 years ago

Thanks, @nuneznicolas. Good to hear. And @HelenaLC , based on the time of day it looks like Bioconductor pulls from the repos, it might be a couple of days until the fix is available there rather than one day. Thanks for your patience.

HelenaLC commented 4 years ago

Resolved, thanks again!

ugbogu01 commented 4 months ago

My operating system: MacBook Air Chip: Apple M1 macOS: Sonoma 14.4.1

I can’t install CytoML package on my system.

remotes::install_github("RGLab/flowCore", force = TRUE)

Screenshot 2024-05-16 at 09 39 16

remotes::install_github("RGLab/flowWorkspace", force = TRUE)

Screenshot 2024-05-16 at 09 40 13

Screenshot 2024-05-16 at 09 41 24 Screenshot 2024-05-16 at 09 47 10 Screenshot 2024-05-16 at 09 47 37