Re: [ptxdist] Ptxdists use of pkg-config causing issues with Qt-5.9
Hi, On Fri, Feb 23, 2018 at 01:09:19PM +0100, Benjamin Federau wrote: > I tried to get Qt 5.9 built with PTXDist and after I have set the > PKG_CONFIG_SYSROOT_DIR=/ and have done some minor adjustments to qt5.make > regarding configure parameter it builds until it reaches the QtWebengine > part. > > [2/14208] CXX obj/dbus/dbus/property.o > FAILED: obj/dbus/dbus/property.o > /opt/wsp/s-bsp/platform-abc/sysroot-host/lib/wrapper/arm-v7a-linux-gnueabihf-g++ > -MMD -MF obj/dbus/dbus/property.o.d -DDBUS_IMPLEMENTATION > -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_OPENSSL_CERTS=1 > -DUSE_OZONE=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_TASK_MANAGER=1 > -DENABLE_THEMES=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD > -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED > -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE > -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND > -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 > -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE > -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER > -DHAVE_PTHREAD -Igen > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium > > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/opt/wsp/s-bsp/platform-abc/sysroot-target/usr/include/dbus-1.0 > > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/opt/wsp/s-bsp/platform-abc/sysroot-target/usr/lib/dbus-1.0/include > > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/third_party/icu/source/common > > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/third_party/icu/source/i18n > > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/third_party/protobuf/src > -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector > -funwind-tables -fPIC -pipe -pthread -march=armv7-a -mfloat-abi=hard > -mtune=generic-armv7-a -mfpu=vfpv3-d16 -mthumb -Wall -U_FORTIFY_SOURCE > -D_FORTIFY_SOURCE=2 -Wno-psabi -Wno-unused-local-typedefs > -Wno-maybe-uninitialized -Wno-missing-field-initializers > -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -g0 > -fvisibility=hidden -fno-threadsafe-statics -fvisibility-inlines-hidden > -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -c > ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/property.cc > -o obj/dbus/dbus/property.o > In file included from > ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/property.h:20:0, > from > ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/property.cc:5: > ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/message.h:8:23: > fatal error: dbus/dbus.h: No such file or directory > #include > ^ > compilation terminated. > ninja: build stopped: subcommand failed. > > The problem is here that > -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/opt/wsp/s-bsp/platform-abc/sysroot-target/usr/include/dbus-1.0 > isn't a valid include path. > > I'm not sure if this is related to the pkg-config issue, but any hints are > welcome how to solve this? You need to set PKG_CONFIG_SYSROOT_DIR to '/.'. Otherwise you'll get //opt/wsp/s-bsp/platform-abc/sysroot-target/usr/include/dbus-1.0 as include path and 'gn' treats the '//' as a path relative to the chromium source directory. Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] Ptxdists use of pkg-config causing issues with Qt-5.9
Hello, I tried to get Qt 5.9 built with PTXDist and after I have set the PKG_CONFIG_SYSROOT_DIR=/ and have done some minor adjustments to qt5.make regarding configure parameter it builds until it reaches the QtWebengine part. [2/14208] CXX obj/dbus/dbus/property.o FAILED: obj/dbus/dbus/property.o /opt/wsp/s-bsp/platform-abc/sysroot-host/lib/wrapper/arm-v7a-linux-gnueabihf-g++ -MMD -MF obj/dbus/dbus/property.o.d -DDBUS_IMPLEMENTATION -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_OPENSSL_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -Igen -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/opt/wsp/s-bsp/platform-abc/sysroot-target/usr/include/dbus-1.0 -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/opt/wsp/s-bsp/platform-abc/sysroot-target/usr/lib/dbus-1.0/include -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/third_party/icu/source/common -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/third_party/icu/source/i18n -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/third_party/protobuf/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -march=armv7-a -mfloat-abi=hard -mtune=generic-armv7-a -mfpu=vfpv3-d16 -mthumb -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-psabi -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -Wno-narrowing -fno-rtti -fno-exceptions -c ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/property.cc -o obj/dbus/dbus/property.o In file included from ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/property.h:20:0, from ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/property.cc:5: ../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/dbus/message.h:8:23: fatal error: dbus/dbus.h: No such file or directory #include ^ compilation terminated. ninja: build stopped: subcommand failed. The problem is here that -I../../../../../qt-everywhere-opensource-src-5.9.4/qtwebengine/src/3rdparty/chromium/opt/wsp/s-bsp/platform-abc/sysroot-target/usr/include/dbus-1.0 isn't a valid include path. I'm not sure if this is related to the pkg-config issue, but any hints are welcome how to solve this? Regards - Benjamin Federau ___ ptxdist mailing list ptxdist@pengutronix.de
Re: [ptxdist] Ptxdists use of pkg-config causing issues with Qt-5.9
Hi, On Fri, Jun 23, 2017 at 10:15:42AM +, Baeuerle, Florian wrote: > I've been working on getting Qt-5.9 built with the latest ptxdist and I > encountered a bug which is related to the way, ptxdist uses pkg-config. > > I already found a (hacky) workaround, but I think the root cause > actually is how ptxdist uses pkg-config. > > The problem is already described in the Qt-Bug-Tracker in detail, so > I'll just refer to that: > > https://bugreports.qt.io/browse/QTBUG-61593 I am aware of this issue. The problem is, that there is no setup that works for all packages. Packages like Qt that try to be clever usually cause the biggest problems because the are all 'clever' in different way. Having a pkg-config that just provides the correct paths works for most things. The initial implementation of our current pkg-config wrapper predates PKG_CONFIG_SYSROOT_DIR. Maybe we could change this now, but this will take a lot of careful review. Setting PKG_CONFIG_SYSROOT_DIR=/ will help in this case. Regards, Michael -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ ptxdist mailing list ptxdist@pengutronix.de