Deletions are marked like this. | Additions are marked like this. |
Line 60: | Line 60: |
C compiler: gcc -gfull -O3 -msse2 -mfpmath=sse -Wall -Werror -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -DDarwin -DANSI -I/usr/pubsw/packages/mni/current/include C++ compiler: g++ -gfull -O3 -msse2 -mfpmath=sse -Wall -Werror -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -DDarwin -DANSI -I/usr/pubsw/packages/mni/current/include |
C compiler: gcc -gfull -O3 -msse2 -mfpmath=sse -Wall -Werror -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -DDarwin -DANSI -I/usr/pubsw/packages/mni/current/include C++ compiler: g++ -gfull -O3 -msse2 -mfpmath=sse -Wall -Werror -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -DDarwin -DANSI -I/usr/pubsw/packages/mni/current/include |
Line 63: | Line 63: |
Linker: /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld -dead_strip -L/usr/pubsw/packages/mni/current/lib -L/usr/pubsw/packages/vxl/current/lib -L/usr/pubsw/packages/itk/current/lib/InsightToolkit Libs: /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKAlgorithms.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKCommon.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKNumerics.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKMetaIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKniftiio.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKNrrdIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkpng.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitksys.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitktiff.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkv3p_netlib.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkzlib.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkgdcm.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkopenjpeg.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg8.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg12.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg16.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKDICOMParser.a -lz -lm -ldl -lpthread -lnetcdf -lvolume_io -lminc -lvnl_algo -lvnl -lvcl -lnetlib -lv3p_netlib |
Linker: /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld -dead_strip -L/usr/pubsw/packages/mni/current/lib -L/usr/pubsw/packages/vxl/current/lib -L/usr/pubsw/packages/itk/current/lib/InsightToolkit Libs: /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKAlgorithms.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKCommon.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKNumerics.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKMetaIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKniftiio.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKNrrdIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkpng.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitksys.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitktiff.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkv3p_netlib.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkzlib.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkgdcm.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkopenjpeg.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg8.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg12.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg16.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKDICOMParser.a -lz -lm -ldl -lpthread -lnetcdf -lvolume_io -lminc -lvnl_algo -lvnl -lvcl -lnetlib -lv3p_netlib |
Line 70: | Line 69: |
Line 74: | Line 72: |
The following table lists the packages I had to remove from the Makefile in order to build to completion: ||'''Package''' ||'''Error Message''' ||'''comment''' || ||'''opencl_algorithms''' ||''../config.h:340:1: error: "PTHREAD_CREATE_JOINABLE" redefined'' ||Google || ||'''nmovies''' ||''nmovie.c:47:22: error: X11/Xlib.h: No such file or directory'' ||Solved by adding -I/usr/X11R6/include flag. || ||'''mri_ca_register''' ||''mri_ca_register.c:1256: warning: call to \_\_builtin\_\_\_memmove_chk will always overflow destination buffer'' ||Solved by removing -Werror flag || ||''' mri_robust_register''' ||''ld: framework not found veclib'' ||Solved by replacing "-framework veclib" with "-framework vecLib" || ||'''talairach_avi''' ||''ld: symbol(s) not found for architecture x86_64'' || || ||'''mris_pmake''' ||''../config.h:340:1: error: "PTHREAD_CREATE_JOINABLE" redefined'' ||Google || ||'''GEMS''' ||''kvlAtlasMeshBuilder.cxx:3723: error: ‘isnan’ was not declared in this scope'' ||?? changes C code?? || ||'''fem_elastic''' ||''ld: library not found for -llmpe'' || || ||'''trc''' ||''../fem_elastic/libfem_elastic.a', needed by dmri_trk2trk.'' ||Needs fem_elastic || |
|
Line 75: | Line 84: |
The following table lists the packages I had to remove from the Makefile in order to build to completion: | |
Line 77: | Line 85: |
||'''Package''' ||'''Error Message''' ||'''comment''' || || '''opencl_algorithms''' || ''../config.h:340:1: error: "PTHREAD_CREATE_JOINABLE" redefined'' || Google || || '''nmovies''' || ''nmovie.c:47:22: error: X11/Xlib.h: No such file or directory'' || Solved by adding -I/usr/X11R6/include flag. || || '''mri_ca_register''' || ''mri_ca_register.c:1256: warning: call to \_\_builtin\_\_\_memmove_chk will always overflow destination buffer'' || Solved by removing -Werror flag || || ''' mri_robust_register''' || ''ld: framework not found veclib'' || Solved by replacing "-framework veclib" with "-framework vecLib" || || '''talairach_avi''' || ''ld: symbol(s) not found for architecture x86_64'' || || || '''mris_pmake''' || ''../config.h:340:1: error: "PTHREAD_CREATE_JOINABLE" redefined'' || Google || || '''GEMS''' ||''kvlAtlasMeshBuilder.cxx:3723: error: ‘isnan’ was not declared in this scope'' ||?? changes C code?? || || '''fem_elastic''' ||''ld: library not found for -llmpe'' || || || '''trc''' || ''../fem_elastic/libfem_elastic.a', needed by dmri_trk2trk.'' || Needs fem_elastic || |
|
Line 91: | Line 90: |
Line 96: | Line 94: |
. | . |
Line 102: | Line 100: |
> /usr/local/freesurfer/stable/bin/unpacksdcmdir | > /usr/local/freesurfer/stable/bin/unpacksdcmdir |
Line 104: | Line 102: |
>> /usr/local/freesurfer/stable/bin/unpacksdcmdir | >> /usr/local/freesurfer/stable/bin/unpacksdcmdir |
Line 106: | Line 104: |
>> /usr/local/freesurfer/stable/bin/unpacksdcmdir | >> /usr/local/freesurfer/stable/bin/unpacksdcmdir |
Line 110: | Line 108: |
> /usr/local/freesurfer/stable/bin/fsfget | > /usr/local/freesurfer/stable/bin/fsfget |
Line 112: | Line 110: |
>> /usr/local/freesurfer/stable/bin/fsfget | >> /usr/local/freesurfer/stable/bin/fsfget |
Line 114: | Line 112: |
>> /usr/local/freesurfer/stable/bin/fsfget | >> /usr/local/freesurfer/stable/bin/fsfget |
Line 126: | Line 124: |
'''fsrintHelp''' is prone to segmentation faults. By commenting out its usage in the Make file of the '''scripts''' and '''mri_cvs_register''' packages, I am able to get '''make_install''' to run to completion. | '''fsrintHelp''' is prone to segmentation faults. By commenting out its usage in the Make file of the '''scripts''' and '''mri_cvs_register''' packages, I am able to get '''make_install''' to run to completion. Testing a run of recon-all over the weekend. |
Building Freesurfer on Mountain Lion
This document is an account of my attempt to make Hima a daily build platform for building a 64bit version of Freesurfer running on Mac OSX Mountain Lion.
Download the source code
cd /space/freesurfer/build/hima/stable/dev cvs checkout -P -r stable5 dev
./setup_configure
./setup_configure rm -rf autom4te.cache glibtoolize --force glibtoolize: Command not found.
This was fixed by adding to my PATH:
export PATH=$PATH:/usr/pubsw/packages/autotools/bin/
Trying ./setup_configure again revealed more issues:
./setup_configure rm -rf autom4te.cache glibtoolize --force You should add the contents of `/usr/pubsw/packages/autotools/share/aclocal/libtool.m4' to `aclocal.m4'. Putting files in AC_CONFIG_AUX_DIR, `config'. aclocal autom4te: need GNU m4 1.4 or later: /usr/bin/gm4 aclocal: autom4te failed with exit status: 1
This was fixed by installing XCode 4.5.1 Command Line Tools:
Completes!
./configure
./configure --prefix=/usr/local/freesurfer/stable --disable-all-apps . . . configure: error: FATAL: A Fortran 77 compiler is required!
Installed gfortran.
Trying again:
./configure --prefix=/usr/local/freesurfer/stable --disable-all-apps . . . FreeSurfer is now configured for i386-apple-darwin12.2.0 Source directory: . Build directory: /Users/Shared/nightly_build/stable/dev Install directory: /usr/local/freesurfer/dev C compiler: gcc -gfull -O3 -msse2 -mfpmath=sse -Wall -Werror -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -DDarwin -DANSI -I/usr/pubsw/packages/mni/current/include C++ compiler: g++ -gfull -O3 -msse2 -mfpmath=sse -Wall -Werror -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -DDarwin -DANSI -I/usr/pubsw/packages/mni/current/include Fortran: gfortran -g -O2 Linker: /usr/llvm-gcc-4.2/libexec/gcc/i686-apple-darwin11/4.2.1/ld -dead_strip -L/usr/pubsw/packages/mni/current/lib -L/usr/pubsw/packages/vxl/current/lib -L/usr/pubsw/packages/itk/current/lib/InsightToolkit Libs: /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKAlgorithms.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKCommon.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKNumerics.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKMetaIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKniftiio.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKNrrdIO.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkpng.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitksys.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitktiff.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkv3p_netlib.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkzlib.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkgdcm.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkopenjpeg.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg8.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg12.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libitkjpeg16.a /usr/pubsw/packages/itk/current/lib/InsightToolkit/libITKDICOMParser.a -lz -lm -ldl -lpthread -lnetcdf -lvolume_io -lminc -lvnl_algo -lvnl -lvcl -lnetlib -lv3p_netlib
Completes!
make
make -j9
The following table lists the packages I had to remove from the Makefile in order to build to completion:
Package |
Error Message |
comment |
opencl_algorithms |
../config.h:340:1: error: "PTHREAD_CREATE_JOINABLE" redefined |
|
nmovies |
nmovie.c:47:22: error: X11/Xlib.h: No such file or directory |
Solved by adding -I/usr/X11R6/include flag. |
mri_ca_register |
mri_ca_register.c:1256: warning: call to \_\_builtin\_\_\_memmove_chk will always overflow destination buffer |
Solved by removing -Werror flag |
mri_robust_register |
ld: framework not found veclib |
Solved by replacing "-framework veclib" with "-framework vecLib" |
talairach_avi |
ld: symbol(s) not found for architecture x86_64 |
|
mris_pmake |
../config.h:340:1: error: "PTHREAD_CREATE_JOINABLE" redefined |
|
GEMS |
kvlAtlasMeshBuilder.cxx:3723: error: ‘isnan’ was not declared in this scope |
?? changes C code?? |
fem_elastic |
ld: library not found for -llmpe |
|
trc |
../fem_elastic/libfem_elastic.a', needed by dmri_trk2trk. |
Needs fem_elastic |
With the packages above commented out of the Makefile, make runs to completion.
make install
Make install errors out with a segmentation fault.
make install . . . make install-exec-hook cp ./unpacksdcmdir /usr/local/freesurfer/stable/bin/unpacksdcmdir.tcl echo "#!/bin/tcsh -ef" \ > /usr/local/freesurfer/stable/bin/unpacksdcmdir echo "source \$FREESURFER_HOME/bin/tcl_setup" \ >> /usr/local/freesurfer/stable/bin/unpacksdcmdir echo "\$FREESURFER_HOME/lib/tcltktixblt/bin/tclsh8.4 \$FREESURFER_HOME/bin/unpacksdcmdir.tcl \$argv" \ >> /usr/local/freesurfer/stable/bin/unpacksdcmdir chmod a+x /usr/local/freesurfer/stable/bin/unpacksdcmdir cp ./fsfget /usr/local/freesurfer/stable/bin/fsfget.tcl echo "#!/bin/tcsh -ef" \ > /usr/local/freesurfer/stable/bin/fsfget echo "source \$FREESURFER_HOME/bin/tcl_setup" \ >> /usr/local/freesurfer/stable/bin/fsfget echo "\$FREESURFER_HOME/lib/tcltktixblt/bin/tclsh8.4 \$FREESURFER_HOME/bin/fsfget.tcl \$argv" \ >> /usr/local/freesurfer/stable/bin/fsfget chmod a+x /usr/local/freesurfer/stable/bin/fsfget ../utils/fsPrintHelp ./bbregister.help.xml >> /usr/local/freesurfer/stable/bin/bbregister /bin/sh: line 1: 17021 Segmentation fault: 11 ../utils/fsPrintHelp ./bbregister.help.xml >> /usr/local/freesurfer/stable/bin/bbregister make[3]: *** [install-exec-hook] Error 139 make[2]: *** [install-exec-am] Error 2 make[1]: *** [install-am] Error 2 make: *** [install-recursive] Error 1
Uggghhh!
fsrintHelp is prone to segmentation faults. By commenting out its usage in the Make file of the scripts and mri_cvs_register packages, I am able to get make_install to run to completion. Testing a run of recon-all over the weekend.