From: Gustavo Zacarias <gustavo@zacarias.com.ar>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 0/4 RFC] xorg: fix installation paths (branch yem/xorg)
Date: Mon, 2 Nov 2015 15:04:41 -0300 [thread overview]
Message-ID: <5637A5B9.70201@zacarias.com.ar> (raw)
In-Reply-To: <20151102181902.33e379e9@gmx.net>
On 02/11/15 14:19, Peter Seiderer wrote:
> Hello Gustavo,
Hi Peter.
> Both fail with a wrong path for moc (not double sysroot but one time sysroot is one to much):
>
> /bin/bash: /home/buildroot/buildroot-test/scripts/instance-1/output/host/usr/mips64el-buildroot-linux-gnu/sysroot/home/buildroot/buildroot-test/scripts/instance-1/output/host/usr/bin/moc: No such file or directory
>
>
> /bin/sh: /home/buildroot/build/instance-0/output/host/usr/powerpc-buildroot-linux-uclibc/sysroot/home/buildroot/build/instance-0/output/host/usr/bin/moc: No such file or directory
> Makefile:1154: recipe for target 'moc_qv4l2.cpp' failed
>
>
> Or for my test build:
>
> $ ./host/usr/bin/pkg-config --variable=moc_location QtCore
> /home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/x86_64-buildroot-linux-gnu/sysroot/home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/bin/moc
>
> $ cat cat ./host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/lib/pkgconfig/QtCore.pc
> prefix=/usr
> exec_prefix=${prefix}
> libdir=${prefix}/lib
> includedir=${prefix}/include/QtCore
> qt_config=lex yacc warn_on uic resources qt warn_on release incremental link_prl cross_compile shared def_files_disabled no_mocdepend release qt_no_framework silent cross_compile release embedded largefile mmx 3dnow sse sse2 sse3 ssse3 sse4_1 sse4_2 avx exceptions_off dylib create_prl link_prl depend_includepath QTDIR_build qt_install_headers qt warn_on depend_includepath qmake_cache target_qt hide_symbols create_pc create_libtool explicitlib moc thread dll shared
> moc_location=/home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/bin/moc
> uic_location=/home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/bin/uic
> rcc_location=/home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/bin/rcc
> lupdate_location=/home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/bin/lupdate
> lrelease_location=/home/seiderer/Work/build_i686_qt_v4l_utils/host/usr/bin/lrelease
>
> Name: Qtcore
> Description: Qtcore Library
> Version: 4.8.7
> Libs: -L${libdir} -lQtCore
> Libs.private: -L/usr/lib -lpthread -lm -ldl -lrt
> Cflags: -DQT_SHARED -I/usr/include -I${includedir}
>
>> The problem is two-fold as we discussed with Yann last night.
>> On one side the pkg-config manpage says:
>>
>> PKG_CONFIG_SYSROOT_DIR
>> Modify -I and -L to use the directories located in target sys?
>> root. this option is useful when cross-compiling packages that
>> use pkg-config to determine CFLAGS and LDFLAGS. -I and -L are
>> modified to point to the new system root. this means that a
>> -I/usr/include/libfoo will become -I/var/target/usr/include/lib?
>> foo with a PKG_CONFIG_SYSROOT_DIR equal to /var/target (same
>> rule apply to -L)
>>
>> So pkgconf is being "too happy" in applying the sysroot prefix to all
>> directories it finds in any variable.
Point 1 is what's happening, the *_location variables contain a HOST_DIR
prepended to them, hence it's not a sysroot (STAGING_DIR), so it doesn't
detect it as a duplicate because it's different, PKG_CONFIG_SYSROOT_DIR
is setting the sysroot (in the pkgconfig wrapper script), hence pkgconf
is prepending the sysroot to those.
This is a violation of the "only sysroot the -I/-L entries alone" spec.
However xorg depends on mapdir/sdkdir being prepended as well, which is
a grey rule - though that's a different problem.
First things first would be to make pkgconf pkgconfig conformant.
Regards.
prev parent reply other threads:[~2015-11-02 18:04 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-01 23:00 [Buildroot] [PATCH 0/4 RFC] xorg: fix installation paths (branch yem/xorg) Yann E. MORIN
2015-11-01 23:00 ` [Buildroot] [PATCH 1/4 RFC] package/x11r7: introduce X11-global configure options Yann E. MORIN
2015-11-01 23:00 ` [Buildroot] [PATCH 2/4 RFC] package/x11r7/*: fixup all install paths Yann E. MORIN
2015-11-01 23:00 ` [Buildroot] [PATCH 3/4 RFC] core/pkg-generic: allow step hooks to fail a step Yann E. MORIN
2015-11-01 23:00 ` [Buildroot] [PATCH 4/4 RFC] core/pkg-generic: check proper package installation Yann E. MORIN
2015-11-01 23:36 ` [Buildroot] [PATCH 0/4 RFC] xorg: fix installation paths (branch yem/xorg) Peter Seiderer
2015-11-02 10:38 ` Gustavo Zacarias
2015-11-02 17:19 ` Peter Seiderer
2015-11-02 17:33 ` Yann E. MORIN
2015-11-02 18:04 ` Gustavo Zacarias [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5637A5B9.70201@zacarias.com.ar \
--to=gustavo@zacarias.com.ar \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.