Ask Your Question
0

Lib Imf_2_3 undefined references under Manjaro

asked 2019-11-20 14:47:26 -0500

vfbsilva gravatar image

updated 2019-11-21 12:53:36 -0500

I'm trying to compile darknet under Manjaro Linux but seems I have a libImf version mismatch.

gcc -Iinclude/ -Isrc/ -DOPENCV `pkg-config --cflags opencv`  -DGPU -I/usr/local/cuda/include/ -DCUDNN  -Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC -O0 -g -DOPENCV -DGPU -DCUDNN obj/captcha.o obj/lsd.o obj/super.o obj/art.o obj/tag.o obj/cifar.o obj/go.o obj/rnn.o obj/segmenter.o obj/regressor.o obj/classifier.o obj/coco.o obj/yolo.o obj/detector.o obj/nightmare.o obj/instance-segmenter.o obj/darknet.o libdarknet.a -o darknet -lm -pthread -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0'  `pkg-config --libs opencv` -lstdc++ -lopencv_videoio  -lopencv_imgcodecs -lopencv_imgproc -lopencv_core -lopencv_highgui -L/usr/local/cuda/lib64 -lcuda -lcudart -lcublas -lcurand -lcudnn -lstdc++  libdarknet.a
/usr/bin/ld: warning: libIlmImf-2_3.so.24, needed by /opt/opencv3/lib/libopencv_imgcodecs.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::InputFile::InputFile(char const*, int)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::OutputFile::setFrameBuffer(Imf_2_3::FrameBuffer const&)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::FrameBuffer::insert(char const*, Imf_2_3::Slice const&)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Header::channels()'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::chromaticities(Imf_2_3::Header const&)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::OutputFile::OutputFile(char const*, Imf_2_3::Header const&, int)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::FrameBuffer::begin()'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Header::Header(int, int, float, Imath_2_3::Vec2<float> const&, float, Imf_2_3::LineOrder, Imf_2_3::Compression)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Channel::Channel(Imf_2_3::PixelType, int, int, bool)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Header::channels() const'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::InputFile::setFrameBuffer(Imf_2_3::FrameBuffer const&)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::FrameBuffer::end()'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::InputFile::header() const'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Header::~Header()'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::InputFile::readPixels(int, int)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::globalThreadCount()'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Header::dataWindow() const'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::ChannelList::findChannel(char const*) const'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::OutputFile::~OutputFile()'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Slice::Slice(Imf_2_3::PixelType, char*, unsigned long, unsigned long, int, int, double, bool, bool)'
/usr/bin/ld: /opt/opencv3/lib/libopencv_imgcodecs.so: undefined reference to `Imf_2_3::Chromaticities::Chromaticities(Imath_2_3::Vec2<float> const&, Imath_2_3::Vec2<float> ...
(more)
edit retag flag offensive close merge delete

Comments

you're not linking any opencv libs to your dll project ?

-lopencv_core -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs
berak gravatar imageberak ( 2019-11-21 09:04:23 -0500 )edit

I did, just added the make file for clarification.

vfbsilva gravatar imagevfbsilva ( 2019-11-21 12:57:30 -0500 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2019-11-21 06:18:40 -0500

berak gravatar image

the Imf lib(s) are only needed for the openexr (hdr) image codecs. unless you really need this feature, you could try to disable it:

cmake -DBUILD_OPENEXR=OFF
edit flag offensive delete link more

Comments

I do need it. Seems I need to downgrade openexr: https://www.reddit.com/r/opencv/comme...

vfbsilva gravatar imagevfbsilva ( 2019-11-21 09:19:23 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2019-11-20 14:47:26 -0500

Seen: 35 times

Last updated: Nov 21