Matlab r2012a 학생용 버전에서 spm12 mex 파일 컴파일

Matlab r2012a 학생용 버전에서 spm12 mex 파일 컴파일

2012년에 Matlab Student Edition(r2012a, 32비트)을 구입하여 이제 Ubuntu 14.04.2 LTS에 설치했습니다. 여태까지는 그런대로 잘됐다.

그러나 기능적 신경영상(및 기타) 데이터를 분석하기 위한 소프트웨어인 SPM12를 설치하고 싶습니다. 이를 위해서는 액세스 가능한 설치 지침에 따라 특정 mex 파일을 컴파일해야 합니다.여기, 다음과 같은 몇 가지 명령을 실행해야 합니다

cd /home/login/spm12/src
make distclean
make && make install
make external-distclean
make external && make external-install

그러나 (분명히) 드라이브를 변경하고 make distclean이 문제 없이 실행되는 것처럼 보이지만 make && make install을 실행할 때 다음과 같이 몇 가지 경고가 표시됩니다.

mex -O -largeArrayDims -c spm_vol_utils.c -DSPM_UNSIGNED_CHAR 

Warning: You are using gcc version "4.8.4-2ubuntu1~14.04)".  The version
     currently supported with MEX is "4.4.6".
     For a list of currently supported compilers see: 
     http://www.mathworks.com/support/compilers/current_release/

mv -f spm_vol_utils.o  utils_uchar.mexa64.o

이러한 경고 중 약 15개가 표시됩니다(분명히 컴파일 중인 다양한 mex 파일의 경우). 이 파일을 컴파일하려면 gcc 버전 4.4.6을 사용해야 하는 것 같지만 온라인으로 도움말을 검색해도 성공하지 못했고 sudo apt-get install gcc-4.4를 실행하지도 않았습니다.

이 파일을 컴파일하는 방법에 대한 제안 사항이 있습니까?

답변1

좋습니다. 5분만 더 검색하면 답을 찾는 데 도움이 될 것입니다. 여기gcc를 이전 버전으로 설정하는 방법에 대한 지침입니다.

답변2

먼저, 파일이 컴파일되지 않았습니까? 경고는 일반적으로 바로 그것입니다(오류가 아닌 경고).

gcc-4.4.x로 컴파일하고 싶다면 Ubuntu 14.04 리포지토리에서 패키지로 계속 사용할 수 있습니다 gcc-4.4(적어도 14.04.2에서는 4.4.6이 아닌 4.4.7 마이너 버전인 것처럼 보이지만). 소프트웨어 센터(또는 설치된 경우 Synaptic Package Manager)를 통해 또는 다음을 사용하여 명령줄에서 설치할 수 있어야 합니다.

sudo apt-get install gcc-4.4

시스템의 기본 컴파일러로 만들기 위해 바이너리를 심볼릭 링크하지 않는 한(나는아니요mexopts.sh권장), gcc-4.4를 직접 가리키도록 파일을 수정해야 할 수도 있습니다. 즉,

CC='gcc-4.4'

파일 에 필요한 경우 g++, g++-4.4CXX='g++-4.4'.mexopts.sh

관련 정보