ubuntu 14.04配置matconvnet(CPU)错误解决办法

来源:互联网 发布:js 原生bind方法 编辑:程序博客网 时间:2024/05/29 18:01

/matlab/mex/.build/bits/impl/tinythread.o: undefined reference to symbol ‘pthread_create@@GLIBC_2.2.5’//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

1.在vl_compilenn.m中修改
% Compiler flags

flags.cc = {} ;flags.link = {} ;

为:

 flags.link = {'-lpthread'};

2.修改Makefile

MEXFLAGS_LD := $(MEXFLAGS) \CLIBS='$$CLIBS $(LDFLAGS)' \CXXLIBS='$$CXXLIBS $(LDFLAGS)' \LDOPTIMFLAGS='$$LDOPTIMFLAGS   $(LDOPTIMFLAGS)'

还有,

flags.mexlink = horzcat(flags.cc, flags.link, ...{'-largeArrayDims'}, ...{['LDFLAGS=\$LDFLAGS ', strjoin(flags.linkpass)]}, ...{['CLIBS=\$CLIBS ', strjoin(flags.linklibs)]}, ...{['CXXLIBS=\$CXXLIBS ', strjoin(flags.linklibs)]}, ...{['LINKLIBS=\$LINKLIBS ', strjoin(flags.linklibs)]}) ;

/usr/bin/ld:/home/jere/Documents/MATLAB/matconvnet-1.0-beta20/matlab/mex/.build/vl_nnconv.o: relocation R_X86_64_32S against `.rodata’ can not be used when making a shared object; recompile with -fPIC/home/jere/Documents/MATLAB/matconvnet-1.0-beta20/matlab/mex/.build/vl_nnconv.o: error adding symbols: Bad value collect2: error: ld returned 1 exit status

在vl_compilenn.m中

flags.ccoptim = {'-fPIC'} ;
原创粉丝点击