Closed Tazinho closed 7 years ago
I think you need to symlink /etc/fsl/5.0/fsl.sh
to ${FSLDIR}/etc/fslconf/fsl.sh
, which would be /usr/lib/fsl/5.0/etc/fslconf/fsl.sh
Thanks for the quick response, but still not working.
$ dir /usr/lib/fsl/5.0/etc/fslconf/
fsl.sh
And in RStudion:
> options("fsl.path")
$fsl.path
NULL
> fslr::dim_(volume.t2)
[1] 3 512 512 22 1 1 1 1
> mean(volume.t2)
[1] 78.43897
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file7628540ab578.nii.gz" -m
/usr/share/fsl/5.0/bin/fslstats: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory
Error in system(cmd, intern = TRUE) : error in running command
In addition: Warning messages:
1: In get.fsl() : Setting fsl.path to /usr/share/fsl/5.0
2: In get.fsloutput() : Can't find FSLOUTPUTTYPE, setting to NIFTI_GZ
> options(fsl.path="/usr/local/fsl")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/local/fsl'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file76287a4d1403.nii.gz" -m
sh: 1: /usr/local/fsl/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path="/usr/share/fsl/5.0")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file76285b7dec7b.nii.gz" -m
/usr/share/fsl/5.0/bin/fslstats: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path="/usr/lib/fsl/5.0")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/lib/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file76286529e825.nii.gz" -m
sh: 1: /usr/lib/fsl/5.0/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path="/usr/lib/fsl/5.0/etc")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/lib/fsl/5.0/etc'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file7628b78a06d.nii.gz" -m
sh: 1: /usr/lib/fsl/5.0/etc/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path="/usr/lib/fsl/5.0/etc/fslconf")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/lib/fsl/5.0/etc/fslconf'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file76289c5e6a9.nii.gz" -m
sh: 1: /usr/lib/fsl/5.0/etc/fslconf/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path=". /etc/fsl/5.0")
> fslstats(volume.t2, opts = "-m")
FSLDIR='. /etc/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file762828478cd7.nii.gz" -m
sh: 1: .: Can't open /etc/fsl/5.0/bin/fslstats
character(0)
attr(,"status")
[1] 2
Warning message:
running command 'FSLDIR='. /etc/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file762828478cd7.nii.gz" -m' had status 2
> options(fsl.path="/usr/share")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmplBI6at/file76287c44a732.nii.gz" -m
sh: 1: /usr/share/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
> flirt.help()
sh: 1: /usr/share/bin/flirt: not found
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path = NULL)
> options("fsl.path")
$fsl.path
NULL
> flirt.help()
/usr/share/fsl/5.0/bin/flirt: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory
Error in system(cmd, intern = TRUE) : error in running command
In addition: Warning message:
In get.fsl() : Setting fsl.path to /usr/share/fsl/5.0
Do you have another idea?
Can you put export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/fsl/5.0
in your .bashrc
, restart R and rerun?
I did that, but seems like nothing changed:
> library("fslr")
Loading required package: oro.nifti
oro.nifti 0.7.2
Loading required package: neurobase
> volume.t2 <- readNIfTI("data/Neurohacking_data-0.0/BRAINIX/NIfTI/T2.nii.gz",
+ reorient = FALSE)
> options("fsl.path")
$fsl.path
NULL
> fslr::dim_(volume.t2)
[1] 3 512 512 22 1 1 1 1
> mean(volume.t2)
[1] 78.43897
# ______________________________________________________________________________
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea377cb5b496.nii.gz" -m
/usr/share/fsl/5.0/bin/fslstats: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory
Error in system(cmd, intern = TRUE) : error in running command
In addition: Warning messages:
1: In get.fsl() : Setting fsl.path to /usr/share/fsl/5.0
2: In get.fsloutput() : Can't find FSLOUTPUTTYPE, setting to NIFTI_GZ
# ______________________________________________________________________________
> options(fsl.path="/usr/share/fsl/5.0")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea3736d1c17.nii.gz" -m
/usr/share/fsl/5.0/bin/fslstats: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory
Error in system(cmd, intern = TRUE) : error in running command
# ______________________________________________________________________________
> options(fsl.path="/usr/lib/fsl/5.0")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/lib/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea372cca5bd.nii.gz" -m
sh: 1: /usr/lib/fsl/5.0/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
# ______________________________________________________________________________
> options(fsl.path="/usr/lib/fsl/5.0/etc")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/lib/fsl/5.0/etc'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea3711ed8b02.nii.gz" -m
sh: 1: /usr/lib/fsl/5.0/etc/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
> options(fsl.path="/usr/lib/fsl/5.0/etc/fslconf")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/lib/fsl/5.0/etc/fslconf'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea372c1f49d9.nii.gz" -m
sh: 1: /usr/lib/fsl/5.0/etc/fslconf/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
# ______________________________________________________________________________
> options(fsl.path=". /etc/fsl/5.0")
> fslstats(volume.t2, opts = "-m")
FSLDIR='. /etc/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea37434db2b2.nii.gz" -m
sh: 1: .: Can't open /etc/fsl/5.0/bin/fslstats
character(0)
attr(,"status")
[1] 2
Warning message:
running command 'FSLDIR='. /etc/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea37434db2b2.nii.gz" -m' had status 2
# ______________________________________________________________________________
> options(fsl.path="/usr/share")
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea3722fa05e4.nii.gz" -m
sh: 1: /usr/share/bin/fslstats: not found
Error in system(cmd, intern = TRUE) : error in running command
# ______________________________________________________________________________
> options(fsl.path = NULL)
> fslstats(volume.t2, opts = "-m")
FSLDIR='/usr/share/fsl/5.0'; PATH=${FSLDIR}/bin:${PATH};export PATH FSLDIR; sh "${FSLDIR}/etc/fslconf/fsl.sh"; FSLOUTPUTTYPE=NIFTI_GZ; export FSLOUTPUTTYPE; ${FSLDIR}/bin/fslstats "/tmp/RtmpDMTN3e/filea372e04279.nii.gz" -m
/usr/share/fsl/5.0/bin/fslstats: error while loading shared libraries: libnewimage.so: cannot open shared object file: No such file or directory
Error in system(cmd, intern = TRUE) : error in running command
In addition: Warning message:
In get.fsl() : Setting fsl.path to /usr/share/fsl/5.0
´´´
I found a workaround via an advice by a colleague. He states that in matlab exactly the same error occurs. Usually he uses fsl command line arguments from matlab, but matlab doesn't find the environment variables. So he starts his calls always with the comment you also told me.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/fsl/5.0
For RStudio this basically means that I start a each time from a terminal, where I export the env variable and start rstudio. In short, this works for me:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/fsl/5.0
$ rstudio
I think that it is not super elegant. Also I am not sure, if your proposed solution would work, if I wouldn`t use an RStudio-(packrat-)project. I don't want to mess with the .Rprofile or .Renvironment files for now, but maybe in the meantime you already have a recommendation how and where I can set this, to automate my workaround, since I assume similar problems might occur also to others?
Options:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/fsl/5.0
in your .bash_profile
(have you tried this too? If not, you shoudl) or local .bashrc
(seems to have tried and no change).ld = Sys.getenv("LD_LIBRARY_PATH")
Sys.setenv("LD_LIBRARY_PATH"=paste0(ld, ":/usr/lib/fsl/5.0"))
And try to rerun.
Perfect!
1.
Put export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/fsl/5.0 in your .bash_profile (have you tried this too? If not, you shoudl) or local .bashrc (seems to have tried and no change).
I tried this now, but ... no effect. Yes, I tried .bashrc already before.
2.
You may be able to set it in code:
ld = Sys.getenv("LD_LIBRARY_PATH") Sys.setenv("LD_LIBRARY_PATH"=paste0(ld, ":/usr/lib/fsl/5.0"))
And try to rerun.
This works and for now it is more than ok.
3.
Use .Rprofile or .Renvironment files as that is sometimes the recommendation of R-core.
I didn't try that, but I prefer the other options anyway,
Excellent support! Thanks a lot!
Dear all,
my issue is similar to #2.
However from the terminal fslstats just works:
My feeling is that it is something with the Path in ubuntu (I am on 16.04) and/or the file.path option in R and maybe the automatic add_bin in get.fsl() which is called by fslr::fslstats.
To .bashrc I added:
And in .profile I added to the PATH:
I would be happy about any advice.
Thanks, Malte