본문 바로가기
IT/Odroid

ARM 계열 MXNet 설치 오류(ps-lite 오류)

by SH_SH 2017. 6. 16.



ARM CPU를 사용하는 보드에서 MXNet을 컴파일하려고 하면 ps-lite를 컴파일하는 과정에서 오류가 발생합니다.


ps-lite(https://github.com/dmlc/ps-lite)는 라이트웨이트 파라미터 서버 프레임워크인데 기본 컴파일 설정이 데스크톱, 서버를 대상으로(x86/x64) 되어있기 때문에 ARM에서는 호환이 되지 않는 옵션이 포함되어있습니다.


발생하는 에러는 아래와 같은 -msse2 인식 불가인데 해당 부분을 수정해주어야 컴파일이 정상적으로 진행됩니다.


g++ -I./src -I./include -I/home/odroid/mxnet/deps/include -std=c++0x -MM -MT build/customer.o src/customer.cc >build/customer.d

g++ -std=c++11 -msse2 -fPIC -O3 -ggdb -Wall -finline-functions -I./src -I./include -I/home/odroid/mxnet/deps/include  -c src/customer.cc -o build/customer.o

g++: error: unrecognized command line option ‘-msse2’

Makefile:41: recipe for target 'build/customer.o' failed

make[1]: *** [build/customer.o] Error 1


ps-lite는 MXNet 루트 디렉터리에 존재하고, 수정해야 할 파일은 "mxnet/ps-lite/Makefile" 입니다.


nano나 vi를 통해 해당 파일을 열 면 CFLAGS가 아래와 같이 작성되어있는데, -msse2 를 지우고 -mfpu=neon으로 수정합니다(neon이 없는 코어라면 아예 삭제를 하면 됩니다.)


혹시 모르니 줄을 복사한 다음 #으로 주석처리 해놓는 것을 추천합니다.


CFLAGS = -std=c++11 -msse2 -fPIC -O3 -ggdb -Wall -finline-functions $(INCPATH) $(ADD_CFLAGS)


▼▼▼


CFLAGS = -std=c++11 -mfpu=neon -fPIC -O3 -ggdb -Wall -finline-functions $(INCPATH) $(ADD_CFLAGS)



저장을 하고 빌드를 하면 정상적으로 빌드가 진행됩니다.

'IT > Odroid' 카테고리의 다른 글

Odroid-XU4 리눅스 16.04 설치  (0) 2017.02.27
Odroid-XU4 스펙  (0) 2017.02.27