-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Finemap missing dependency in macOS #9
Comments
Hi @tillandlauer, thanks for bringing this up! This is something I've been trying to figure how to best resolve for a while. Installing via brew assumes the user is using a mac and has brew installed, which I could probably write some checks for. Then there's also the issues with root privileges, for installing brew. And of course, we'd need another solution for Linux/Windows users. I've also explored using zstd installed via conda. But from what I recall, FINEMAP wasn't able to find this installation of ztd and doesn't have an argument to specify where zstd is. Ideally, zstandard would be included in FINEMAP itself, but I haven't heard of any plans to do this. So in the end I thought it best to just give user the warning message. But I'll revisit this now and see if I can come up with a better solution. Any suggestions for how to implement this are welcome! |
I've also noticed that following the instructions from http://www.christianbenner.com/ to install zstd to solve this issue with FINEMAPv1.4 doesn't seem to work on my Mac either (though this does not appear to be an issue on Linux). This is why I have echolocatoR then default to v1.3 upon failing with v1.4. I've reached out to the FINEMAP author to see if he can provide a fix for this. |
Response from FINEMAP author, Christian Benner, who replied a long time ago but just documenting here now for users:
brew installFollowing these instructions on my Mac:
However, the output indicates I already have gcc8 installed:
Just in case there are multiple versions of gcc installed on my computer, I checked which version is being defaulted to in the terminal:
Not sure why clang is coming up instead of gcc, but this might be related. brew reinstall
Full output messages:
But this didn't seem to change anything, same issue as before (even when i start a new bash session):
Interim solutionSince this issues was first noted, my workaround has been to build in a |
aha! think i found something regarding the symlinks based on this post:
This does indeed seem to be the executable I want. Now i need to find a way to redirect the symlink to this version (preferably from within R). |
In fact, it seems I have multiple versions of gcc installed on my Mac:
Overwrite symlink
After starting a new bash session, the right gcc is now being referenced! Now to figure out how to do this within R in a way that communicates with FINEMAP. |
Within REven though I can see the right version of gcc is indeed being referred to.... out <- R.utils::createLink(
link="/usr/local/bin/gcc",
target="/usr/local/bin/gcc-8",
overwrite=TRUE)
system("gcc -v")
FINEMAP doesn't' seem to be able to recognize it. Even including the softlink creation within the same command doesn't help: system("/Users/schilder/Library/Caches/org.R-project.R/R/echofinemap/FINEMAP/finemap_v1.4.1_MacOSX/finemap_v1.4.1_MacOSX")
## or
system("ln -sF /usr/local/bin/gcc-8 /usr/local/bin/gcc & /Users/schilder/Library/Caches/org.R-project.R/R/echofinemap/FINEMAP/finemap_v1.4.1_MacOSX/finemap_v1.4.1_MacOSX")
Within terminalIt doesn't even seem to be R related, as FINEMAP has this same issue when called from the terminal. Maybe it has something to do with where it's cashed? |
GOT IT!! ProcedureOk, so several things needed to be in place:
Within RI've created an internal function in Because it overwrite any preexisting symlinks, Test runNow FINEMAP v1.4.1 successfully runs all the way through!!
Mac specs
|
apologies for re-opening the issue: I am on a Mac arm64 architecture - and the procedure your have outlined here doesn't seem to be working for me. I was wondering if there is an equivalent for arm64 case? |
Hi @asoroosh, I'll try to look into it Could you send me the specific specs on your Mac? Should be findable via |
FINEMAP won't run on a Mac unless Zstandard is installed (error message:
dyld: Library not loaded: /usr/local/lib/libzstd.1.dylib
), see: http://www.christianbenner.comMac OSX users: If you see dyld: Library not loaded: /usr/local/lib/libzstd.1.dylib, install Zstandard.
.The Zstandard lib (https://facebook.github.io/zstd/) can be installed in macOS using
brew install zstd
. Please consider adding this library to the install routine!The text was updated successfully, but these errors were encountered: