Dear All,
With the help of the people at freesurfer I managed to get freesurfer working on the newly available distribution of Fedora Core 2. This mail covers an account of how we managed to get things working, so it is less informative to people who are not planning to use Fedora Core 2.
My system hardware: CPU: Dual Intel Xeon 2.4 Ghz (HT disabled) Video: Nvidia Geforce 4 TI 4600 RAM: 2 GB
Required Software: Fedora core 2 -> can be downloaded here http://fedora.redhat.com/download/mirrors.html Fedora kernel compiled with 8 stacks -> http://www.linuxant.com/driverloader/wlan/full/downloads-fc2-kernel-i686.php Nvidia Linux driver v53.16 -> http://www.nvidia.com/object/linux.html Freesurfer -> version of February 18th 2004 http://surfer.nmr.mgh.harvard.edu/download.html TCL/TK 8.3.5 -> sources http://www.tcl.tk/software/tcltk/downloadnow83.html
Overview of the installation: Step 0: Download all the required packages Step 1: Install Fedora Step 2: Install Fedora kernel compiled with 8 stacks (required for compatibility with the Nvidia driver) Step 3: Install Nvidia driver Step 4: Install Freesurfer Step 5: Compile and install TCL/TK Step 6: Let's play with Freesurfer
Installation details:
Step 0: Make sure to have all the packages before starting the installation. If you already have Fedora Core running on your system, download the remaining packages and start at Step 2.
Step 1: Installation instructions for downloading and installing Fedora Core 2 are covered on the fedora project website. (www.fedora.redhat.com http://www.fedora.redhat.com/ ). Make sure to use the tc or c shell. You can set your default shell in /etc/passwd. Fedora Core 2 runs bash by default.
Step 2: Download the kernel compiled with 8 stacks or compile it yourself. Both the normal and smp (multi processor) core are available from the website above. Installation of the rpm is simple. First unzip and then
rpm -i kernel-smp-2.6.6-1.427.8kstacks.i686.rpm
Next, reboot into the 8kstacks kernel and start with runlevel 3. You can set the default runlevel in /etc/inittab.
Step 3: Installation of the Nvidia driver can only be performed from the command line. The X server should not be running. Installation instructions for downloading and installing the driver can be found here ftp://download.nvidia.com/XFree86/Linux-x86/1.0-5336/README.
Once installed, check to see if your OPENGL GLX driver is working properly. Type at the command line:
glxinfo
Check that direct rendering is set to YES
Next, type
glxgears
Can you see the gears rotating? How many frames do you get?
If this is all working, you are ready for the next step.
Step 4: Install Freesurfer. Installation instructions for downloading and installing Freesurfer can be found here ftp://surfer.nmr.mgh.harvard.edu/pub/docs/INSTALL. Make sure to correctly setup the shell and all variables, as is outlined in the installation documentation. To check if tkmedit and tksurfer will make proper use of the nvidia driver, type
ldd /usr/local/bin/freesurfer/bin/Linux/tkmedit
and also
ldd /usr/local/bin/freesurfer/bin/Linux/tksurfer
Note the files being used for libGL and libGLcore -- if they are something other than the NVIDIA libraries, then you will need to either remove the libraries that are getting in the way, or adjust your ld search path. (See the Nvidia driver installation manual.)
Step 5: Fedora Core 2 comes with the latest release of TCL/TK (=8.4.X). Since tkmedit and tk surfer are compiled with the 8.3.X version, an incompatibility exists and tkmedit and tksurfer will not start properly. In order to overcome this problem you will have to compile TCL/TK 8.3.X for your system and point tkmedit and tksurfer to the right version. You can learn how to do this here http://www.tcl.tk/doc/howto/compile.html. Since there are no 8.3.X binaries compiled for Fedora Core 2, I see no other option than compiling your own. This is relatively simple by typing the commands below in the /usr/src/tcl8.3.5/unix source path (or wherever you unpacked them). The same goes for tk8.3.X
./configure make make test make install
Finally I created a symlink in /lib pointing to /usr/lib/tcl8.3.x by typing
ln -s -i /usr/lib/tcl8.3.x/libtcl8.3.so.0 /lib/ libtcl8.3.so.0
and the same for tk
ln -s -I /usr/lib/tk8.3.x/libtk8.3.so.0 /lib/libtk8.3.so.0
Step 6: Happy playing.
drs. Niels M. van Strien Vrije Universiteit Medisch Centrum Department of Anatomy, room MF-G102 b Van der Boechorststraat 7 P.O. Box 7057 1007 MB Amsterdam The Netherlands
e-mail: n.vanstrien@vumc.nl phone: +31 (20) 4448047 fax: +31 (20)
freesurfer@nmr.mgh.harvard.edu