seems something was changed in master branch since my PR, so i'll working on it
to fix.
i cloned master branch and want to compile the predict part on iOS, i followed
the instructions of the document installed openblas and all 3rd party libs,
type `make` in amalgamation directory, and got the following errors:
```
ar rcs libmxnet_predict.a mxnet_predict-all.o
c++ -std=c++11 -Wno-unknown-pragmas -Wall -DMSHADOW_USE_CBLAS=1
-DDISABLE_OPENMP=1 -DMSHADOW_USE_CUDA=0 -DMSHADOW_USE_MKL=0
-DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DDMLC_LOG_STACK_TRACE=0
-DMSHADOW_FORCE_STREAM -DMXNET_USE_OPENCV=0 -DMXNET_PREDICT_ONLY=1
-DMSHADOW_USE_F16C=0 -I/usr/local/opt/openblas
-I/usr/local/opt/openblas/include -shared -o `pwd`/../lib/libmxnet_predict.so
mxnet_predict-all.o -L/usr/local/opt/openblas -L/usr/local/opt/openblas/lib
-lopenblas
Undefined symbols for architecture x86_64:
"dmlc::io::FileSystem::ListDirectoryRecursive(dmlc::io::URI const&,
std::__1::vector<dmlc::io::FileInfo, std::__1::allocator<dmlc::io::FileInfo>
>*)", referenced from:
vtable for dmlc::io::LocalFileSystem in mxnet_predict-all.o
"mxnet::imperative::RunGraph(bool, nnvm::IndexedGraph const&,
std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*> >,
unsigned long, unsigned long, std::__1::vector<mxnet::OpReqType,
std::__1::allocator<mxnet::OpReqType> >&&, std::__1::vector<unsigned int,
std::__1::allocator<unsigned int> >&&, std::__1::vector<mxnet::OpStatePtr,
std::__1::allocator<mxnet::OpStatePtr> >*,
std::__1::vector<mxnet::DispatchMode, std::__1::allocator<mxnet::DispatchMode>
> const&, bool)", referenced from:
mxnet::Imperative::Backward(std::__1::vector<mxnet::NDArray*,
std::__1::allocator<mxnet::NDArray*> > const&,
std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*> >
const&, std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*>
> const&, bool, bool, bool) in mxnet_predict-all.o
mxnet::CachedOp::DynamicForward(mxnet::Context const&,
std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*> >
const&, std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*>
> const&) in mxnet_predict-all.o
mxnet::CachedOp::DynamicBackward(bool, mxnet::OpStatePtr const&,
std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*> >
const&, std::__1::vector<mxnet::OpReqType,
std::__1::allocator<mxnet::OpReqType> > const&,
std::__1::vector<mxnet::NDArray*, std::__1::allocator<mxnet::NDArray*> >
const&) in mxnet_predict-all.o
"mxnet::on_exit_api()", referenced from:
_MXPredCreatePartialOut in mxnet_predict-all.o
_MXPredReshape in mxnet_predict-all.o
_MXPredGetOutputShape in mxnet_predict-all.o
_MXPredSetInput in mxnet_predict-all.o
_MXPredForward in mxnet_predict-all.o
_MXPredPartialForward in mxnet_predict-all.o
_MXPredGetOutput in mxnet_predict-all.o
...
"mxnet::on_enter_api(char const*)", referenced from:
_MXPredCreatePartialOut in mxnet_predict-all.o
_MXPredReshape in mxnet_predict-all.o
_MXPredGetOutputShape in mxnet_predict-all.o
_MXPredSetInput in mxnet_predict-all.o
_MXPredForward in mxnet_predict-all.o
_MXPredPartialForward in mxnet_predict-all.o
_MXPredGetOutput in mxnet_predict-all.o
...
"mxnet::CutGraphInputs(std::__1::vector<nnvm::NodeEntry*,
std::__1::allocator<nnvm::NodeEntry*> > const&, bool,
std::__1::vector<nnvm::NodeEntry, std::__1::allocator<nnvm::NodeEntry> >*)",
referenced from:
_MXSymbolCutSubgraph in mxnet_predict-all.o
"mxnet::GetInputSymbols(nnvm::Symbol const&)", referenced from:
_MXSymbolGetInputSymbols in mxnet_predict-all.o
"mxnet::exec::InferShape(nnvm::Graph&&, std::__1::vector<nnvm::TShape,
std::__1::allocator<nnvm::TShape> >&&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced
from:
mxnet::imperative::CheckAndInferShape(nnvm::Graph*,
std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> >&&, bool,
std::__1::pair<unsigned int, unsigned int>, std::__1::pair<unsigned int,
unsigned int>) in mxnet_predict-all.o
mxnet::exec::GraphExecutor::Init(nnvm::Symbol, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&,
std::__1::vector<mxnet::OpReqType, std::__1::allocator<mxnet::OpReqType> >
const&, std::__1::vector<mxnet::NDArray, std::__1::allocator<mxnet::NDArray> >
const&, mxnet::Executor*, std::__1::unordered_map<nnvm::NodeEntry,
mxnet::NDArray, nnvm::NodeEntryHash, nnvm::NodeEntryEqual,
std::__1::allocator<std::__1::pair<nnvm::NodeEntry const, mxnet::NDArray> > >
const&) in mxnet_predict-all.
o
mxnet::exec::GraphExecutor::Init(nnvm::Symbol, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, nnvm::TShape,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, st
d::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, nnvm::TShape> >
> const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, int,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >
const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, int,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::all
ocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >
const&, std::__1::vector<mxnet::OpReqType,
std::__1::allocator<mxnet::OpReqType> > const&,
std::__1::unordered_set<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, mxnet::NDAr
ray, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::NDArray>
> >*, mxnet::Executor*, std::__1::unordered_map<nnvm::NodeEntry,
mxnet::NDArray, nnvm::NodeEntryHash, nnvm::NodeEntryEqual,
std::__1::allocator<std::__1::pair<nnvm::NodeEntry const, mxnet::NDArray> > >
const&) in mxnet_predict-all.o
mxnet::exec::GraphExecutor::Reshape(bool, bool, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, nnvm::TShape,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, nnvm::TShape> >
> const&, std::__1::vector<mxnet::NDArray, std::__1::allocator<
mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*) in mxnet_predict-all.o
_MXPredCreatePartialOut in mxnet_predict-all.o
_MXPredReshape in mxnet_predict-all.o
_MXSymbolInferShape in mxnet_predict-all.o
...
"mxnet::exec::InferStorageType(nnvm::Graph&&, std::__1::vector<int,
std::__1::allocator<int> >&&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced
from:
mxnet::imperative::CheckAndInferStorageType(nnvm::Graph*,
std::__1::vector<int, std::__1::allocator<int> >&&, std::__1::vector<int,
std::__1::allocator<int> >&&, bool, std::__1::pair<unsigned int, unsigned int>,
std::__1::pair<unsigned int, unsigned int>) in mxnet_predict-all.o
mxnet::exec::GraphExecutor::Init(nnvm::Symbol, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&,
std::__1::vector<mxnet::OpReqType, std::__1::allocator<mxnet::OpReqType> >
const&, std::__1::vector<mxnet::NDArray, std::__1::allocator<mxnet::NDArray> >
const&, mxnet::Executor*, std::__1::unordered_map<nnvm::NodeEntry,
mxnet::NDArray, nnvm::NodeEntryHash, nnvm::NodeEntryEqual,
std::__1::allocator<std::__1::pair<nnvm::NodeEntry const, mxnet::NDArray> > >
const&) in mxnet_predict-all.
o
mxnet::exec::GraphExecutor::Init(nnvm::Symbol, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, nnvm::TShape,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, st
d::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, nnvm::TShape> >
> const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, int,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >
const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, int,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::all
ocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >
const&, std::__1::vector<mxnet::OpReqType,
std::__1::allocator<mxnet::OpReqType> > const&,
std::__1::unordered_set<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, mxnet::NDAr
ray, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::NDArray>
> >*, mxnet::Executor*, std::__1::unordered_map<nnvm::NodeEntry,
mxnet::NDArray, nnvm::NodeEntryHash, nnvm::NodeEntryEqual,
std::__1::allocator<std::__1::pair<nnvm::NodeEntry const, mxnet::NDArray> > >
const&) in mxnet_predict-all.o
mxnet::exec::InferForwardAttrs(nnvm::Graph,
std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> >,
std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<int,
std::__1::allocator<int> >, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&) in mxnet_predict-all.o
"mxnet::exec::InferType(nnvm::Graph&&, std::__1::vector<int,
std::__1::allocator<int> >&&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced
from:
mxnet::imperative::CheckAndInferType(nnvm::Graph*, std::__1::vector<int,
std::__1::allocator<int> >&&, bool, std::__1::pair<unsigned int, unsigned int>,
std::__1::pair<unsigned int, unsigned int>) in mxnet_predict-all.o
mxnet::exec::GraphExecutor::Init(nnvm::Symbol, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&,
std::__1::vector<mxnet::OpReqType, std::__1::allocator<mxnet::OpReqType> >
const&, std::__1::vector<mxnet::NDArray, std::__1::allocator<mxnet::NDArray> >
const&, mxnet::Executor*, std::__1::unordered_map<nnvm::NodeEntry,
mxnet::NDArray, nnvm::NodeEntryHash, nnvm::NodeEntryEqual,
std::__1::allocator<std::__1::pair<nnvm::NodeEntry const, mxnet::NDArray> > >
const&) in mxnet_predict-all.
o
mxnet::exec::GraphExecutor::Init(nnvm::Symbol, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, nnvm::TShape,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, st
d::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, nnvm::TShape> >
> const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, int,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >
const&, std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, int,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::all
ocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, int> > >
const&, std::__1::vector<mxnet::OpReqType,
std::__1::allocator<mxnet::OpReqType> > const&,
std::__1::unordered_set<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> >*,
std::__1::unordered_map<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >, mxnet::NDAr
ray, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >, std::__1::equal_to<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::NDArray>
> >*, mxnet::Executor*, std::__1::unordered_map<nnvm::NodeEntry,
mxnet::NDArray, nnvm::NodeEntryHash, nnvm::NodeEntryEqual,
std::__1::allocator<std::__1::pair<nnvm::NodeEntry const, mxnet::NDArray> > >
const&) in mxnet_predict-all.o
_MXSymbolInferType in mxnet_predict-all.o
mxnet::exec::InferForwardAttrs(nnvm::Graph,
std::__1::vector<nnvm::TShape, std::__1::allocator<nnvm::TShape> >,
std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<int,
std::__1::allocator<int> >, mxnet::Context const&,
std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, mxnet::Context,
std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > >,
std::__1::allocator<std::__1::pair<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const, mxnet::Context>
> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&, std::__1::vector<mxnet::Context,
std::__1::allocator<mxnet::Context> > const&) in mxnet_predict-all.o
"void mxnet::common::CheckFormatWrapper<mshadow::cpu>(mxnet::RunContext
const&, mxnet::NDArray const&, mxnet::TBlob const&, bool)", referenced from:
mxnet::NDArray::SyncCheckFormat(bool)
const::$_22::operator()(mxnet::RunContext) const in mxnet_predict-all.o
"void mxnet::common::CastStorageDispatch<mshadow::cpu>(mxnet::OpContext
const&, mxnet::NDArray const&, mxnet::NDArray const&)", referenced from:
mxnet::common::CastNonDefaultStorage(std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&, std::__1::vector<mxnet::NDArray,
std::__1::allocator<mxnet::NDArray> > const&, mxnet::OpContext const&, bool) in
mxnet_predict-all.o
void mxnet::CopyFromToImpl<mshadow::cpu, mshadow::cpu>(mxnet::NDArray
const&, mxnet::NDArray const&, mxnet::RunContext,
std::__1::vector<mxnet::Resource, std::__1::allocator<mxnet::Resource> >
const&) in mxnet_predict-all.o
"mxnet::engine::OpenMP::Get()", referenced from:
mxnet::LibraryInitializer::LibraryInitializer()::'lambda1'()::operator()()
const in mxnet_predict-all.o
"mxnet::profiler::AggregateStats::OnProfileStat(mxnet::profiler::ProfileStat
const&)", referenced from:
mxnet::profiler::Profiler::DumpProfile(bool) in mxnet_predict-all.o
"typeinfo for dmlc::io::FileSystem", referenced from:
typeinfo for dmlc::io::LocalFileSystem in mxnet_predict-all.o
"vtable for dmlc::io::FileSystem", referenced from:
dmlc::io::FileSystem::FileSystem() in mxnet_predict-all.o
NOTE: a missing vtable usually means the first non-inline virtual member
function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [`pwd`/../lib/libmxnet_predict.so] Error 1
```
looks like it missed some symbols in file `mxnet_predict-all.cc`, and by
reading `Makefile` i found this file was extracted from `dmlc-minimum0.cc` and
`mxnet_predict0.cc`.
[ Full content available at:
https://github.com/apache/incubator-mxnet/pull/11184 ]
This message was relayed via gitbox.apache.org for [email protected]