From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] Open bug analysis
Date: Wed, 19 Feb 2014 22:16:25 +0100 [thread overview]
Message-ID: <53051F29.2000809@mind.be> (raw)
In-Reply-To: <CAAXf6LWOJo8FPMgX=Hmk=u2QtJW6VS8JODnxK2HPfvLDuEWkgw@mail.gmail.com>
On 19/02/14 17:02, Thomas De Schampheleire wrote:
> Hi,
>
> On Mon, Feb 17, 2014 at 6:46 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
> [..]
>>> As mentioned on IRC, I'm currently using a slightly modified version
>>> of the above .la fixing:
>>>
>>> - $$(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$$$i; \
>>> + $$(SED) "s:\(['=
>>> ]\)/usr/lib:\\1$(STAGING_DIR)/usr/lib:g" $$$$i; \
>>> + $$(SED) "s:\(['=
>>> ]\)/usr/local/lib:\\1$(STAGING_DIR)/usr/local/lib:g" $$$$i; \
>>>
>>> I.e. instead of searching for /usr/something, only search for /usr/lib
>>> as this is where all .la files are put.
>>> I actually don't think we need the /usr/local/lib line.
>>
>> Just brainstorming here, but I think a more complete solution could be
>> something like:
>>
>> $$(SED) -e "s:\(['= ]\)$(STAGING_DIR):\\1 at STAGING_DIR@:g" \
>> -e "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" \
>> -e "s:@STAGING_DIR@:$(STAGING_DIR):g" \
>> $$$$i;
>>
>
> I have yet to try this alternate proposal, but in the meantime I have
> done several randpackage tests with the mentioned code, and this works
> without problem apparently. I have changes in pkg-autotools.mk (fixup
> of .la files), pkg-generic (fixup of .pc files), and qt5.
>
> There is one wrong path that remains (but seems to cause no problem),
> but this same problem is present in 'normal' buildroot builds outside
> of /usr: several .la files contain strings of the form:
> -L /path/to/buildroot/sysroot/path/to/buildroot/sysroot/usr/lib
>
> I tracked down this issue: when asking pkgconf for the libs
> corresponding to a certain dependency expression, it will add the
> sysroot to those strings it thinks need it. This works fine when the
> paths are /usr /usr/lib etc, but not in case the library dependency is
> already a full path. For example, when gcrypt and gnutls are enabled,
> libecore is compiled with: --with-libgcrypt-prefix=$(STAGING_DIR)/usr,
> causing an absolute path to be present. This is later prefixed by
> pkgconf with another instance of STAGING_DIR.
Seems to me that this should be solved in pkgconf itself, not by hacking
the .la files...
Regards,
Arnout
>
> We could fix that by doing a SED on <staging>/<staging> too, and
> replace it with just one <staging>. This would seem 'hacky' but
> actually would fix incorrect paths.
>
> Best regards,
> Thomas
>
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
next prev parent reply other threads:[~2014-02-19 21:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-13 15:30 [Buildroot] Open bug analysis Thomas De Schampheleire
2014-02-13 18:52 ` Thomas Petazzoni
2014-02-14 20:39 ` Thomas De Schampheleire
2014-02-17 17:46 ` Arnout Vandecappelle
2014-02-19 16:02 ` Thomas De Schampheleire
2014-02-19 21:16 ` Arnout Vandecappelle [this message]
2014-02-17 17:36 ` Arnout Vandecappelle
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=53051F29.2000809@mind.be \
--to=arnout@mind.be \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox