# Error building with custom gstreamer

**URL:** <https://forum.opencv.org/t/error-building-with-custom-gstreamer/14701>\
**Category:** Uncategorized\
**Tags:** gstreamer, build, videoio\
**Created:** [September 29, 2023, 11:39pm UTC](https://forum.opencv.org/t/error-building-with-custom-gstreamer/14701 "2023-09-29T23:39:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![cmcquinn](https://avatars.discourse-cdn.com/v4/letter/c/ac8455/32.png) [@cmcquinn](https://forum.opencv.org/u/cmcquinn)\
**Post date:** [September 29, 2023, 11:39pm UTC](https://forum.opencv.org/t/error-building-with-custom-gstreamer/14701/1 "2023-09-29T23:39:51Z")

</div>

Hi everyone,

I am trying to build OpenCV 4.8.0 with GStreamer 1.20.7 and have run into errors linking with gstreamer:

```auto
FAILED: bin/opencv_visualisation 
: && /usr/bin/c++ -fsigned-char -ffast-math -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g -DNDEBUG -Wl,--gc-sections -Wl,--as-needed -Wl,--no-undefined apps/visualisation/CMakeFiles/opencv_visualisation.dir/opencv_visualisation.cpp.o -o bin/opencv_visualisation -L/usr/local/cuda/lib64 -Wl,-rpath,/usr/local/cuda/lib64:/home/flir/opencv-builder/build/lib: -ldl -lm -lpthread -lrt 3rdparty/lib/libippiw.a 3rdparty/ippicv/ippicv_lnx/icv/lib/intel64/libippicv.a -lcudart_static -ldl -lrt -lnppc -lnppial -lnppicc -lnppidei -lnppif -lnppig -lnppim -lnppist -lnppisu -lnppitc -lnpps -lcublas -lcudnn -lcufft -L/usr/local/cuda/lib64 -L/usr/lib/x86_64-linux-gnu lib/libopencv_highgui.so.4.8.0 lib/libopencv_videoio.so.4.8.0 lib/libopencv_imgcodecs.so.4.8.0 -lm -lpthread -lcudart_static -lnppc -lnppial -lnppicc -lnppidei -lnppif -lnppig -lnppim -lnppist -lnppisu -lnppitc -lnpps -lcublas -lcudnn -lcufft lib/libopencv_imgproc.so.4.8.0 lib/libopencv_core.so.4.8.0 lib/libopencv_cudev.so.4.8.0 && :
/usr/bin/ld: warning: libgsttag-1.0.so.0, needed by /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstriff-1.0.so.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: liborc-0.4.so.0, needed by /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0: undefined reference to `gst_tag_list_to_vorbiscomment_buffer'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `orc_init'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `orc_target_get_name'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `gst_tag_register_musicbrainz_tags'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_program_new_from_static_bytecode'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstriff-1.0.so.0: undefined reference to `gst_tag_freeform_string_to_utf8'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_program_free'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `orc_target_get_flag_name'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_once_mutex_unlock'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `orc_target_get_default'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_program_compile'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_program_set_backup_function'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_once_mutex_lock'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0: undefined reference to `orc_program_take_code'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `orc_target_get_default_flags'
/usr/bin/ld: /usr/local/gstreamer-1.20.7/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0: undefined reference to `orc_memset'

```

I am building an a docker container based off of `nvidia/cuda:11.4.3-cudnn8-devel-ubuntu20.04`, and my custom gstreamer build, is installed at `/usr/local/gstreamer-1.20.7`. My CMake command line is as follows:

```auto
cmake \
    -D CMAKE_BUILD_TYPE=RelWithDebInfo \
    -D OPENCV_EXTRA_MODULES_PATH=../externs/opencv_contrib/modules \
    -D OPENCV_DNN_CUDA=ON \
    -D ENABLE_FAST_MATH=ON \
    -D CUDA_FAST_MATH=ON \
    -D WITH_CUDA=ON \
    -D WITH_CUDNN=ON \
    -D WITH_TBB=ON \
    -D WITH_CUBLAS=ON \
    -D WITH_LIBV4L=ON \
    -D WITH_V4L=ON \
    -D WITH_GSTREAMER=ON \
    -D BUILD_opencv_python3=ON \
    -D BUILD_TESTS=OFF \
    -D BUILD_PERF_TESTS=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D INSTALL_C_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF \
    -G Ninja \
    ../externs/opencv

```

I have verified that both `libgsttag-1.0.so.0` and `liborc-0.4.so.0` exist under `/usr/local/gstreamer-1.20.7`.

Could someone help me to figure out how to fix this?

Thank you,  
Cameron McQuinn
