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

Qt: add component support for Qt5 #5691

Merged
merged 16 commits into from
Jun 15, 2021

Conversation

wdobbe
Copy link
Contributor

@wdobbe wdobbe commented May 29, 2021

Specify library name and version: qt/5.15.2
Resolves #4529.

This PR backports component support from the Qt6 recipe. In addition I added most of the Qt modules that are not ported to Qt6 yet.

In a cmake script you can now call find_package in the same way as when using the Qt libraries from the upstream Qt installer:
find_package(Qt5 5.15.2 COMPONENTS Core Gui Network Widgets QuickControls2 REQUIRED)

Also added a patch to fix QtWebEngine compile errors with VS2019 (QTBUG-88625).

With the Qt5 recipe that is currently in CCI, building the QtWebEngine module on Linux fails on both my Linux machines during linking with an unresolved symbol error to a Freetype symbol. I have not been able to solve this. At first I suspected host contamination but that doesn't seem to be the case. I have marked QtWebEngine on Linux as an invalid configuration.
linking ../../lib/libQt5WebEngineCore.so.5.15.2

/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: /home/wdobbe/.conan/data/fontconfig/2.13.93/_/_/package/6d993acb2c48d439d3b1f7a0d34d2d4140abcfef/lib/libfontconfig.a(fcfreetype.o): in function `FcFreeTypeQueryFaceInternal':
fcfreetype.c:(.text+0x2f61): undefined reference to `FT_Get_BDF_Property'
/usr/lib64/gcc/x86_64-suse-linux/10/../../../../x86_64-suse-linux/bin/ld: fcfreetype.c:(.text+0x2f97): undefined reference to `FT_Get_BDF_Property'

I tested the following components with my own Qt projects: Core Gui Network QuickControls2 SerialPort on Linux and Windows. The other modules added to package_info() are untested.

Note that this change is not backwards compatible for users of the Qt5 recipe that is currently in CCI.

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@ghost
Copy link

ghost commented May 29, 2021

I detected other pull requests that are modifying qt/5.x.x recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

@ericLemanissier ericLemanissier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for the hard work !

@@ -10,6 +10,7 @@ class TestPackageConan(ConanFile):
generators = "qt", "cmake", "cmake_find_package_multi"

def build_requirements(self):
self.build_requires("cmake/3.20.2")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For qt6 this was needed because qt itself requires recent cmake. Why is this needed here ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because in the build() function of this test package we build also with cmake:

def build(self):
        self._build_with_qmake()
        self._build_with_meson()
        self._build_with_cmake_find_package_multi()

Copy link
Contributor

@ericLemanissier ericLemanissier May 31, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, but cmake is already pre-required for ~100% of recipes on CCI. If build passes with the cmake version shipped with MSVC, and the versions in https://github.com/conan-io/conan-docker-tools images (which seems to be the case currently, otherwise the recipe would not have passed Conan Center Continous Integration), then there is no need to be explicit about it in build_requirements

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, will remove that from build_requirements then.

Comment on lines 659 to 660
def _cmake_qt5_private_file(self, module):
return os.path.join("lib", "cmake", "Qt5{0}".format(module), "conan_qt_qt5_{0}private.cmake".format(module.lower()))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is never called. is it needed ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right, I will remove that function.

Comment on lines 258 to 265
if self.settings.os == "Linux":
#Linking of QtWebEngine shared library fails with unresolved error to freetype.
raise ConanInvalidConfiguration("Building QtWebEngine on Linux will currently result in a build error.")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the error match a bugreport upstream ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't found one yet. It is possible that this issue only happens on Suse systems. I built the bincrafters Qt5 recipe and got the same link error. After office hours I can build the recipe on an Ubuntu system to see if it succeeds there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Building qt5 package with qt:qtwebengine=True on Ubuntu 20 fails already during compilation stage, see below. Debugging this is complicated because the chromium build system is driven by qmake, so multiple levels. Also I am running out of time that I can spend on this, so I will leave QtWebEngine on Linux as an invalid configuration.

Project MESSAGE: Running: /home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/3rdparty/gn/out/Release/gn gen /home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/pdf/release --script-executable=/usr/bin/python2 --args='use_qt=true init_stack_vars=false is_component_build=false is_shared=true enable_debugallocation=false enable_media_remoting=false enable_message_center=false enable_nacl=false enable_remoting=false enable_reporting=false enable_resource_whitelist_generation=false enable_swiftshader=false angle_enable_swiftshader=false enable_web_auth=true enable_web_speech=false enable_widevine=true forbid_non_component_debug_builds=false has_native_accessibility=false safe_browsing_mode=0 toolkit_views=false treat_warnings_as_errors=false use_allocator_shim=false use_allocator="none" use_custom_libcxx=false closure_compile=false optimize_webui=false v8_use_external_startup_data=false strip_absolute_paths_from_debug_symbols=false use_jumbo_build=true jumbo_file_merge_limit=8 jumbo_build_excluded=["browser"] enable_precompiled_headers=true is_official_build=true is_debug=false symbol_level=0 blink_symbol_level=0 remove_v8base_debug_symbols=true use_cups=false use_gio=false use_gnome_keyring=false linux_use_bundled_binutils=false use_udev=true use_bundled_fontconfig=false use_sysroot=false enable_session_service=false is_cfi=false use_ozone=true ozone_auto_platforms=false ozone_platform_headless=false ozone_platform_external=true ozone_platform="qt" ozone_extra_path="/home/robocoop/.conan/data/qt/5.15.2/_/_/source/qt5/qtwebengine/src/core/ozone/ozone_extra.gni" use_gold=false use_lld=false is_clang=false custom_toolchain="/home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/toolchain:target" host_toolchain="/home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/toolchain:host" host_cpu="x64" pkg_config="pkg-config" host_pkg_config="/usr/bin/pkg-config" pdfium_use_system_zlib=true use_system_libpng=true pdfium_use_system_libpng=true use_system_libjpeg=false use_system_freetype=true use_system_harfbuzz=false use_glib=false pdf_enable_v8=false pdf_enable_xfa=false pdf_enable_xfa_bmp=false pdf_enable_xfa_gif=false pdf_enable_xfa_png=false pdf_enable_xfa_tiff=false qtwebengine_target="/home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/pdf/release:QtPdf"' --root=/home/robocoop/.conan/data/qt/5.15.2/_/_/source/qt5/qtwebengine/src/3rdparty/chromium
ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code.
    pkgresult = exec_script(pkg_config_script, args, "value")
                ^----------
Current dir: /home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/pdf/release/
Command: /usr/bin/python2 /home/robocoop/.conan/data/qt/5.15.2/_/_/source/qt5/qtwebengine/src/3rdparty/chromium/build/config/linux/pkg-config.py -p pkg-config nss -v -lssl3
Returned 1.
stderr:

Package nss was not found in the pkg-config search path.
Perhaps you should add the directory containing `nss.pc'
to the PKG_CONFIG_PATH environment variable
No package 'nss' found
Could not run pkg-config.

See //build/config/linux/nss/BUILD.gn:15:3: whence it was called.
  pkg_config("system_nss_no_ssl_config") {
  ^---------------------------------------
See //crypto/BUILD.gn:214:25: which caused the file to be included.
    public_configs += [ "//build/config/linux/nss:system_nss_no_ssl_config" ]
                        ^--------------------------------------------------
Project ERROR: GN run error!
make[3]: *** [Makefile:65: sub-gn_run-pro-make_first] Error 3
make[3]: Leaving directory '/home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src/pdf'
make[2]: *** [Makefile:101: sub-pdf-make_first] Error 2
make[2]: Leaving directory '/home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine/src'
make[1]: *** [Makefile:49: sub-src-make_first] Error 2
make[1]: Leaving directory '/home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955/build_folder/qtwebengine'
make: *** [Makefile:99: module-qtwebengine-make_first] Error 2
qt/5.15.2:
qt/5.15.2: ERROR: Package '9561b33a597e07c59d1245673bc56880e181f955' build failed
qt/5.15.2: WARN: Build folder /home/robocoop/.conan/data/qt/5.15.2/_/_/build/9561b33a597e07c59d1245673bc56880e181f955
ERROR: qt/5.15.2: Error in build() method, line 653
        self.run(self._make_program(), run_environment=True)
        ConanException: Error 2 while executing make

@wdobbe
Copy link
Contributor Author

wdobbe commented May 31, 2021

@ericLemanissier Linking of the test_package executable fails with msvc 14, double-conversion.lib seems to be missing. I believe msvc 14 is Visual Studio 2015. Do you have a clue what the cause is? I have only VS2019 installed, so will be difficult to investigate.

@ericLemanissier
Copy link
Contributor

I don't know. let's see what libraries #5702 generates

@conan-center-bot

This comment has been minimized.

@ericLemanissier
Copy link
Contributor

ericLemanissier commented May 31, 2021

https://c3i.jfrog.io/artifactory/misc/logs/pr/5702/1/double-conversion/3.1.5/df81ad20137149d7a51276fd3e24009b45e5964a-build.txt says Installing: C:/J/w/BuildSingleReference/.conan/data/double-conversion/3.1.5/_/_/package/df81ad20137149d7a51276fd3e24009b45e5964a/lib/double-conversion.lib
whereas this PR's CI fails with LINK : fatal error LNK1181: cannot open input file 'C:\J\w\BuildSingleReference\.conan\data\double-conversion\3.1.5\_\_\package\df81ad20137149d7a51276fd3e24009b45e5964a\lib\double-conversion.lib' , which is exactly the same path. maybe the binary on CCI is corrupted ? Is there a way to download it manually ?

EDIT: I just ran conan download double-conversion/3.1.5@:df81ad20137149d7a51276fd3e24009b45e5964a -r conan-center and I probably got C:\Users\Eric Lemanissier\.conan\data\double-conversion\3.1.5\_\_\package\df81ad20137149d7a51276fd3e24009b45e5964a\lib\double-conversion.lib. I don't know Why the linker fails to open the file :/

EDIT2: CI seems to have an unrelated failure, because there is no -build.txt log for the failure configuration. You should probably restart the build by pushing a new commit

@wdobbe
Copy link
Contributor Author

wdobbe commented May 31, 2021

@ericLemanissier Thanks for investigating.
Because of the extreme long CI build times, I will push all other comments and changes in one commit tomorrow (hopefully).

wdobbe added a commit to wdobbe/conan-center-index that referenced this pull request Jun 1, 2021
@conan-center-bot

This comment has been minimized.

wdobbe added a commit to wdobbe/conan-center-index that referenced this pull request Jun 1, 2021
@wdobbe
Copy link
Contributor Author

wdobbe commented Jun 1, 2021

Rebased to master after merge of #5488 .

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@ericLemanissier
Copy link
Contributor

There seem to be some components referring to non-existing libraries, as can be seen in earlier logs:

qt/5.15.2: WARN: Lib folder doesn't exist, can't collect libraries: C:\J\w\BuildSingleReference@5/s\48c799\1\res\archdatadir\plugins\sqldrivers
[HOOK - conan-center.py] post_package_info(): ERROR: [LIBRARY DOES NOT EXIST (KB-H054)] Component qt::qtQSQLiteDriverPlugin library "qsqlite" not found in libdirs (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H054)
qt/5.15.2: WARN: Lib folder doesn't exist, can't collect libraries: C:\J\w\BuildSingleReference@5/s\48c799\1\res\archdatadir\plugins\sqldrivers
[HOOK - conan-center.py] post_package_info(): ERROR: [LIBRARY DOES NOT EXIST (KB-H054)] Component qt::qtQPSQLDriverPlugin library "qsqlpsql" not found in libdirs (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H054)
[HOOK - conan-center.py] post_package_info(): ERROR: [LIBRARY DOES NOT EXIST (KB-H054)] Component qt::qtOpenGLWidgets library "Qt5OpenGLWidgets" not found in libdirs (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H054)

(this kind of error should make the build fail, but it does not until conan-io/hooks#299 is merged)

Do you think this can be fixed ?

@ericLemanissier ericLemanissier mentioned this pull request Jun 2, 2021
4 tasks
@wdobbe wdobbe dismissed stale reviews from SSE4, prince-chrismc, and AndreyMlashkin via 118b92d June 15, 2021 10:44
@wdobbe
Copy link
Contributor Author

wdobbe commented Jun 15, 2021

I left expat at version 2.3.0 because expat 2.4.1 doesn't build, at least not on my Linux system.

@wdobbe
Copy link
Contributor Author

wdobbe commented Jun 15, 2021

Expat now also increased to latest version 2.4.1. Build problem was already fixed in CCI, I had an older package revision in my cache.

@conan-center-bot

This comment has been minimized.

@AndreyMlashkin
Copy link
Contributor

I have a build problem around icu lib. It is not a regression - it was already in the previous version.
build_error.txt

@wdobbe
Copy link
Contributor Author

wdobbe commented Jun 15, 2021

@AndreyMlashkin See issue 5824. It's a known issue that is difficult to solve. The work-around is to uninstall the system icu development files. On Suse that is package libicu-devel.

@wdobbe wdobbe closed this Jun 15, 2021
@wdobbe wdobbe reopened this Jun 15, 2021
@wdobbe
Copy link
Contributor Author

wdobbe commented Jun 15, 2021

Ah, sorry. I now see that you created that issue yourself...
I have the same issue. The Qt build uses the include files from the libicu Conan package but then links to the system icu library.

@conan-center-bot
Copy link
Collaborator

All green in build 18 (3e539a709bdfbb19b2c10b90a82fd25426cd9580):

  • qt/5.15.2@:
    All packages built successfully! (All logs)

Copy link
Contributor

@jgsogo jgsogo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing!

@yssource
Copy link
Contributor

yssource commented Jun 21, 2021

It is odd, why it looks for the dynamic .so libs.
test_package fails to compile with the default options. "build statically".

/home/jimmy/.dotfiles/ccache/ccache-clang++ -c -pipe -stdlib=libc++ -O2 -Wall -Wextra -ffunction-sections -fdata-sections -D_REENTRANT -fPIC -DLIBXML_STATIC -D_DEFAULT_SOURCE -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -DXML_STATIC -DLIBJPEG_STATIC -DU_STATIC_IMPLEMENTATION -DPCRE2_STATIC -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_TEST_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB -DQT_OPENGLEXTENSIONS_LIB -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_CONCURRENT_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_CORE_LIB -I../../../../test_package -I. -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtNetwork -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtSql -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtTest -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtPrintSupport -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtWidgets -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtOpenGL -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtOpenGLExtensions -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtGui -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtDBus -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtConcurrent -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtXml -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/include/QtCore -I/home/jimmy/.conan/data/pcre2/10.37/_/_/package/5e185a78724fe0f44e9ecab42f66566638b5d65e/include -I/home/jimmy/.conan/data/double-conversion/3.1.5/_/_/package/28d0bbd713852d5aeb2f9ba3fe22e5f3f11773a5/include -I/home/jimmy/.conan/data/fontconfig/2.13.93/_/_/package/f523cc67dd0897a5d6a64de0d1465718dc1de406/include -I/home/jimmy/.conan/data/icu/69.1/_/_/package/8619d41715c0d4c534ad56167b26ae443d90ade7/include -I/home/jimmy/.conan/data/libjpeg/9d/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/home/jimmy/.conan/data/sqlite3/3.35.5/_/_/package/024b8b7ce26d8c2a5b8c3015baef8593826a8b65/include -I/home/jimmy/.conan/data/libmysqlclient/8.0.25/_/_/package/20ad92eb9199e6f2110c0bfc328a0cb6e56b12ad/include -I/home/jimmy/.conan/data/libpq/13.2/_/_/package/dfc4f030a79dc66b0a6e73dfd9bf06c43adb96e0/include -I/home/jimmy/.conan/data/odbc/2.3.9/_/_/package/27bd0833f49a7fd2dbfc6bff3ed69ab25dc85dd3/include -I/home/jimmy/.conan/data/xkbcommon/1.3.0/_/_/package/117e64fd416892eb0cf61f739af93d234894f7c3/include -I/home/jimmy/.conan/data/openssl/1.1.1k/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/home/jimmy/.conan/data/freetype/2.10.4/_/_/package/e80f0596acddadb0055027d04ac6a9875f44573e/include -I/home/jimmy/.conan/data/freetype/2.10.4/_/_/package/e80f0596acddadb0055027d04ac6a9875f44573e/include/freetype2 -I/home/jimmy/.conan/data/expat/2.4.1/_/_/package/c0f084393d9413a84a01f8cbf9e6f763ddec5b25/include -I/home/jimmy/.conan/data/libuuid/1.0.3/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/home/jimmy/.conan/data/libuuid/1.0.3/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include/uuid -I/home/jimmy/.conan/data/zstd/1.5.0/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/home/jimmy/.conan/data/lz4/1.9.3/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/home/jimmy/.conan/data/libxml2/2.9.10/_/_/package/29df9232f979ff47baf081f8bbb3721394405ffc/include -I/home/jimmy/.conan/data/libxml2/2.9.10/_/_/package/29df9232f979ff47baf081f8bbb3721394405ffc/include/libxml2 -I/home/jimmy/.conan/data/bzip2/1.0.8/_/_/package/00c750ce60d90d17c6eb9a941db66d67f523d38f/include -I/home/jimmy/.conan/data/libpng/1.6.37/_/_/package/7c8ca535f58f42069ca466da60b5c61f4688554c/include -I/home/jimmy/.conan/data/brotli/1.0.9/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/home/jimmy/.conan/data/brotli/1.0.9/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include/brotli -I/home/jimmy/.conan/data/libiconv/1.16/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I/home/jimmy/.conan/data/zlib/1.2.11/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/include -I. -I/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/bin/archdatadir/mkspecs/linux-clang-libc++ -o moc_greeter.o moc_greeter.cpp
/home/jimmy/.dotfiles/ccache/ccache-clang++ -ccc-gcc-name g++ -stdlib=libc++ -Wl,--gc-sections -o bin/test_package test_package.o qrc_example.o moc_greeter.o   -lqsqlite -lqsqlpsql -lqsqlmysql -lqsqlodbc -lQt5Network -lQt5Sql -lQt5Test -lQt5PrintSupport -lQt5Widgets -lQt5OpenGL /home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Widgets.so -lQt5OpenGLExtensions /home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Gui.so -lQt5Gui -lQt5DBus -lQt5Concurrent -lQt5Xml /home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Core.so -lQt5Core -lpcre2-posix -lpcre2-8 -lpcre2-32 -lfontconfig -ljpeg -lsqlite3 -lmysqlclient -lpq -lpgcommon -lpgcommon_shlib -lpgport -lpgport_shlib -lodbc -lodbcinst -lodbccr -lltdl -lxkbcommon-x11 -lxkbcommon -lxkbregistry -lssl -lcrypto -lfreetype -lexpat -luuid -llz4 -lxml2 -lbz2 -lpng16 -lbrotlidec-static -lbrotlienc-static -lbrotlicommon-static -liconv -lcharset -L/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/bin/archdatadir/plugins/sqldrivers -L/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib -L/home/jimmy/.conan/data/pcre2/10.37/_/_/package/5e185a78724fe0f44e9ecab42f66566638b5d65e/lib -L/home/jimmy/.conan/data/double-conversion/3.1.5/_/_/package/28d0bbd713852d5aeb2f9ba3fe22e5f3f11773a5/lib -L/home/jimmy/.conan/data/fontconfig/2.13.93/_/_/package/f523cc67dd0897a5d6a64de0d1465718dc1de406/lib -L/home/jimmy/.conan/data/icu/69.1/_/_/package/8619d41715c0d4c534ad56167b26ae443d90ade7/lib -L/home/jimmy/.conan/data/libjpeg/9d/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/sqlite3/3.35.5/_/_/package/024b8b7ce26d8c2a5b8c3015baef8593826a8b65/lib -L/home/jimmy/.conan/data/libmysqlclient/8.0.25/_/_/package/20ad92eb9199e6f2110c0bfc328a0cb6e56b12ad/lib -L/home/jimmy/.conan/data/libpq/13.2/_/_/package/dfc4f030a79dc66b0a6e73dfd9bf06c43adb96e0/lib -L/home/jimmy/.conan/data/odbc/2.3.9/_/_/package/27bd0833f49a7fd2dbfc6bff3ed69ab25dc85dd3/lib -L/home/jimmy/.conan/data/xkbcommon/1.3.0/_/_/package/117e64fd416892eb0cf61f739af93d234894f7c3/lib -L/home/jimmy/.conan/data/openssl/1.1.1k/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/freetype/2.10.4/_/_/package/e80f0596acddadb0055027d04ac6a9875f44573e/lib -L/home/jimmy/.conan/data/expat/2.4.1/_/_/package/c0f084393d9413a84a01f8cbf9e6f763ddec5b25/lib -L/home/jimmy/.conan/data/libuuid/1.0.3/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/zstd/1.5.0/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/lz4/1.9.3/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/libxml2/2.9.10/_/_/package/29df9232f979ff47baf081f8bbb3721394405ffc/lib -L/home/jimmy/.conan/data/bzip2/1.0.8/_/_/package/00c750ce60d90d17c6eb9a941db66d67f523d38f/lib -L/home/jimmy/.conan/data/libpng/1.6.37/_/_/package/7c8ca535f58f42069ca466da60b5c61f4688554c/lib -L/home/jimmy/.conan/data/brotli/1.0.9/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/libiconv/1.16/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -L/home/jimmy/.conan/data/zlib/1.2.11/_/_/package/cf142e38e022cf2a99aadebfd8f37ead3e935ad7/lib -lGL -lrt -lX11 -lX11-xcb -lxcb -lfontenc -lICE -lSM -lXau -lXaw7 -lXt -lXcomposite -lXcursor -lXdamage -lXfixes -lXdmcp -lXext -lXft -lXi -lXinerama -lxkbfile -lXmu -lXmuu -lXpm -lXrandr -lXrender -lXRes -lXss -lXtst -lXv -lXvMC -lXxf86vm -lxcb-xkb -lxcb-icccm -lxcb-image -lxcb-shm -lxcb-keysyms -lxcb-randr -lxcb-render -lxcb-render-util -lxcb-shape -lxcb-sync -lxcb-xfixes -lxcb-xinerama -lxcb-util -lxcb-dri3 /home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Core.a -lz -ldouble-conversion -licuio -licutest -licutu -licui18n -licuuc -licudata -lm -lc++ -ldl -lpcre2-16 -lzstd -lpthread
clang-12: error: no such file or directory: '/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Widgets.so'
clang-12: error: no such file or directory: '/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Gui.so'
clang-12: error: no such file or directory: '/home/jimmy/.conan/data/qt/5.15.2/_/_/package/fcd4199f3470d8bf0f147337e6a83fe97990a595/lib/libQt5Core.so'
make: *** [Makefile:181: bin/test_package] Error 1
ERROR: qt/5.15.2 (test package): Error in build() method, line 88
	self._build_with_qmake()
while calling '_build_with_qmake', line 61
	self.run("make", run_environment=True)
	ConanException: Error 2 while executing make

But, if I add LIBS -= $$CONAN_LIBS_QT , then it would successfully compiled.

SOURCES += test_package.cpp

HEADERS += greeter.h

RESOURCES = example.qrc

QT -= gui

CONFIG += console

CONFIG += conan_basic_setup
include($$OUT_PWD/../conanbuildinfo.pri)
LIBS -= $$CONAN_LIBS_QT # <--- here

comment # CONFIG += conan_basic_setup
works for me also.

madebr pushed a commit to madebr/conan-center-index that referenced this pull request Jun 21, 2021
* Backport Qt component support from qt6 recipe to qt5 recipe (resolves conan-io#4529). Needs more testing before PR.

* Backport Qt component support from qt6 recipe to qt5 recipe (resolves conan-io#4529). Changes for component support with VS2019. Add patch for QTBUG-88625.

* Backport Qt component support from qt6 recipe to qt5 recipe (resolves conan-io#4529). Move invalid configuration checks to validate function. Mark building QtWebEngine on Linux as currently broken.

* Backport Qt component support from qt6 recipe to qt5 recipe (resolves conan-io#4529). Fix test package build errors on MacOS

* Backport Qt component support from qt6 recipe to qt5 recipe (resolves conan-io#4529). Not all Qt modules are added to package_info() yet.

* Qt5: Add most of the remaining components in package_info. (resolves conan-io#4529)

* Change qtbluetooth module to qtconnectivity again, rebase to master

* Qt5: Add modules datavisualization and networkauth. (resolves conan-io#4529)

* Qt5: Add MacOs plugins. (resolves conan-io#4529)

* Qt5 components: with_mysql option is deleted for old compilers

* Implement feedback on PR conan-io#5691, remove not needed requirement and function

* Qt5: add fixes that were lost with last rebase, re-enable QtWebEngine on Linux

* Re-add typo fix for sqldrivers plugin type, was lost in last rebase

* Don't link to qt plugins when qt:shared=True. Implement PR feedback.

* PR feedback. Upgrade dependencies to latest version.

* Increase expat dependency version to 2.4.1.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[package] <Qt/5>: Components support
9 participants