RGLab / CytoML

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

Incompatible with Apple Silicon Mac #154

Open ibgui00 opened 6 months ago

ibgui00 commented 6 months ago

The installation is incompatible with Apple Silicon Mac. Is anyone aware of how to go around this issue?

spribitzer commented 5 months ago

We have been running into this issue as well and would appreciate a fix. Installation from source (bioconductor, github) yields the following error message:

clang++ -arch arm64 -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -L/Library/Frameworks/R.framework/Resources/lib -L/opt/R/arm64/lib -o CytoML.so cpp11.o parseFlowJoWorkspace.o /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/cytolib/lib/libcytolib.a /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rhdf5lib/lib/libhdf5_cpp.a /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rhdf5lib/lib/libhdf5.a -L/Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library/Rhdf5lib/lib -lcrypto -lcurl -lsz -laec -lz -ldl -lm -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -lxml2 -lz -lpthread -licucore -lm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: ignoring duplicate libraries: '-lm', '-lz'
ld: library 'crypto' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [CytoML.so] Error 1
ERROR: compilation failed for package ‘CytoML’

I have tried sourcing CytoML.so and building CytoML on other machines, but was not successful:

Tetsuichi commented 5 months ago

I am using the M3 chip and I too am having trouble installing it with the same error.

davnovak commented 4 months ago

Using an Apple M1 chip with macOS Sonoma 14.1.1, R version 4.3.3., I also have this problem, also with ld: library 'crypto' not found. Using the x86_64 version of R does not fix this problem (same error message). Any work-arounds for this?

emjbishop commented 4 months ago

I have two mac users who also experience the ld: library 'crypto' not found error (no solution yet). As far as I can tell the 'crypto' package is related to cryptocurrency so this seems really odd (perhaps sketchy?).

davnovak commented 4 months ago

Installing OpenSSL and updating PATH resolves this issue on at least some machines.

In terminal:

brew install openssl

In R session:

Sys.setenv(LIBRARY_PATH = '/opt/homebrew/lib')
Sys.setenv(LDFLAGS = '-L/opt/homebrew/lib')
Sys.setenv(CPPFLAGS = '-I/opt/homebrew/include')

If this works consistently, it should enable the package authors to include Apple Silicon install instructions and to provide a macOS arm64 binary on Bioconductor if they choose to.

Tetsuichi commented 4 months ago

Installing OpenSSL and updating PATH resolves this issue on at least some machines.

In terminal:

brew install openssl

In R session:

Sys.setenv(LIBRARY_PATH = '/opt/homebrew/lib')
Sys.setenv(LDFLAGS = '-L/opt/homebrew/lib')
Sys.setenv(CPPFLAGS = '-I/opt/homebrew/include')

If this works consistently, it should enable the package authors to include Apple Silicon install instructions and to provide a macOS arm64 binary on Bioconductor if they choose to.

This worked! Thank you!

spribitzer commented 1 month ago

@davnovak thanks. That worked for me. Adding the PATHs worked. Interestingly, most of the times that I have brew dependencies, I can launch R from the command line and compile from source then. But that did not work for CytoML. But manually setting the paths did! So thank you, learned something new.