Compatibility with the NEWEST protobuf?
-
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 ???- 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
- 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 thislogging.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
-
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 ???- 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
- 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 thislogging.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
@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.
-
@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.
-
@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 ...
@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.
-
@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.
@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 ????
-
@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 ????
@jiapei100 Better to remove the build dir completely and rebuild everything from scratch.
-
@jiapei100 Better to remove the build dir completely and rebuild everything from scratch.
@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...
-
@jiapei100 Better to remove the build dir completely and rebuild everything from scratch.
@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...
-
@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...
@jiapei100 What is your OS? I remember I could build it without webengine module on Ubuntu. I can try it again.
-
@jiapei100 What is your OS? I remember I could build it without webengine module on Ubuntu. I can try it again.
@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...
-
@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...
@jiapei100 add -skip qtwebengine -skip qtwebview -skip qtdoc will turn off webengine build
-
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.