Closed jmarshall closed 3 years ago
But bioconductor still seems to build so
file
http://bioconductor.org/checkResults/3.12/bioc-LATEST/cytolib/merida1-install.html
The Bioconductor build system doesn't represent the diversity of user systems.
Perhaps the thing to do would be to take advantage of SHLIB_EXT from etc/Makeconf rather than have cytolibLibPath
contain its own per-platform guesses.
I'm having the same issue with R.0.3 on macOS. Trying to get flowCore
installed through conda seems to succeed but then the package can't be loaded within R (). The culprit seems to be cytolib
which doesn't with library() either [showing the error in OP) .
Could anyone point me in the right direction on how to get cytolib
running?
I would need it to get it working through conda since I need to deploy some code relying on it and can't go around manually changing the cytoLibPath function.
Thanks!
try the latest bioc devel, cytolib is static lib now.
This is fixed in the bioconda package now. Bioconda of course packages the bioconductor stable release.
I assume the static library will appear in Bioconductor 3.13? In any case, as on your development branch the library is static and the cytolibLibPath
function no longer appears, this bug in its original form is clearly fixed.
I'm having the same issue with R.0.3 on macOS. Trying to get
flowCore
installed through conda seems to succeed but then the package can't be loaded within R (). The culprit seems to becytolib
which doesn't with library() either [showing the error in OP) . Could anyone point me in the right direction on how to getcytolib
running? I would need it to get it working through conda since I need to deploy some code relying on it and can't go around manually changing the cytoLibPath function. Thanks!
@jmarshall 's fix is now live on bioconda and completely fixes the issue with cytolib.!
Additionally, I can also confirm that the issues with loading flowCore
are no longer present now that cytolib
works as intended. Thanks again @jmarshall !
The
cytolibLibPath
function returns the path to the shared library, and commit 3ca3d46cdb927d2036f423ab65a236d818c98563 (October 2019) changed it fromcytolib.dylib
tocytolib.so
on macOS.In building Bioconda's bioconductor-cytolib package for R 4.0.3 / Bioconductor 3.12, I found that the library was built as cytolib.dylib and I needed to revert this change to make packages that use cytolib work correctly. Without this change back to .dylib any attempt to use the bioconda-built cytolib produced:
and
dlopen()
errors complaining that various function symbols supplied by the library could not be resolved. (Notice the double space inlibrary … not
indicating that the string returned was the empty string.)See bioconda/bioconda-recipes#25292, in particular @dpryan79's comment hinting that
.so
may have been needed on macOS for R 3.6 but is no longer correct for R 4.