Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

undefined references from qpnghandler.cpp (qt-5.11, with static build, on Centos 7)



  • Hi,
    I have the following issue, building my code,

    I have the following messages, any idea why?
    qpnghandler.cpp:(.text+0x22): undefined reference to png_get_io_ptr' qpnghandler.cpp:(.text+0xda): undefined reference topng_error'
    qpnghandler.cpp:(.text+0x13e): undefined reference to png_get_io_ptr' qpnghandler.cpp:(.text+0x167): undefined reference topng_error'
    qpnghandler.cpp:(.text+0x2ad): undefined reference to png_destroy_read_struct' qpnghandler.cpp:(.text+0x52f): undefined reference topng_get_IHDR'
    qpnghandler.cpp:(.text+0x593): undefined reference to png_get_PLTE' qpnghandler.cpp:(.text+0x5c1): undefined reference topng_get_channels'
    qpnghandler.cpp:(.text+0x5ee): undefined reference to png_get_valid' qpnghandler.cpp:(.text+0x61e): undefined reference topng_get_valid'
    qpnghandler.cpp:(.text+0x646): undefined reference to png_get_valid' qpnghandler.cpp:(.text+0x85b): undefined reference topng_get_text'
    qpnghandler.cpp:(.text+0xcf2): undefined reference to png_create_read_struct' qpnghandler.cpp:(.text+0xd14): undefined reference topng_set_error_fn'
    qpnghandler.cpp:(.text+0xd1d): undefined reference to png_create_info_struct' qpnghandler.cpp:(.text+0xd38): undefined reference topng_create_info_struct'
    qpnghandler.cpp:(.text+0xd5f): undefined reference to png_set_longjmp_fn' qpnghandler.cpp:(.text+0xd81): undefined reference topng_destroy_read_struct'
    qpnghandler.cpp:(.text+0xdb4): undefined reference to png_set_read_fn' qpnghandler.cpp:(.text+0xdc1): undefined reference topng_read_info'
    qpnghandler.cpp:(.text+0xddf): undefined reference to png_get_valid' qpnghandler.cpp:(.text+0xe0e): undefined reference topng_destroy_read_struct'
    qpnghandler.cpp:(.text+0xe2b): undefined reference to png_destroy_read_struct' qpnghandler.cpp:(.text+0xe54): undefined reference topng_get_gAMA'
    qpnghandler.cpp:(.text+0xf3d): undefined reference to png_get_image_height' qpnghandler.cpp:(.text+0xf51): undefined reference topng_get_image_width'
    qpnghandler.cpp:(.text+0x1023): undefined reference to png_set_longjmp_fn' qpnghandler.cpp:(.text+0x108f): undefined reference topng_set_gamma'
    qpnghandler.cpp:(.text+0x10ef): undefined reference to png_get_IHDR' qpnghandler.cpp:(.text+0x10fb): undefined reference topng_set_interlace_handling'
    qpnghandler.cpp:(.text+0x1146): undefined reference to png_read_update_info' qpnghandler.cpp:(.text+0x1243): undefined reference topng_get_tRNS'
    qpnghandler.cpp:(.text+0x1289): undefined reference to png_destroy_read_struct' qpnghandler.cpp:(.text+0x135e): undefined reference topng_set_expand'
    qpnghandler.cpp:(.text+0x144a): undefined reference to png_read_update_info' qpnghandler.cpp:(.text+0x1452): undefined reference topng_set_bgr'
    qpnghandler.cpp:(.text+0x151b): undefined reference to png_get_IHDR' qpnghandler.cpp:(.text+0x1542): undefined reference topng_get_oFFs'
    qpnghandler.cpp:(.text+0x1928): undefined reference to png_read_row' qpnghandler.cpp:(.text+0x1ca5): undefined reference topng_get_valid'
    qpnghandler.cpp:(.text+0x1cbf): undefined reference to png_set_filler' qpnghandler.cpp:(.text+0x1cd2): undefined reference topng_set_packing'
    qpnghandler.cpp:(.text+0x1ead): undefined reference to png_get_x_pixels_per_meter' qpnghandler.cpp:(.text+0x1ed2): undefined reference topng_get_y_pixels_per_meter'
    qpnghandler.cpp:(.text+0x1f50): undefined reference to png_read_end' qpnghandler.cpp:(.text+0x1fc7): undefined reference topng_destroy_read_struct'
    qpnghandler.cpp:(.text+0x2137): undefined reference to png_get_IHDR' qpnghandler.cpp:(.text+0x2160): undefined reference topng_get_oFFs'
    qpnghandler.cpp:(.text+0x21e9): undefined reference to png_read_image' qpnghandler.cpp:(.text+0x2261): undefined reference topng_get_x_pixels_per_meter'
    qpnghandler.cpp:(.text+0x227d): undefined reference to png_get_y_pixels_per_meter' qpnghandler.cpp:(.text+0x2357): undefined reference topng_get_valid'
    qpnghandler.cpp:(.text+0x237f): undefined reference to png_get_valid' qpnghandler.cpp:(.text+0x238f): undefined reference topng_set_expand'
    qpnghandler.cpp:(.text+0x2415): undefined reference to png_read_update_info' qpnghandler.cpp:(.text+0x2504): undefined reference topng_set_strip_16'
    qpnghandler.cpp:(.text+0x2574): undefined reference to png_set_expand' qpnghandler.cpp:(.text+0x257c): undefined reference topng_set_strip_16'
    qpnghandler.cpp:(.text+0x2584): undefined reference to png_set_gray_to_rgb' qpnghandler.cpp:(.text+0x25f7): undefined reference topng_get_channels'
    qpnghandler.cpp:(.text+0x260f): undefined reference to png_set_invert_mono' qpnghandler.cpp:(.text+0x261a): undefined reference topng_read_update_info'
    qpnghandler.cpp:(.text+0x26eb): undefined reference to png_get_tRNS' qpnghandler.cpp:(.text+0x278c): undefined reference topng_set_gray_to_rgb'
    qpnghandler.cpp:(.text+0x27a0): undefined reference to png_set_strip_16' qpnghandler.cpp:(.text+0x27c0): undefined reference topng_get_PLTE'
    qpnghandler.cpp:(.text+0x27eb): undefined reference to png_set_packing' qpnghandler.cpp:(.text+0x27f9): undefined reference topng_read_update_info'
    qpnghandler.cpp:(.text+0x282e): undefined reference to png_get_IHDR' qpnghandler.cpp:(.text+0x28d7): undefined reference topng_get_PLTE'
    qpnghandler.cpp:(.text+0x290d): undefined reference to png_get_tRNS' qpnghandler.cpp:(.text+0x2c31): undefined reference topng_create_write_struct'
    qpnghandler.cpp:(.text+0x2c55): undefined reference to png_set_error_fn' qpnghandler.cpp:(.text+0x2c62): undefined reference topng_create_info_struct'
    qpnghandler.cpp:(.text+0x2c8c): undefined reference to png_set_longjmp_fn' qpnghandler.cpp:(.text+0x2cba): undefined reference topng_set_compression_level'
    qpnghandler.cpp:(.text+0x2cda): undefined reference to png_set_write_fn' qpnghandler.cpp:(.text+0x2d5b): undefined reference topng_set_IHDR'
    qpnghandler.cpp:(.text+0x2d9d): undefined reference to png_set_gAMA' qpnghandler.cpp:(.text+0x2dd5): undefined reference topng_set_bgr'
    qpnghandler.cpp:(.text+0x2e01): undefined reference to png_set_sig_bytes' qpnghandler.cpp:(.text+0x2e47): undefined reference topng_set_pHYs'
    qpnghandler.cpp:(.text+0x3104): undefined reference to png_set_text' qpnghandler.cpp:(.text+0x31a1): undefined reference topng_write_info'
    qpnghandler.cpp:(.text+0x31bc): undefined reference to png_set_packing' qpnghandler.cpp:(.text+0x332c): undefined reference topng_write_rows'
    qpnghandler.cpp:(.text+0x33a8): undefined reference to png_destroy_write_struct' qpnghandler.cpp:(.text+0x351b): undefined reference topng_write_chunk'
    qpnghandler.cpp:(.text+0x3542): undefined reference to png_write_end' qpnghandler.cpp:(.text+0x3560): undefined reference topng_destroy_write_struct'
    qpnghandler.cpp:(.text+0x357f): undefined reference to png_destroy_write_struct' qpnghandler.cpp:(.text+0x3614): undefined reference topng_write_image'
    qpnghandler.cpp:(.text+0x368e): undefined reference to png_set_oFFs' qpnghandler.cpp:(.text+0x372f): undefined reference topng_set_PLTE'
    qpnghandler.cpp:(.text+0x375b): undefined reference to png_set_tRNS' qpnghandler.cpp:(.text+0x37af): undefined reference topng_write_chunk'
    qpnghandler.cpp:(.text+0x37da): undefined reference to png_set_filler' qpnghandler.cpp:(.text+0x37ec): undefined reference topng_set_packswap'
    qtextengine.cpp:(.text+0x35fc): undefined reference to hb_buffer_create' qtextengine.cpp:(.text+0x3614): undefined reference tohb_buffer_set_unicode_funcs'
    qtextengine.cpp:(.text+0x361f): undefined reference to hb_buffer_pre_allocate' qtextengine.cpp:(.text+0x3627): undefined reference tohb_buffer_allocation_successful'
    qtextengine.cpp:(.text+0x37d7): undefined reference to hb_buffer_clear_contents' qtextengine.cpp:(.text+0x3805): undefined reference tohb_buffer_add_utf16'
    qtextengine.cpp:(.text+0x3815): undefined reference to hb_buffer_set_segment_properties' qtextengine.cpp:(.text+0x381d): undefined reference tohb_buffer_guess_segment_properties'
    qtextengine.cpp:(.text+0x3835): undefined reference to hb_buffer_set_flags' qtextengine.cpp:(.text+0x392a): undefined reference tohb_shape_full'
    qtextengine.cpp:(.text+0x3963): undefined reference to hb_buffer_get_length' qtextengine.cpp:(.text+0x3a65): undefined reference tohb_buffer_get_glyph_infos'
    qtextengine.cpp:(.text+0x3a74): undefined reference to hb_buffer_get_glyph_positions' qtextengine.cpp:(.text+0x3ec8): undefined reference tohb_buffer_destroy'
    qtextengine.cpp:(.text+0x3f52): undefined reference to hb_buffer_reverse' qtextengine.cpp:(.text+0x4088): undefined reference tohb_buffer_destroy'
    qharfbuzzng.cpp:(.text+0x24e): undefined reference to hb_font_get_user_data' qharfbuzzng.cpp:(.text+0x2b0): undefined reference tohb_font_get_user_data'
    qharfbuzzng.cpp:(.text+0x358): undefined reference to hb_blob_create' qharfbuzzng.cpp:(.text+0x371): undefined reference tohb_blob_get_empty'
    qharfbuzzng.cpp:(.text+0x3c8): undefined reference to hb_unicode_funcs_destroy' qharfbuzzng.cpp:(.text+0x3f8): undefined reference tohb_font_funcs_destroy'
    qharfbuzzng.cpp:(.text+0xbcb): undefined reference to hb_unicode_funcs_create' qharfbuzzng.cpp:(.text+0xbe5): undefined reference tohb_unicode_funcs_set_combining_class_func'
    qharfbuzzng.cpp:(.text+0xbfc): undefined reference to hb_unicode_funcs_set_eastasian_width_func' qharfbuzzng.cpp:(.text+0xc13): undefined reference tohb_unicode_funcs_set_general_category_func'
    qharfbuzzng.cpp:(.text+0xc2a): undefined reference to hb_unicode_funcs_set_mirroring_func' qharfbuzzng.cpp:(.text+0xc41): undefined reference tohb_unicode_funcs_set_script_func'
    qharfbuzzng.cpp:(.text+0xc58): undefined reference to hb_unicode_funcs_set_compose_func' qharfbuzzng.cpp:(.text+0xc6f): undefined reference tohb_unicode_funcs_set_decompose_func'
    qharfbuzzng.cpp:(.text+0xc86): undefined reference to hb_unicode_funcs_set_decompose_compatibility_func' qharfbuzzng.cpp:(.text+0xcfc): undefined reference tohb_font_get_user_data'
    qharfbuzzng.cpp:(.text+0xd59): undefined reference to hb_font_funcs_create' qharfbuzzng.cpp:(.text+0xd73): undefined reference tohb_font_funcs_set_font_h_extents_func'
    qharfbuzzng.cpp:(.text+0xd8a): undefined reference to hb_font_funcs_set_nominal_glyph_func' qharfbuzzng.cpp:(.text+0xda1): undefined reference tohb_font_funcs_set_variation_glyph_func'
    qharfbuzzng.cpp:(.text+0xdb8): undefined reference to hb_font_funcs_set_glyph_h_advance_func' qharfbuzzng.cpp:(.text+0xdcf): undefined reference tohb_font_funcs_set_glyph_h_kerning_func'
    qharfbuzzng.cpp:(.text+0xde6): undefined reference to hb_font_funcs_set_glyph_extents_func' qharfbuzzng.cpp:(.text+0xdfd): undefined reference tohb_font_funcs_set_glyph_contour_point_func'
    qharfbuzzng.cpp:(.text+0xe09): undefined reference to hb_font_funcs_make_immutable' qharfbuzzng.cpp:(.text+0xe94): undefined reference tohb_face_create_for_tables'
    qharfbuzzng.cpp:(.text+0xe9f): undefined reference to hb_face_is_immutable' qharfbuzzng.cpp:(.text+0xee9): undefined reference tohb_face_set_index'
    qharfbuzzng.cpp:(.text+0xf75): undefined reference to hb_face_set_upem' qharfbuzzng.cpp:(.text+0xfd7): undefined reference tohb_face_destroy'
    qharfbuzzng.cpp:(.text+0x100f): undefined reference to hb_font_create' qharfbuzzng.cpp:(.text+0x101a): undefined reference tohb_font_is_immutable'
    qharfbuzzng.cpp:(.text+0x107e): undefined reference to hb_font_set_funcs' qharfbuzzng.cpp:(.text+0x1094): undefined reference tohb_font_set_scale'
    qharfbuzzng.cpp:(.text+0x10a2): undefined reference to hb_font_set_ppem' qharfbuzzng.cpp:(.text+0x1105): undefined reference tohb_font_funcs_create'
    qharfbuzzng.cpp:(.text+0x111f): undefined reference to hb_font_funcs_set_font_h_extents_func' qharfbuzzng.cpp:(.text+0x1136): undefined reference tohb_font_funcs_set_nominal_glyph_func'
    qharfbuzzng.cpp:(.text+0x114d): undefined reference to hb_font_funcs_set_variation_glyph_func' qharfbuzzng.cpp:(.text+0x1164): undefined reference tohb_font_funcs_set_glyph_h_advance_func'
    qharfbuzzng.cpp:(.text+0x117b): undefined reference to hb_font_funcs_set_glyph_h_kerning_func' qharfbuzzng.cpp:(.text+0x1192): undefined reference tohb_font_funcs_set_glyph_extents_func'
    qharfbuzzng.cpp:(.text+0x11a9): undefined reference to hb_font_funcs_set_glyph_contour_point_func' qharfbuzzng.cpp:(.text+0x11b5): undefined reference tohb_font_funcs_make_immutable'
    qharfbuzzng.cpp:(.text+0x1205): undefined reference to hb_font_destroy' qharfbuzzng.cpp:(.text+0x2d6): undefined reference tohb_face_destroy'
    qharfbuzzng.cpp:(.text+0x3a6): undefined reference to hb_font_destroy' qharfbuzzng.cpp:(.text+0xce2): undefined reference tohb_font_set_user_data'
    qfontengine.cpp:(.text+0x437f): undefined reference to hb_ot_tags_from_script' qfontengine.cpp:(.text+0x4393): undefined reference tohb_ot_layout_table_find_script'
    qfontengine.cpp:(.text+0x43af): undefined reference to hb_ot_layout_table_find_script' qfontengine.cpp:(.text+0x43dd): undefined reference tohb_ot_layout_table_find_script'
    qregularexpression.cpp:(.text+0x21b): undefined reference to pcre2_match_16' qregularexpression.cpp:(.text+0x287): undefined reference topcre2_jit_stack_create_16'
    qregularexpression.cpp:(.text+0x489): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x579): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x5cc): undefined reference to pcre2_pattern_info_16' qregularexpression.cpp:(.text+0x5dd): undefined reference topcre2_pattern_info_16'
    qregularexpression.cpp:(.text+0x602): undefined reference to pcre2_pattern_info_16' qregularexpression.cpp:(.text+0x621): undefined reference topcre2_config_16'
    qregularexpression.cpp:(.text+0x77f): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x82c): undefined reference topcre2_compile_16'
    qregularexpression.cpp:(.text+0x96a): undefined reference to pcre2_jit_compile_16' qregularexpression.cpp:(.text+0xa91): undefined reference topcre2_substring_number_from_name_16'
    qregularexpression.cpp:(.text+0xd14): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0xdd9): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0xf2e): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x10ae): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x11ff): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x12ac): undefined reference topcre2_compile_16'
    qregularexpression.cpp:(.text+0x13cf): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x147c): undefined reference topcre2_compile_16'
    qregularexpression.cpp:(.text+0x1576): undefined reference to pcre2_get_error_message_16' qregularexpression.cpp:(.text+0x173f): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x17ec): undefined reference to pcre2_compile_16' qregularexpression.cpp:(.text+0x191f): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x19cc): undefined reference to pcre2_compile_16' qregularexpression.cpp:(.text+0x1a53): undefined reference topcre2_jit_compile_16'
    qregularexpression.cpp:(.text+0x1ebf): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x2046): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x2310): undefined reference to pcre2_substring_number_from_name_16' qregularexpression.cpp:(.text+0x2400): undefined reference topcre2_substring_number_from_name_16'
    qregularexpression.cpp:(.text+0x24f9): undefined reference to pcre2_substring_number_from_name_16' qregularexpression.cpp:(.text+0x25d9): undefined reference topcre2_substring_number_from_name_16'
    qregularexpression.cpp:(.text+0x26d5): undefined reference to pcre2_substring_number_from_name_16' /opt/Qt5.11-static/lib/libQt5Core.a(qregularexpression.o):qregularexpression.cpp:(.text+0x2866): more undefined references topcre2_substring_number_from_name_16' follow
    qregularexpression.cpp:(.text+0x2b63): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x2c4a): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x2de6): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x2ed9): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x444f): undefined reference to pcre2_match_context_create_16' qregularexpression.cpp:(.text+0x4467): undefined reference topcre2_jit_stack_assign_16'
    qregularexpression.cpp:(.text+0x4472): undefined reference to pcre2_match_data_create_from_pattern_16' qregularexpression.cpp:(.text+0x452e): undefined reference topcre2_get_ovector_pointer_16'
    qregularexpression.cpp:(.text+0x45aa): undefined reference to pcre2_match_data_free_16' qregularexpression.cpp:(.text+0x45b6): undefined reference topcre2_match_context_free_16'
    qregularexpression.cpp:(.text+0x45eb): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x48fe): undefined reference topcre2_pattern_info_16'
    qregularexpression.cpp:(.text+0x4a82): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x4b3c): undefined reference topcre2_compile_16'
    qregularexpression.cpp:(.text+0x4d19): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x4dd1): undefined reference topcre2_compile_16'
    qregularexpression.cpp:(.text+0x4fc8): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x521b): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x547a): undefined reference to pcre2_pattern_info_16' qregularexpression.cpp:(.text+0x5491): undefined reference topcre2_pattern_info_16'
    qregularexpression.cpp:(.text+0x54a8): undefined reference to pcre2_pattern_info_16' qregularexpression.cpp:(.text+0x5b2e): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x5d24): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x5df5): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x60b5): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text+0x61a9): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text+0x2de): undefined reference to pcre2_match_16' qregularexpression.cpp:(.text._ZN14QThreadStorageIP20QPcreJitStackPointerE10deleteDataEPv[_ZN14QThreadStorageIP20QPcreJitStackPointerE10deleteDataEPv]+0x12): undefined reference topcre2_jit_stack_free_16'
    qregularexpression.cpp:(.text._ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateED2Ev[_ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateED5Ev]+0x24): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text._ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateED2Ev[_ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateED5Ev]+0x7f): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text._ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateE13detach_helperEv[_ZN28QExplicitlySharedDataPointerI25QRegularExpressionPrivateE13detach_helperEv]+0x8d): undefined reference to pcre2_code_free_16' qregularexpression.cpp:(.text._ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE6detachEv[_ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE6detachEv]+0xad): undefined reference topcre2_code_free_16'
    qregularexpression.cpp:(.text._ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE6detachEv[_ZN18QSharedDataPointerI38QRegularExpressionMatchIteratorPrivateE6detachEv]+0x1e6): undefined reference to pcre2_code_free_16' /opt/Qt5.11-static/lib/libQt5Core.a(qregularexpression.o):qregularexpression.cpp:(.text._ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateE13detach_helperEv[_ZN18QSharedDataPointerI30QRegularExpressionMatchPrivateE13detach_helperEv]+0x113): more undefined references topcre2_code_free_16' follow

    Thanks


  • Moderators

    @Antonis
    how did your Qt configure call look like. Or even more interesting it's output.
    There is probably a note that PNG support isn't available? You system might miss some libraries for built-in PNG support.


Log in to reply