Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OpenCV] linking failure #42989

Open
Jedrzej1940518 opened this issue Dec 29, 2024 · 0 comments
Open

[OpenCV] linking failure #42989

Jedrzej1940518 opened this issue Dec 29, 2024 · 0 comments
Assignees
Labels
category:port-bug The issue is with a library, which is something the port should already support

Comments

@Jedrzej1940518
Copy link

Operating system

Ubuntu 22.04.5 LTS x86_64

Compiler

GCC 11.4

Steps to reproduce the behavior

Create vcpkg.json with one dependency (opencv).

create CMakeLsits.txt:

cmake_minimum_required(VERSION 3.20)

project(MapEditor LANGUAGES CXX)

find_package(OpenCV REQUIRED)

set(SOURCES
    main.cpp
)

add_executable(${PROJECT_NAME} ${SOURCES})

target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS})

include_directories(${OpenCV_INCLUDE_DIRS})

Create main.cpp with opencv functions:

cv::Mat img = cv::imread("map.png", cv::IMREAD_COLOR);


./vcpkg install
mkdir build && cd build && cmake .. -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake
make

Failure logs

make
[ 50%] Building CXX object CMakeFiles/MapEditor.dir/main.cpp.o
[100%] Linking CXX executable MapEditor
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libfontconfig.a(fcxml.c.o): in function FcConfigMessage.constprop.0': fcxml.c:(.text+0x1b6): undefined reference to XML_GetCurrentLineNumber'
/usr/bin/ld: fcxml.c:(.text+0x231): undefined reference to XML_GetCurrentLineNumber' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libfontconfig.a(fcxml.c.o): in function FcConfigMessage.constprop.1':
fcxml.c:(.text+0x3c6): undefined reference to XML_GetCurrentLineNumber' /usr/bin/ld: fcxml.c:(.text+0x439): undefined reference to XML_GetCurrentLineNumber'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libfontconfig.a(fcxml.c.o): in function FcConfigParseAndLoadFromMemoryInternal': fcxml.c:(.text+0xf49): undefined reference to XML_ParserCreate'
/usr/bin/ld: fcxml.c:(.text+0xfc4): undefined reference to XML_SetUserData' /usr/bin/ld: fcxml.c:(.text+0xfda): undefined reference to XML_SetDoctypeDeclHandler'
/usr/bin/ld: fcxml.c:(.text+0xff0): undefined reference to XML_SetElementHandler' /usr/bin/ld: fcxml.c:(.text+0xfff): undefined reference to XML_SetCharacterDataHandler'
/usr/bin/ld: fcxml.c:(.text+0x1011): undefined reference to XML_GetBuffer' /usr/bin/ld: fcxml.c:(.text+0x1046): undefined reference to XML_ParseBuffer'
/usr/bin/ld: fcxml.c:(.text+0x10a8): undefined reference to XML_ParseBuffer' /usr/bin/ld: fcxml.c:(.text+0x10b8): undefined reference to XML_GetErrorCode'
/usr/bin/ld: fcxml.c:(.text+0x10bf): undefined reference to XML_ErrorString' /usr/bin/ld: fcxml.c:(.text+0x110f): undefined reference to XML_ParserFree'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libfreetype.a(sfnt.c.o): in function sfnt_init_face': sfnt.c:(.text+0x15e82): undefined reference to BrotliDecoderDecompress'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libfreetype.a(ftbzip2.c.o): in function ft_bzip2_stream_close': ftbzip2.c:(.text+0x7d): undefined reference to BZ2_bzDecompressEnd'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libfreetype.a(ftbzip2.c.o): in function ft_bzip2_file_fill_output': ftbzip2.c:(.text+0x127): undefined reference to BZ2_bzDecompress'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libfreetype.a(ftbzip2.c.o): in function ft_bzip2_stream_io': ftbzip2.c:(.text+0x337): undefined reference to BZ2_bzDecompressEnd'
/usr/bin/ld: ftbzip2.c:(.text+0x38d): undefined reference to BZ2_bzDecompressInit' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libfreetype.a(ftbzip2.c.o): in function FT_Stream_OpenBzip2':
ftbzip2.c:(.text+0x61c): undefined reference to BZ2_bzDecompressInit' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMASetupEncode':
tif_lzma.c:(.text+0xa8): undefined reference to lzma_end' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMASetupDecode':
tif_lzma.c:(.text+0xf8): undefined reference to lzma_end' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMACleanup':
tif_lzma.c:(.text+0x178): undefined reference to lzma_end' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMAVSetField':
tif_lzma.c:(.text+0x1e2): undefined reference to lzma_lzma_preset' /usr/bin/ld: tif_lzma.c:(.text+0x225): undefined reference to lzma_stream_encoder'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMAEncode': tif_lzma.c:(.text+0x310): undefined reference to lzma_code'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMAPostEncode': tif_lzma.c:(.text+0x4b3): undefined reference to lzma_code'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMAPreEncode': tif_lzma.c:(.text+0x5d4): undefined reference to lzma_stream_encoder'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMAPreDecode': tif_lzma.c:(.text+0x740): undefined reference to lzma_stream_decoder'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function LZMADecode': tif_lzma.c:(.text+0x8ee): undefined reference to lzma_code'
/usr/bin/ld: tif_lzma.c:(.text+0x904): undefined reference to lzma_memusage' /usr/bin/ld: tif_lzma.c:(.text+0x911): undefined reference to lzma_stream_decoder'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libtiff.a(tif_lzma.c.o): in function TIFFInitLZMA': tif_lzma.c:(.text+0xd36): undefined reference to lzma_lzma_preset'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libgobject-2.0.a(gclosure.c.o): in function value_to_ffi_type': gclosure.c:(.text+0x288): undefined reference to ffi_type_pointer'
/usr/bin/ld: gclosure.c:(.text+0x2ab): undefined reference to ffi_type_sint32' /usr/bin/ld: gclosure.c:(.text+0x2bf): undefined reference to ffi_type_uint64'
/usr/bin/ld: gclosure.c:(.text+0x2df): undefined reference to ffi_type_sint64' /usr/bin/ld: gclosure.c:(.text+0x303): undefined reference to ffi_type_uint32'
/usr/bin/ld: gclosure.c:(.text+0x377): undefined reference to ffi_type_double' /usr/bin/ld: gclosure.c:(.text+0x38f): undefined reference to ffi_type_float'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libgobject-2.0.a(gclosure.c.o): in function g_cclosure_marshal_generic': gclosure.c:(.text+0x1ef0): undefined reference to ffi_type_void'
/usr/bin/ld: gclosure.c:(.text+0x21e0): undefined reference to ffi_type_pointer' /usr/bin/ld: gclosure.c:(.text+0x2360): undefined reference to ffi_prep_cif'
/usr/bin/ld: gclosure.c:(.text+0x238b): undefined reference to ffi_call' /usr/bin/ld: gclosure.c:(.text+0x23cf): undefined reference to ffi_type_uint64'
/usr/bin/ld: gclosure.c:(.text+0x23e7): undefined reference to ffi_type_sint64' /usr/bin/ld: gclosure.c:(.text+0x2407): undefined reference to ffi_type_sint32'
/usr/bin/ld: gclosure.c:(.text+0x242f): undefined reference to ffi_type_uint32' /usr/bin/ld: gclosure.c:(.text+0x24d1): undefined reference to ffi_type_float'
/usr/bin/ld: gclosure.c:(.text+0x24f5): undefined reference to ffi_type_pointer' /usr/bin/ld: gclosure.c:(.text+0x2517): undefined reference to ffi_type_double'
/usr/bin/ld: gclosure.c:(.text+0x252f): undefined reference to ffi_type_uint32' /usr/bin/ld: gclosure.c:(.text+0x2547): undefined reference to ffi_type_sint32'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libgobject-2.0.a(gclosure.c.o): in function g_cclosure_marshal_generic_va': gclosure.c:(.text+0x2627): undefined reference to ffi_type_void'
/usr/bin/ld: gclosure.c:(.text+0x27bc): undefined reference to ffi_type_pointer' /usr/bin/ld: gclosure.c:(.text+0x2a13): undefined reference to ffi_prep_cif'
/usr/bin/ld: gclosure.c:(.text+0x2a46): undefined reference to ffi_call' /usr/bin/ld: gclosure.c:(.text+0x2b8b): undefined reference to ffi_type_float'
/usr/bin/ld: gclosure.c:(.text+0x2be2): undefined reference to ffi_type_uint64' /usr/bin/ld: gclosure.c:(.text+0x2c12): undefined reference to ffi_type_sint64'
/usr/bin/ld: gclosure.c:(.text+0x2c41): undefined reference to ffi_type_uint32' /usr/bin/ld: gclosure.c:(.text+0x2c71): undefined reference to ffi_type_sint32'
/usr/bin/ld: gclosure.c:(.text+0x2d81): undefined reference to ffi_type_double' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function get_matched_substring_number':
gregex.c:(.text+0x12f): undefined reference to pcre2_substring_nametable_scan_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function get_pcre2_error_string':
gregex.c:(.text+0x1e7): undefined reference to pcre2_get_error_message_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function recalc_match_offsets':
gregex.c:(.text+0xd4b): undefined reference to pcre2_get_ovector_count_8' /usr/bin/ld: gregex.c:(.text+0xd63): undefined reference to pcre2_get_ovector_pointer_8'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_match_info_next': gregex.c:(.text+0xf68): undefined reference to pcre2_jit_compile_8'
/usr/bin/ld: gregex.c:(.text+0xfdb): undefined reference to pcre2_jit_match_8' /usr/bin/ld: gregex.c:(.text+0x1037): undefined reference to pcre2_match_8'
/usr/bin/ld: gregex.c:(.text+0x1120): undefined reference to pcre2_match_data_free_8' /usr/bin/ld: gregex.c:(.text+0x112a): undefined reference to pcre2_match_data_create_8'
/usr/bin/ld: gregex.c:(.text+0x11f8): undefined reference to pcre2_jit_stack_create_8' /usr/bin/ld: gregex.c:(.text+0x120a): undefined reference to pcre2_jit_stack_assign_8'
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function regex_compile': gregex.c:(.text+0x1b3f): undefined reference to pcre2_compile_context_create_8'
/usr/bin/ld: gregex.c:(.text+0x1b4d): undefined reference to pcre2_set_newline_8' /usr/bin/ld: gregex.c:(.text+0x1b60): undefined reference to pcre2_set_bsr_8'
/usr/bin/ld: gregex.c:(.text+0x1b9c): undefined reference to pcre2_compile_8' /usr/bin/ld: gregex.c:(.text+0x1ba7): undefined reference to pcre2_compile_context_free_8'
/usr/bin/ld: gregex.c:(.text+0x1c03): undefined reference to pcre2_compile_context_free_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function match_info_new':
gregex.c:(.text+0x2343): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: gregex.c:(.text+0x234a): undefined reference to pcre2_match_context_create_8'
/usr/bin/ld: gregex.c:(.text+0x2381): undefined reference to pcre2_match_data_create_from_pattern_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_unref':
gregex.c:(.text+0x240b): undefined reference to pcre2_code_free_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_match_info_unref':
gregex.c:(.text+0x2447): undefined reference to pcre2_match_context_free_8' /usr/bin/ld: gregex.c:(.text+0x2455): undefined reference to pcre2_jit_stack_free_8'
/usr/bin/ld: gregex.c:(.text+0x2463): undefined reference to pcre2_match_data_free_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_new':
gregex.c:(.text+0x2706): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: gregex.c:(.text+0x284a): undefined reference to pcre2_config_8'
/usr/bin/ld: gregex.c:(.text+0x28c1): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_get_max_backref':
gregex.c:(.text+0x29f7): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_get_capture_count':
gregex.c:(.text+0x2a47): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_get_has_cr_or_lf':
gregex.c:(.text+0x2a97): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_get_max_lookbehind':
gregex.c:(.text+0x2af7): undefined reference to pcre2_pattern_info_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o):gregex.c:(.text+0x2b5d): more undefined references to pcre2_pattern_info_8' follow
/usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_match_all_full': gregex.c:(.text+0x3099): undefined reference to pcre2_dfa_match_8'
/usr/bin/ld: gregex.c:(.text+0x30d5): undefined reference to pcre2_match_data_free_8' /usr/bin/ld: gregex.c:(.text+0x30df): undefined reference to pcre2_match_data_create_8'
/usr/bin/ld: gregex.c:(.text+0x319a): undefined reference to pcre2_code_free_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function g_regex_get_string_number':
gregex.c:(.text+0x3357): undefined reference to pcre2_substring_number_from_name_8' /usr/bin/ld: vcpkg_installed/x64-linux/lib/libglib-2.0.a(gregex.c.o): in function get_matched_substring_number':
gregex.c:(.text+0x1b6): undefined reference to `pcre2_substring_number_from_name_8'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/MapEditor.dir/build.make:274: MapEditor] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/MapEditor.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Additional context

vcpkg.json
CMakeLists.txt

@Jedrzej1940518 Jedrzej1940518 added the category:port-bug The issue is with a library, which is something the port should already support label Dec 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-bug The issue is with a library, which is something the port should already support
Projects
None yet
Development

No branches or pull requests

2 participants