From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Petazzoni Date: Thu, 27 Dec 2018 16:35:16 +0100 Subject: [Buildroot] [PATCH] package/libglib2: explicitly specify gio module path In-Reply-To: <20181227103351.19237-1-thomas.petazzoni@bootlin.com> References: <20181227103351.19237-1-thomas.petazzoni@bootlin.com> Message-ID: <20181227163516.6cf722d7@windsurf> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hello, On Thu, 27 Dec 2018 11:33:51 +0100, Thomas Petazzoni wrote: > Since the switch to pkgconf 1.5.3 in commit > 4e423669399ad8389edd81761ea5c9cc26bf312d, the glib-networking package > has been failing to build with: > > glib-networking: installs files in /home/naourr/work/instance-0/output/host/i686-buildroot-linux-uclibc/sysroot//home/naourr/work/instance-0/output > > This error is due to glib-networking having installed its GIO GnuTLS > module into an invalid location. This invalid location is > $(DESTDIR)$(GIO_MODULE_DIR). GIO_MODULE_DIR is found by using: > > pkg-config --variable giomoduledir gio-2.0 > > Unfortunately, despite the pkgconf fix in commit > 7125fc5c1a8a96ff8eee057789358702e1b55835 ("package/pkgconf: add patch > to restore pre-1.5.3 behavior for sysroot prefixing"), the value > returned by pkg-config for giomoduledir remains prefixed by the > sysroot. > > This is due to the fact that giomoduledir is defined by default with > the value ${libdir}/gio/modules. When running pkg-config --variable > giomoduledir gio-2.0 with the new pkg-config version, what happens is > that libdir is resolved first, and libdir is one of the variable for > which we add the sysroot prefix. Then later, giomoduledir is > resolved. For this variable, we don't prefix with the > sysroot. However, when resolving the value of giomoduledir, it re-uses > the value of libdir that was already resolved, and this value includes > the sysroot prefix. > > There is no simple way to solve this problem within pkg-config. So for > the time being, we take a simple route: make sure giomoduledir isn't > defined in terms of ${libdir}. This is easily done by passing > --with-gio-module-dir to libglib2 configure script. > > Fixes: > > http://autobuild.buildroot.net/results/4167159c4a03f5a72dbd7e286aedb3845164cc22/ > > Signed-off-by: Thomas Petazzoni > --- > package/libglib2/libglib2.mk | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) Applied to master, thanks. Thomas -- Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com