ECCV14 RCCN 코드 빌드 중 liblinear 라이브러리가 빌드되지 않는 문제가 생겼다.


matlab에서 rcnn_build(); 수행 시

tron.cpp:(.text+0x223): undefined reference to 'dnrm2_' 류의 에러가 많이 발생했다.


이는 blas 에 속한 함수들을 static library로 링크하지 못해 생긴 문제로 rcnn_build() 대신 수동으로 make 했다.


eccv14-code/rcnn/external/liblinear-1.94/matlab/Makefile 에서 아래 부분을 수정한다.


3번 줄의 MATLABDIR 을 matlab 경로로 바꿔준다.

MATLABDIR ?= /usr/local/MATLAB/R2014b


10번 줄의 MEX_OPTION을 아래와 같이 수정한다.

MEX_OPTION = CC\=$(CXX) CXX\=$(CXX) CFLAGS\="$(CFLAGS)" CXXFLAGS\="$(CFLAGS)"


33번 줄의 뒤에 -outdir .. -output liblinear_train 을 추가하여 아래와 같이 만든다.

$(MEX) $(MEX_OPTION) train.c ../tron.o ../linear.o linear_model_matlab.o ../blas/blas.a -outdir .. -output liblinear_train


make 하면 rcnn/external/liblinear-1.94 디렉토리에 liblinear_train.mex64 파일이 생성된다.



+ Recent posts