Hello Amal,
The error that is /likely/ to be causing the problem you are having is
reported very early in the screen shot you sent. Notice that about 10
lines from the top of the screen shot there is a line that reads:
mris_make_surfaces: error while loading shared libraries:
libnetcdf.so.6: cannot open shared object file: No such file or
directory
Unfortunately, the mris_make_surfaces binary that is part of FreeSurfer
v5.3.0-HCP is linked to use a very specific version of the libnetcdf.so
shared library, libnetcdf.so.6. But that version of the library is not
distributed with Ubuntu 16.04. In fact, you may not have any version of
libnetcdf.so installed on your machine.
Try the following:
1. Get the latest netcdf libraries and interfaces installed on your system.
$ dpkg -l | grep netcdf
If this returns no results, then no netcdf libraries or interfaces
are installed.
If it returns only a line that ends with "Interface for scientific
data access to large binary data", then the interface files are
installed, but not an actual implementation of the interface.
In either of these cases, try the following command to install the
latest libnetdcf interface and development library:
$ sudo apt install libnetcdf-dev
Once that installation succeeds, you should issue another dpkg
command like above and see results indicating that both the
interface files and the development library are installed.
$ dpkg -l | grep netcdf
ii libnetcdf-dev 1:4.4.0-2 amd64 creation, access, and
sharing of scientific data
ii libnetcdf11 1:4.4.0-2 amd64 Interface for scientific
data access to large binary data
This indicates that you have the latest copies installed.
You should be able to find a copy of libnetcdf.so.11 in your
/usr/lib/x86_64_linux_gnu directory now. A command like:
$ sudo ls -l /usr/lib/x86_64-linux-gnu/libnetcdf*
should show /usr/lib/x86_64-linux-gnu/libnetcdf.so.11 linked to
libnetcdf.so.11.0.0.
2. Install a 64-bit copy of version 6 of the libnetcdf.so library
Visit https://launchpad.net/ubuntu/precise/amd64/libnetcdf6/1:4.1.1-6
Under "Downloadable files" on that page, select the link to download
libnetcdf6_4.1.1-6_amd64.deb. (You may be warned that this type of
file can harm your computer. Keep/download the file anyhow. Do not
automatically open the file, just save it.)
Find the downloaded libnetcdf6_4.1.1-6_amd64.deb file.
You should not do a simple installation using the
libnetcdf6_4.1.1-6_amd64.deb file and the Ubuntu Software
Installation application. Instead, you should open the deb file with
the Ubuntu Archive Manager (right click on the file in your file
manager and select Open With --> Archive Manager). The archive will
contain 3 files: control.tar.gz, data.tar.gz, and debian-binary.
Extract the data.tar.gz file, by selecting it in the Archive Manager
and dragging it to a temporary directory in your file manager.
In my case the libnetcdf6_4.1.1-6_amd64.deb file was put in my
${HOME}/Downloads directory, and I put the data.tar.gz file in the
${HOME}/Downloads/tmp directory.
Then you'll need to extract out the contents of the data.tar.gz file
to a directory that you will add to your LD_LIBRARY_PATH environment
variable so that libnetcdf.so.6 is found when mris_make_surfaces is
run. Use commands similar to the following:
$ cd
$ mkdir shared_libraries
$ cd shared_libraries
$ tar xvf ${HOME}/Downloads/tmp/data.tar.gz
This should create a usr subdirectory below your shared_libraries
subdirectory and if you look in ${HOME}/shared_libraries/usr/lib you
should see files like:
$ cd
$ cd shared_libraries/usr/lib
$ ls
libcf.so.0 libnetcdf_c++.so.5 libnetcdff.so.5
libnetcdf.so.6 netcdf.pc
libcf.so.0.0.0 libnetcdf_c++.so.5.0.0 libnetcdff.so.5.0.0
libnetcdf.so.6.0.0
$
Next, you'll need to set your LD_LIBRARY_PATH environment variable
before running any script that uses mris_make_surfaces so that when
looking for shared libraries it will look in your
${HOME}/shared_libraries/usr/lib directory before looking in the
remaining "standard" locations.
$ export LD_LIBRARY_PATH=${HOME}/shared_libraries/usr/lib
Note: If your LD_LIBRARY_PATH already has some value, you'll want to
use a command like:
$ export
LD_LIBRARY_PATH=${HOME}/shared_libraries/usr/lib:${LD_LIBRARY_PATH}
instead of the earlier command.
Note: You only want to use version 6 of the libnetcdf library when
using FreeSurfer v5.3.0-HCP. You don't want to use it for any other
software on your system that happens to use libnetcdf because that
other software may depend upon behavior in later versions of the
libnetcdf library. That is why it is safer to not allow version 6 to
be installed in /usr/lib where it might be found by other software
using the libnetcdf library. Basically, you don't want to
contaminate your standard library locations with old libraries.
That is also why you should only set the LD_LIBRARY_PATH environment
variable as shown above when you are running FreeSurfer v5.3.0-HCP.
Once you've installed version 6 of the libnetcdf library in a directory
and made sure LD_LIBRARY_PATH points to that directory, try running the
FreeSurferPipeline.sh script again.
Lastly, in the future please ask questions like this to the HCP-Users
mailing list. That way other people can either benefit from the answer
if it is correct or correct my answer if I've made mistakes. I've gone
ahead and sent this response to that list and to your email address too
because I don't know if you are subscribed to the list.
You can subscribe to the HCP-Users mailing list by visiting
https://www.humanconnectome.org/contact-us. There is a place to join our
two email lists, HCP-Announce and HCP-Users, on the right hand side of
that page.
Hope that's helpful,
Tim
On 2018-07-12 04:51 PM, Boukhdhir Amal wrote:
Hello Tim,
After running the PreFreesurferHCP pipeline in the HCP connectome
course and reproducing that on my computer successfully,
I am getting thgis issue with the Freesurfer pipeline (as a second
step in the structural pipeline).
I attached the reconn-all.log file and a screenshot of the error.
The freesurfer version I am using
is:*freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0-HCP*
*
*
These are more informations related to the distribution I am using:
*
*
*
aboukhdhir@thuya:/mnt/home_sq/aboukhdhir$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
*
*
*
I have also tried the same pipeline on 2 other computers with
different RAMs and I am getting the same error.
*
*
Do you please have an idea why I am getting this error and how can I
solve it ?
Best,
Amal
--
/Timothy B. Brown
Business & Technology Application Analyst III
Pipeline Developer (Connectome Coordination Facility)
tbbrown(at)wustl.edu
/
------------------------------------------------------------------------
The material in this message is private and may contain Protected
Healthcare Information (PHI). If you are not the intended recipient, be
advised that any unauthorized use, disclosure, copying or the taking of
any action in reliance on the contents of this information is strictly
prohibited. If you have received this email in error, please immediately
notify the sender via telephone or return mail.
_______________________________________________
HCP-Users mailing list
[email protected]
http://lists.humanconnectome.org/mailman/listinfo/hcp-users