Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Compatibility with the NEWEST protobuf?
Forum Updated to NodeBB v4.3 + New Features

Compatibility with the NEWEST protobuf?

Scheduled Pinned Locked Moved Unsolved General and Desktop
12 Posts 3 Posters 1.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jiapei100J jiapei100

    Hi, all:

    qt-everywhere-src-6.5.1 contains the following subfolder: /qtwebengine/src/3rdparty/chromium/third_party/protobuf, which seems to be NOT NEW enough ???

    1. From one side:

    when I tried to build qt-everywhere-src-6.5.1 under folder /opt/qt-everywhere-src-6.5.1, I got the following ERROR messages:

    FAILED: qtgrpc/src/tools/qtgrpcgen/CMakeFiles/qtgrpcgen.dir/qgrpcgenerator.cpp.o 
    /usr/bin/c++ -DQT_DISABLE_DEPRECATED_UP_TO=0x050000 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_NO_AS_CONST=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/opt/qt-everywhere-src-6.5.1/qtgrpc/src/tools/qtgrpcgen -I/opt/qt-everywhere-src-6.5.1/qtgrpc/src/tools/qtprotoccommon -I/opt/qt-everywhere-src-6.5.1/qtbase/mkspecs/linux-g++ -I/opt/qt-everywhere-src-6.5.1/qtbase/include -DNDEBUG -O2 -std=c++17 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-exceptions -Wsuggest-override -fcf-protection=full -MD -MT qtgrpc/src/tools/qtgrpcgen/CMakeFiles/qtgrpcgen.dir/qgrpcgenerator.cpp.o -MF qtgrpc/src/tools/qtgrpcgen/CMakeFiles/qtgrpcgen.dir/qgrpcgenerator.cpp.o.d -o qtgrpc/src/tools/qtgrpcgen/CMakeFiles/qtgrpcgen.dir/qgrpcgenerator.cpp.o -c /opt/qt-everywhere-src-6.5.1/qtgrpc/src/tools/qtgrpcgen/qgrpcgenerator.cpp
    /opt/qt-everywhere-src-6.5.1/qtgrpc/src/tools/qtgrpcgen/qgrpcgenerator.cpp:15:10: fatal error: google/protobuf/stubs/logging.h: No such file or directory
       15 | #include <google/protobuf/stubs/logging.h>
    

    And I do have this file:

    ➜  qt-everywhere-src-6.5.1 ll ./qtwebengine/src/3rdparty/chromium/third_party/protobuf/src/google/protobuf/stubs/logging.h
    -rw-r--r-- 1 lvision lvision 8.8K May 16 03:32 ./qtwebengine/src/3rdparty/chromium/third_party/protobuf/src/google/protobuf/stubs/logging.h
    
    1. From the other side:

    my current protobuf is of the newest release https://github.com/protocolbuffers/protobuf/releases/tag/v23.2.
    which does NOT have this logging.h .

    The solutions is pretty clear:
    I'll have to

    • build qt-everywhere-src-6.5.1 with its own protobuf, which is NOT included by default (so I had the above error . )
    • or remove this #include <google/protobuf/stubs/logging.h> and include something else.

    But, is it possible that qt provides a version compatible with my customized protobuf ??

    Cheers

    JoeCFDJ Offline
    JoeCFDJ Offline
    JoeCFD
    wrote on last edited by
    #2

    @jiapei100 said in Compatibility with the NEWEST protobuf?:

    g
    build qt-everywhere-src-6.5.1 with its own protobuf, which is NOT included by default (so I had the above error . )

    try to add the path of google/protobuf/stubs/logging.h in the build script of the module.

    The second choice will require you change the source code of protobuf.

    jiapei100J 1 Reply Last reply
    0
    • JoeCFDJ JoeCFD

      @jiapei100 said in Compatibility with the NEWEST protobuf?:

      g
      build qt-everywhere-src-6.5.1 with its own protobuf, which is NOT included by default (so I had the above error . )

      try to add the path of google/protobuf/stubs/logging.h in the build script of the module.

      The second choice will require you change the source code of protobuf.

      jiapei100J Offline
      jiapei100J Offline
      jiapei100
      wrote on last edited by
      #3

      @JoeCFD said in Compatibility with the NEWEST protobuf?:

      ipt of the m

      Is there a way to just disable webengine directly?
      I can build webengine separately later on?

      Thank you ...

      Welcome to Longer Vision
      https://www.longervision.com

      JoeCFDJ 1 Reply Last reply
      0
      • jiapei100J jiapei100

        @JoeCFD said in Compatibility with the NEWEST protobuf?:

        ipt of the m

        Is there a way to just disable webengine directly?
        I can build webengine separately later on?

        Thank you ...

        JoeCFDJ Offline
        JoeCFDJ Offline
        JoeCFD
        wrote on last edited by JoeCFD
        #4

        @jiapei100 You can add something like the following:
        -skip quick3d -skip qt3d -skip wayland -skip location
        in your configure step.

        -skip webengine? or -skip qtwebengine? I am not sure about module name. You check it out and try it.

        jiapei100J 1 Reply Last reply
        0
        • JoeCFDJ JoeCFD

          @jiapei100 You can add something like the following:
          -skip quick3d -skip qt3d -skip wayland -skip location
          in your configure step.

          -skip webengine? or -skip qtwebengine? I am not sure about module name. You check it out and try it.

          jiapei100J Offline
          jiapei100J Offline
          jiapei100
          wrote on last edited by
          #5

          @JoeCFD said in Compatibility with the NEWEST protobuf?:

          @jiapei100 You can add something like the following:
          -skip quick3d -skip qt3d -skip wayland -skip location
          in your configure step.

          -skip webengine? or -skip qtwebengine? I am not sure about module name. You check it out and try it.

          I can tell from my side it's already turned off. However, I got:

          ......
          -- Skipping optional dependency 'qtwebengine' of 'qtwebview', because building 'qtwebengine' was explicitly disabled.
          -- Configuring submodule 'qtbase'
          [QtBase]     'qtwebengine_build' is changed from OFF to ON
          [QtBase]     'qtwebengine_core_build' is changed from OFF to ON
          [QtBase]     'qtwebengine_widgets_build' is changed from OFF to ON
          [QtBase]     'qtwebengine_quick_build' is changed from OFF to ON
          CMake Warning at qtbase/cmake/QtSetup.cmake:374 (message):
            Re-configuring in existing build folder.  Some features will be
            re-evaluated automatically.
          ......
          

          And, there are a couple of build errors, such as:

          ...
          FAILED: qtbase/libexec/qtprotobufgen 
          : && /usr/bin/c++ -DNDEBUG -O2 -Wl,--enable-new-dtags -no-pie qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/main.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/qprotobufgenerator.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/messagedeclarationprinter.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/messagedefinitionprinter.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/enumdeclarationprinter.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/enumdefinitionprinter.cpp.o -o qtbase/libexec/qtprotobufgen  -Wl,-rpath,/usr/local/lib:  qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a  /usr/local/lib/libprotoc.a  /usr/local/lib/libprotobuf.a  /usr/local/lib/libzlib.so  /usr/local/lib/libutf8_validity.a  /usr/local/lib/libabsl_log_internal_check_op.a  /usr/local/lib/libabsl_leak_check.a  /usr/local/lib/libabsl_die_if_null.a  /usr/local/lib/libabsl_log_internal_conditions.a  /usr/local/lib/libabsl_log_internal_message.a  /usr/local/lib/libabsl_log_internal_nullguard.a  /usr/local/lib/libabsl_examine_stack.a  /usr/local/lib/libabsl_log_internal_format.a  /usr/local/lib/libabsl_log_internal_proto.a  /usr/local/lib/libabsl_log_internal_log_sink_set.a  /usr/local/lib/libabsl_log_sink.a  /usr/local/lib/libabsl_log_entry.a  /usr/local/lib/libabsl_flags.a  /usr/local/lib/libabsl_flags_internal.a  /usr/local/lib/libabsl_flags_marshalling.a  /usr/local/lib/libabsl_flags_reflection.a  /usr/local/lib/libabsl_flags_config.a  /usr/local/lib/libabsl_flags_program_name.a  /usr/local/lib/libabsl_flags_private_handle_accessor.a  /usr/local/lib/libabsl_flags_commandlineflag.a  /usr/local/lib/libabsl_flags_commandlineflag_internal.a  /usr/local/lib/libabsl_log_initialize.a  /usr/local/lib/libabsl_log_globals.a  /usr/local/lib/libabsl_log_internal_globals.a  /usr/local/lib/libabsl_hash.a  /usr/local/lib/libabsl_city.a  /usr/local/lib/libabsl_low_level_hash.a  /usr/local/lib/libabsl_raw_hash_set.a  /usr/local/lib/libabsl_hashtablez_sampler.a  /usr/local/lib/libabsl_statusor.a  /usr/local/lib/libabsl_status.a  /usr/local/lib/libabsl_cord.a  /usr/local/lib/libabsl_cordz_info.a  /usr/local/lib/libabsl_cord_internal.a  /usr/local/lib/libabsl_cordz_functions.a  /usr/local/lib/libabsl_exponential_biased.a  /usr/local/lib/libabsl_cordz_handle.a  /usr/local/lib/libabsl_crc_cord_state.a  /usr/local/lib/libabsl_crc32c.a  /usr/local/lib/libabsl_crc_internal.a  /usr/local/lib/libabsl_crc_cpu_detect.a  /usr/local/lib/libabsl_bad_optional_access.a  /usr/local/lib/libabsl_str_format_internal.a  /usr/local/lib/libabsl_strerror.a  /usr/local/lib/libabsl_synchronization.a  /usr/local/lib/libabsl_stacktrace.a  /usr/local/lib/libabsl_symbolize.a  /usr/local/lib/libabsl_debugging_internal.a  /usr/local/lib/libabsl_demangle_internal.a  /usr/local/lib/libabsl_graphcycles_internal.a  /usr/local/lib/libabsl_malloc_internal.a  /usr/local/lib/libabsl_time.a  /usr/local/lib/libabsl_strings.a  /usr/local/lib/libabsl_throw_delegate.a  /usr/local/lib/libabsl_strings_internal.a  /usr/local/lib/libabsl_base.a  /usr/local/lib/libabsl_spinlock_wait.a  -lrt  /usr/local/lib/libabsl_int128.a  /usr/local/lib/libabsl_civil_time.a  /usr/local/lib/libabsl_time_zone.a  /usr/local/lib/libabsl_bad_variant_access.a  /usr/local/lib/libabsl_raw_logging_internal.a  /usr/local/lib/libabsl_log_severity.a  -lprotobuf && :
          /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::printPublicBlock()':
          baseprinter.cpp:(.text+0x1c4): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::printPrivateBlock()':
          baseprinter.cpp:(.text+0x254): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::Indent()':
          baseprinter.cpp:(.text+0x29c): undefined reference to `google::protobuf::io::Printer::Indent()'
          /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::printCommentsImpl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
          baseprinter.cpp:(.text+0x3ac): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: baseprinter.cpp:(.text+0x3f3): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: baseprinter.cpp:(.text+0x434): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: baseprinter.cpp:(.text+0x53e): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: baseprinter.cpp:(.text+0x599): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::Indent()':
          baseprinter.cpp:(.text+0x2a5): undefined reference to `google::protobuf::io::Printer::Indent()'
          /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(generatorbase.cpp.o): in function `qtprotoccommon::GeneratorBase::printDisclaimer(google::protobuf::io::Printer*)':
          generatorbase.cpp:(.text+0x4f4): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
          ,,,,,,
          ```.
          
          
          
          Seriously headaching to build Qt from source ????

          Welcome to Longer Vision
          https://www.longervision.com

          JoeCFDJ 1 Reply Last reply
          0
          • jiapei100J jiapei100

            @JoeCFD said in Compatibility with the NEWEST protobuf?:

            @jiapei100 You can add something like the following:
            -skip quick3d -skip qt3d -skip wayland -skip location
            in your configure step.

            -skip webengine? or -skip qtwebengine? I am not sure about module name. You check it out and try it.

            I can tell from my side it's already turned off. However, I got:

            ......
            -- Skipping optional dependency 'qtwebengine' of 'qtwebview', because building 'qtwebengine' was explicitly disabled.
            -- Configuring submodule 'qtbase'
            [QtBase]     'qtwebengine_build' is changed from OFF to ON
            [QtBase]     'qtwebengine_core_build' is changed from OFF to ON
            [QtBase]     'qtwebengine_widgets_build' is changed from OFF to ON
            [QtBase]     'qtwebengine_quick_build' is changed from OFF to ON
            CMake Warning at qtbase/cmake/QtSetup.cmake:374 (message):
              Re-configuring in existing build folder.  Some features will be
              re-evaluated automatically.
            ......
            

            And, there are a couple of build errors, such as:

            ...
            FAILED: qtbase/libexec/qtprotobufgen 
            : && /usr/bin/c++ -DNDEBUG -O2 -Wl,--enable-new-dtags -no-pie qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/main.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/qprotobufgenerator.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/messagedeclarationprinter.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/messagedefinitionprinter.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/enumdeclarationprinter.cpp.o qtgrpc/src/tools/qtprotobufgen/CMakeFiles/qtprotobufgen.dir/enumdefinitionprinter.cpp.o -o qtbase/libexec/qtprotobufgen  -Wl,-rpath,/usr/local/lib:  qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a  /usr/local/lib/libprotoc.a  /usr/local/lib/libprotobuf.a  /usr/local/lib/libzlib.so  /usr/local/lib/libutf8_validity.a  /usr/local/lib/libabsl_log_internal_check_op.a  /usr/local/lib/libabsl_leak_check.a  /usr/local/lib/libabsl_die_if_null.a  /usr/local/lib/libabsl_log_internal_conditions.a  /usr/local/lib/libabsl_log_internal_message.a  /usr/local/lib/libabsl_log_internal_nullguard.a  /usr/local/lib/libabsl_examine_stack.a  /usr/local/lib/libabsl_log_internal_format.a  /usr/local/lib/libabsl_log_internal_proto.a  /usr/local/lib/libabsl_log_internal_log_sink_set.a  /usr/local/lib/libabsl_log_sink.a  /usr/local/lib/libabsl_log_entry.a  /usr/local/lib/libabsl_flags.a  /usr/local/lib/libabsl_flags_internal.a  /usr/local/lib/libabsl_flags_marshalling.a  /usr/local/lib/libabsl_flags_reflection.a  /usr/local/lib/libabsl_flags_config.a  /usr/local/lib/libabsl_flags_program_name.a  /usr/local/lib/libabsl_flags_private_handle_accessor.a  /usr/local/lib/libabsl_flags_commandlineflag.a  /usr/local/lib/libabsl_flags_commandlineflag_internal.a  /usr/local/lib/libabsl_log_initialize.a  /usr/local/lib/libabsl_log_globals.a  /usr/local/lib/libabsl_log_internal_globals.a  /usr/local/lib/libabsl_hash.a  /usr/local/lib/libabsl_city.a  /usr/local/lib/libabsl_low_level_hash.a  /usr/local/lib/libabsl_raw_hash_set.a  /usr/local/lib/libabsl_hashtablez_sampler.a  /usr/local/lib/libabsl_statusor.a  /usr/local/lib/libabsl_status.a  /usr/local/lib/libabsl_cord.a  /usr/local/lib/libabsl_cordz_info.a  /usr/local/lib/libabsl_cord_internal.a  /usr/local/lib/libabsl_cordz_functions.a  /usr/local/lib/libabsl_exponential_biased.a  /usr/local/lib/libabsl_cordz_handle.a  /usr/local/lib/libabsl_crc_cord_state.a  /usr/local/lib/libabsl_crc32c.a  /usr/local/lib/libabsl_crc_internal.a  /usr/local/lib/libabsl_crc_cpu_detect.a  /usr/local/lib/libabsl_bad_optional_access.a  /usr/local/lib/libabsl_str_format_internal.a  /usr/local/lib/libabsl_strerror.a  /usr/local/lib/libabsl_synchronization.a  /usr/local/lib/libabsl_stacktrace.a  /usr/local/lib/libabsl_symbolize.a  /usr/local/lib/libabsl_debugging_internal.a  /usr/local/lib/libabsl_demangle_internal.a  /usr/local/lib/libabsl_graphcycles_internal.a  /usr/local/lib/libabsl_malloc_internal.a  /usr/local/lib/libabsl_time.a  /usr/local/lib/libabsl_strings.a  /usr/local/lib/libabsl_throw_delegate.a  /usr/local/lib/libabsl_strings_internal.a  /usr/local/lib/libabsl_base.a  /usr/local/lib/libabsl_spinlock_wait.a  -lrt  /usr/local/lib/libabsl_int128.a  /usr/local/lib/libabsl_civil_time.a  /usr/local/lib/libabsl_time_zone.a  /usr/local/lib/libabsl_bad_variant_access.a  /usr/local/lib/libabsl_raw_logging_internal.a  /usr/local/lib/libabsl_log_severity.a  -lprotobuf && :
            /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::printPublicBlock()':
            baseprinter.cpp:(.text+0x1c4): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::printPrivateBlock()':
            baseprinter.cpp:(.text+0x254): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::Indent()':
            baseprinter.cpp:(.text+0x29c): undefined reference to `google::protobuf::io::Printer::Indent()'
            /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::printCommentsImpl(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
            baseprinter.cpp:(.text+0x3ac): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: baseprinter.cpp:(.text+0x3f3): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: baseprinter.cpp:(.text+0x434): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: baseprinter.cpp:(.text+0x53e): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: baseprinter.cpp:(.text+0x599): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(baseprinter.cpp.o): in function `qtprotoccommon::BasePrinter::Indent()':
            baseprinter.cpp:(.text+0x2a5): undefined reference to `google::protobuf::io::Printer::Indent()'
            /usr/bin/ld: qtgrpc/src/tools/qtprotoccommon/libQtProtocCommon.a(generatorbase.cpp.o): in function `qtprotoccommon::GeneratorBase::printDisclaimer(google::protobuf::io::Printer*)':
            generatorbase.cpp:(.text+0x4f4): undefined reference to `google::protobuf::io::Printer::Print(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, char const*)'
            ,,,,,,
            ```.
            
            
            
            Seriously headaching to build Qt from source ????
            JoeCFDJ Offline
            JoeCFDJ Offline
            JoeCFD
            wrote on last edited by
            #6

            @jiapei100 Better to remove the build dir completely and rebuild everything from scratch.

            jiapei100J 2 Replies Last reply
            0
            • JoeCFDJ JoeCFD

              @jiapei100 Better to remove the build dir completely and rebuild everything from scratch.

              jiapei100J Offline
              jiapei100J Offline
              jiapei100
              wrote on last edited by
              #7

              @JoeCFD said in Compatibility with the NEWEST protobuf?:

              @jiapei100 Better to remove the build dir completely and rebuild everything from scratch.

              Please take a look at this pastebin ...

              I gave up ... my god...

              Welcome to Longer Vision
              https://www.longervision.com

              1 Reply Last reply
              0
              • JoeCFDJ JoeCFD

                @jiapei100 Better to remove the build dir completely and rebuild everything from scratch.

                jiapei100J Offline
                jiapei100J Offline
                jiapei100
                wrote on last edited by jiapei100
                #8

                @JoeCFD said in Compatibility with the NEWEST protobuf?:

                @jiapei100 Better to remove the build dir completely and rebuild everything from scratch.

                As I can see while building qt5 from source, I clearly got:

                Note: Also available for Linux: linux-clang linux-icc
                
                Note: The following modules are not being compiled in this configuration:
                    webenginecore
                    webengine
                    webenginewidgets
                    pdf
                    pdfwidgets
                
                WARNING: Python version 2 (2.7.5 or later) is required to build QtWebEngine.
                
                WARNING: Python version 2 (2.7.5 or later) is required to build QtPdf.
                
                WARNING: QtWebEngine will not be built.
                
                WARNING: QtPdf will not be built.
                

                by which, I can avoid buiding webengine related libraries..
                It looks webengine brings a lot of headache.

                BTW, does qt6 require Python3 ONLY now? We don't need Python2 any more? ^_^ That's a good news...

                Welcome to Longer Vision
                https://www.longervision.com

                JoeCFDJ 1 Reply Last reply
                0
                • jiapei100J jiapei100

                  @JoeCFD said in Compatibility with the NEWEST protobuf?:

                  @jiapei100 Better to remove the build dir completely and rebuild everything from scratch.

                  As I can see while building qt5 from source, I clearly got:

                  Note: Also available for Linux: linux-clang linux-icc
                  
                  Note: The following modules are not being compiled in this configuration:
                      webenginecore
                      webengine
                      webenginewidgets
                      pdf
                      pdfwidgets
                  
                  WARNING: Python version 2 (2.7.5 or later) is required to build QtWebEngine.
                  
                  WARNING: Python version 2 (2.7.5 or later) is required to build QtPdf.
                  
                  WARNING: QtWebEngine will not be built.
                  
                  WARNING: QtPdf will not be built.
                  

                  by which, I can avoid buiding webengine related libraries..
                  It looks webengine brings a lot of headache.

                  BTW, does qt6 require Python3 ONLY now? We don't need Python2 any more? ^_^ That's a good news...

                  JoeCFDJ Offline
                  JoeCFDJ Offline
                  JoeCFD
                  wrote on last edited by JoeCFD
                  #9

                  @jiapei100 What is your OS? I remember I could build it without webengine module on Ubuntu. I can try it again.

                  jiapei100J 1 Reply Last reply
                  0
                  • JoeCFDJ JoeCFD

                    @jiapei100 What is your OS? I remember I could build it without webengine module on Ubuntu. I can try it again.

                    jiapei100J Offline
                    jiapei100J Offline
                    jiapei100
                    wrote on last edited by
                    #10

                    @JoeCFD said in Compatibility with the NEWEST protobuf?:

                    @jiapei100 What is your OS? I remember I could build it without webengine module on Ubuntu. I can try it again.

                    I am using Ubuntu 22.04...

                    Welcome to Longer Vision
                    https://www.longervision.com

                    JoeCFDJ 1 Reply Last reply
                    0
                    • jiapei100J jiapei100

                      @JoeCFD said in Compatibility with the NEWEST protobuf?:

                      @jiapei100 What is your OS? I remember I could build it without webengine module on Ubuntu. I can try it again.

                      I am using Ubuntu 22.04...

                      JoeCFDJ Offline
                      JoeCFDJ Offline
                      JoeCFD
                      wrote on last edited by JoeCFD
                      #11

                      @jiapei100 add -skip qtwebengine -skip qtwebview -skip qtdoc will turn off webengine build

                      1 Reply Last reply
                      0
                      • semlanikS Offline
                        semlanikS Offline
                        semlanik
                        wrote on last edited by semlanik
                        #12

                        The error was fixed here I believe: https://codereview.qt-project.org/c/qt/qtgrpc/+/487341

                        The error you observe is unrelated to webengine, but it's qtgrpc module that was introduced in Qt6.5. You can skip building it using -skip qtgrpc argument.

                        In our CI we build qtgrpc module against protobuf version 21 by now.

                        The linker error meanwhile looks strange. Did you update the standard library in your system recently? Did you rebuild/reinstall the protobuf in /usr/local/lib? If yes, please submit issue to our bugtracker so we can investigate this issue and provide the respective fix.

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved