All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [RFC PATCH 1/2] package/gobject-introspection: add package
Date: Mon, 27 Feb 2017 15:58:54 +0100	[thread overview]
Message-ID: <8eeadd56-4c2b-94ff-c182-50e18e81f749@mind.be> (raw)
In-Reply-To: <20170224092549.2c560db3@free-electrons.com>



On 24-02-17 09:25, Thomas Petazzoni wrote:
> On Fri, 24 Feb 2017 15:07:13 +1100, Sam Bobroff wrote:
> 
>> Yes, absolutely, and I really don't know how we should handle it. I
>> searched fairly hard for another solution but the only other one seems
>> to be to rewrite gobject-introspection completely and the other
>> projects that have attempted this have used the same host-qemu approach
>> (that's yocto and cygwin).
> Can you summarize what is Qemu used for in the context of building
> gobject-introspection ?
> 
> If it's to generate some architecture-specific file, can we
> pre-generate it, and bundle it with Buildroot ?

 As far as I can see, it just runs ldd under qemu, to find the paths to the
libraries that will actually be used (i.e., the libraries that have to be
introspected, I guess). That's why Jerome suggested to use his cross-ldd
scriptlet [1], which would also work with musl and uClibc.

 However, as far as I understand, it really only needs to find a list of shared
libraries used by a program. In our case, instead of going through ldd, we can
just use readelf because there is normally only a single instance of each SONAME
in the target.

 I'm not 100% sure, however; I also see some references to dlopen() though it's
not clear to me if this is called during the build.


>> Would a comment in the menuconfig section for gobject-introspection be
>> any better? It's more likely to be seen but it's not really the "right"
>> place -- you can run into the kernel version issue with QEMU usermode
>> without using gobject-introspection (although not during the build!).
>>
>> But more generally, should buildroot accept this kind of solution at
>> all? It works and is useful but it significantly more complex and
>> therefore problem-prone than normal...
> I'd really like to avoid a qemu-based solution if possible. But of
> course, if there's really no other option and people want
> gobject-introspection, we won't have much choice :/

 At least, if we do go the qemu-user way, it should always work, so also with
musl and uClibc, also if host headers are older than target... But really,
cross-compilation doesn't work at all (i.e. qemu is needed), and anyway doesn't
work on the unusual architectures where Debian is not available, then I don't
think Buildroot is the right way.

 Regards,
 Arnout

[1]   https://gist.github.com/jerome-pouiller/c403786c1394f53f44a3b61214489e6f


-- 
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

  reply	other threads:[~2017-02-27 14:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-23  0:54 [Buildroot] [RFC PATCH 0/2] add gobject-introspection Sam Bobroff
2017-02-23  0:54 ` [Buildroot] [RFC PATCH 1/2] package/gobject-introspection: add package Sam Bobroff
2017-02-23  9:18   ` Thomas Petazzoni
2017-02-24  4:07     ` Sam Bobroff
2017-02-24  8:25       ` Thomas Petazzoni
2017-02-27 14:58         ` Arnout Vandecappelle [this message]
2017-02-27 15:06           ` Baruch Siach
2017-02-27 23:22             ` Sam Bobroff
2017-08-15 10:47               ` Adam Duskett
2017-08-17  6:44                 ` Alexey Roslyakov
2017-08-17 22:39                   ` Arnout Vandecappelle
2017-08-22 10:57                     ` Adam Duskett
2017-08-24 23:03                       ` Arnout Vandecappelle
2017-08-26 16:01                         ` Adam Duskett
2017-08-27  5:11                           ` Waldemar Brodkorb
2017-08-27 15:15                             ` Adam Duskett
2017-02-27 15:58           ` Thomas Petazzoni
2017-02-27 22:54             ` Sam Bobroff
2017-02-23 13:02   ` Baruch Siach
2017-02-23 13:44   ` Jérôme Pouiller
2017-02-23  0:54 ` [Buildroot] [RFC PATCH 2/2] package/libvips: enable introspection Sam Bobroff
2017-02-23  9:19   ` Thomas Petazzoni

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=8eeadd56-4c2b-94ff-c182-50e18e81f749@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 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.