Skip to content

ld: symbol(s) not found for architecture x86_64 #209

@linchakpan

Description

@linchakpan

Hi all, I have been facing some issues with im running "Luarocks install cv" in my terminal. I'm currently using mac os Catalina, anaconda environment, and without cuda supported GPU.

I have created an environment via conda, and I have installed the latest version of Torch and openCV v3.1.0. However, im facing the following issue when installing Lua cv.

-- Build files have been written to: /tmp/luarocks_cv-scm-1-719/torch-opencv/build
Scanning dependencies of target Common
[ 2%] Building CXX object CMakeFiles/Common.dir/src/Common.cpp.o
[ 5%] Linking CXX shared library lib/libCommon.dylib
[ 5%] Built target Common
Scanning dependencies of target xphoto
[ 7%] Building CXX object CMakeFiles/xphoto.dir/src/xphoto.cpp.o
[ 10%] Linking CXX shared library lib/libxphoto.dylib
[ 10%] Built target xphoto
Scanning dependencies of target calib3d
[ 13%] Building CXX object CMakeFiles/calib3d.dir/src/calib3d.cpp.o
[ 15%] Linking CXX shared library lib/libcalib3d.dylib
[ 15%] Built target calib3d
Scanning dependencies of target objdetect
[ 18%] Building CXX object CMakeFiles/objdetect.dir/src/objdetect.cpp.o
[ 21%] Linking CXX shared library lib/libobjdetect.dylib
Undefined symbols for architecture x86_64:
"cv::groupRectangles(std::_1::vector<cv::Rect, std::_1::allocator<cv::Rect > >&, std::__1::vector<int, std::__1::allocator >&, int, double)", referenced from:
_groupRectangles in objdetect.cpp.o
"cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::_1::vector<cv::Rect, std::_1::allocator<cv::Rect > >&, std::__1::vector<int, std::__1::allocator >&, std::__1::vector<double, std::1::allocator >&, double, int, int, cv::Size, cv::Size, bool)", referenced from:
_CascadeClassifier_detectMultiScale3 in objdetect.cpp.o
"cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::_1::vector<cv::Rect, std::_1::allocator<cv::Rect > >&, std::__1::vector<int, std::1::allocator >&, double, int, int, cv::Size, cv::Size)", referenced from:
_CascadeClassifier_detectMultiScale2 in objdetect.cpp.o
"cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::1::vector<cv::Rect, std::1::allocator<cv::Rect > >&, double, int, int, cv::Size, cv::Size)", referenced from:
_CascadeClassifier_detectMultiScale in objdetect.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libobjdetect.dylib] Error 1
make[1]: *** [CMakeFiles/objdetect.dir/all] Error 2
make: *** [all] Error 2

Error: Build error: Failed building.


It seems that there is some issue with libobjdetect.dylib. I'm unsure if it is not compatible or it is missing. I have seen a similar post earlier, and have made sure i installed the 64-bit opencv v3.1.0. Does anyone know what is this issue, and how should i solve this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions