-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
Undefined symbols for architecture x86_64: "_jpeg_default_qtables" #18541
Copy link
Copy link
Closed
Milestone
Description
System information (version)
- OpenCV => 3.4.11
- Operating System / Platform => macOS Catalina 10.15.7
- Compiler =>
Detailed description
I recently have updated my mac to 10.15.7. I also made a brew update.
I'm able to compile and run OpenCV 3.4.1 from source. At runtime it crashes in a function related to JPEG compression
C [libopencv_imgcodecs.3.4.1.dylib+0x3fd7a] jpeg_CreateCompress+0x2a
C [libopencv_imgcodecs.3.4.1.dylib+0x1a5cb] cv::JpegEncoder::write(cv::Mat const&, std::__1::vector<int, std::__1::allocator<int> > const&)+0xdb
C [libopencv_imgcodecs.3.4.1.dylib+0x8dd0] cv::imencode(cv::String const&, cv::_InputArray const&, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >&, std::__1::vector<int, std::__1::allocator<int> > const&)+0x5d0
I was downloading 3.4.11 sources and tried the compilation. It fails, again somewhere in the near of JPEG:
[ 50%] Linking CXX shared library ../../lib/libopencv_imgcodecs.dylib
Undefined symbols for architecture x86_64:
"_jpeg_default_qtables", referenced from:
cv::JpegEncoder::write(cv::Mat const&, std::__1::vector<int, std::__1::allocator<int> > const&) in grfmt_jpeg.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/libopencv_imgcodecs.3.4.11.dylib] Error 1
make[1]: *** [modules/imgcodecs/CMakeFiles/opencv_imgcodecs.dir/all] Error 2
make: *** [all] Error 2
I'm also no longer able to read JPEG files from disk with a simple C++ sample app (OpenCV 3.4.1)
Is there any chance to approach this issue? I suppose it is something in the environment, which is no longer compatible.
Reactions are currently unavailable