* [gentoo-user] Don't disable 'introspection'
@ 2015-07-16 20:53 walt
2015-07-16 21:06 ` Marc Joliet
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: walt @ 2015-07-16 20:53 UTC (permalink / raw
To: gentoo-user
I don't understand 'introspection' enough to know why we need it, but
apparently we do, so don't use the -introspection useflag like I did.
The trouble I introduced a few weeks ago when I disabled introspection
was subtle enough that I didn't realize until yesterday that I even had
a problem.
Portage had been doing mildly insane things that other people were not
seeing, so as a test I removed the -introspection useflag and spent the
entire day rebuilding packages. My portage problem appears to be
fixed. I hope.
If anyone can splain what introspection does I'd be grateful.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Don't disable 'introspection'
2015-07-16 20:53 [gentoo-user] Don't disable 'introspection' walt
@ 2015-07-16 21:06 ` Marc Joliet
2015-07-16 21:16 ` Alan McKinnon
2015-07-16 22:31 ` Canek Peláez Valdés
2 siblings, 0 replies; 10+ messages in thread
From: Marc Joliet @ 2015-07-16 21:06 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 987 bytes --]
Am Thu, 16 Jul 2015 13:53:12 -0700
schrieb walt <w41ter@gmail.com>:
> I don't understand 'introspection' enough to know why we need it, but
> apparently we do, so don't use the -introspection useflag like I did.
>
> The trouble I introduced a few weeks ago when I disabled introspection
> was subtle enough that I didn't realize until yesterday that I even had
> a problem.
>
> Portage had been doing mildly insane things that other people were not
> seeing, so as a test I removed the -introspection useflag and spent the
> entire day rebuilding packages. My portage problem appears to be
> fixed. I hope.
>
> If anyone can splain what introspection does I'd be grateful.
This should help: https://en.wikipedia.org/wiki/Type_introspection. In this
case I believe it's related to the gobject type system that comes from glib.
HTH
--
Marc Joliet
--
"People who think they know everything really annoy those of us who know we
don't" - Bjarne Stroustrup
[-- Attachment #2: Digitale Signatur von OpenPGP --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Don't disable 'introspection'
2015-07-16 20:53 [gentoo-user] Don't disable 'introspection' walt
2015-07-16 21:06 ` Marc Joliet
@ 2015-07-16 21:16 ` Alan McKinnon
2015-07-16 23:19 ` Alec Ten Harmsel
2015-07-16 22:31 ` Canek Peláez Valdés
2 siblings, 1 reply; 10+ messages in thread
From: Alan McKinnon @ 2015-07-16 21:16 UTC (permalink / raw
To: gentoo-user
On 16/07/2015 22:53, walt wrote:
> I don't understand 'introspection' enough to know why we need it, but
> apparently we do, so don't use the -introspection useflag like I did.
>
> The trouble I introduced a few weeks ago when I disabled introspection
> was subtle enough that I didn't realize until yesterday that I even had
> a problem.
>
> Portage had been doing mildly insane things that other people were not
> seeing, so as a test I removed the -introspection useflag and spent the
> entire day rebuilding packages. My portage problem appears to be
> fixed. I hope.
>
> If anyone can splain what introspection does I'd be grateful.
It's a tricky concept if you haven't worked with Object Oriented
Programming, so lt's look at the USE description:
introspection - Add support for GObject based introspection
Doesn't say much, right?
Object Oriented languages tend to compile to byte-code, just like Java
does, and so does Python. It's so the run-time interpreter can look up
at run-time which function exactly needs to be run (this can't be
determined statically). A really neat trick is to "look inside" objects
not just to see what it has, but also how the innards work, what
properties an object has, and other neat stuff. That's what introspect
means - to "look inside". This magic is what makes dynamic IDEs
possible, where they prompt you for all manner of stuff while typing
code, and even generate boiler-plate code that it hasn't been hard-coded
to deal with.
All sounds very fancy and theoretical. I know what introspection does,
but I can't know if I need this type of it or not. Apparently (because
stuff breaks horribly when it's off), packages that use GObject seem to
rely on this feature.
Therefore, switch it on and let portage get on with it.
That's the best answer I can come up with.
--
Alan McKinnon
alan.mckinnon@gmail.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Don't disable 'introspection'
2015-07-16 20:53 [gentoo-user] Don't disable 'introspection' walt
2015-07-16 21:06 ` Marc Joliet
2015-07-16 21:16 ` Alan McKinnon
@ 2015-07-16 22:31 ` Canek Peláez Valdés
2015-07-17 0:30 ` Volker Armin Hemmann
2 siblings, 1 reply; 10+ messages in thread
From: Canek Peláez Valdés @ 2015-07-16 22:31 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 2102 bytes --]
On Thu, Jul 16, 2015 at 3:53 PM, walt <w41ter@gmail.com> wrote:
>
> I don't understand 'introspection' enough to know why we need it, but
> apparently we do, so don't use the -introspection useflag like I did.
>
> The trouble I introduced a few weeks ago when I disabled introspection
> was subtle enough that I didn't realize until yesterday that I even had
> a problem.
>
> Portage had been doing mildly insane things that other people were not
> seeing, so as a test I removed the -introspection useflag and spent the
> entire day rebuilding packages. My portage problem appears to be
> fixed. I hope.
>
> If anyone can splain what introspection does I'd be grateful.
Alan did a fine job explaining what introspection is in general. In Gentoo,
the introspection flag is only used by GObject based libraries; all the
languages that natively supports introspection does it inconditionally, and
(as far as I am aware) GObject is the only C object oriented library that
provides introspection.
Some years ago, you could get away without activating it, but nowadays is
for all practical purposes mandatory. At least this is the case for GNOME
3; but I would not be surprised if it's also the case for basically any
GObject based software; that covers all GTK+ 2 and 3 applications. The
instrospection infrastructure is not only used (as Alan mentioned) to "look
inside" a compiled class; it's also part of the automatic binding
generation for other programming languages used by all GObject libraries
(or at lest that's what I understand, please correct me if I'm wrong).
Therefore, if you use Inkscape, for example, you'll need introspection
since Inkscape is wrote in C++ using the gtk-- bindings.
In general, I would recommend not to set USE="-*" (an opinion shared by
basically all Gentoo devs and most rational people), and let the default
use flags to do their magic. But everyone is free to break their systems as
they please.
Regards.
--
Canek Peláez Valdés
Profesor de asignatura, Facultad de Ciencias
Universidad Nacional Autónoma de México
[-- Attachment #2: Type: text/html, Size: 2355 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Don't disable 'introspection'
2015-07-16 21:16 ` Alan McKinnon
@ 2015-07-16 23:19 ` Alec Ten Harmsel
0 siblings, 0 replies; 10+ messages in thread
From: Alec Ten Harmsel @ 2015-07-16 23:19 UTC (permalink / raw
To: gentoo-user
On 07/16/2015 05:16 PM, Alan McKinnon wrote:
> On 16/07/2015 22:53, walt wrote:
>>
>> If anyone can splain what introspection does I'd be grateful.
> It's a tricky concept if you haven't worked with Object Oriented
> Programming, so lt's look at the USE description:
>
> introspection - Add support for GObject based introspection
>
> Doesn't say much, right?
>
> Object Oriented languages tend to compile to byte-code, just like Java
> does, and so does Python. It's so the run-time interpreter can look up
> at run-time which function exactly needs to be run (this can't be
> determined statically).
Yes, but introspection (as a part of the language specification) is not
limited to object oriented languages, nor compiled to byte code
languages. C++'s 'virtual' keyword can (sometimes) force the compiler to
generate introspection code if it absolutely cannot determine which
function to call at compile time. C++'s templates could (maybe?) be
considered static introspection.
> A really neat trick is to "look inside" objects
> not just to see what it has, but also how the innards work, what
> properties an object has, and other neat stuff. That's what introspect
> means - to "look inside". This magic is what makes dynamic IDEs
> possible, where they prompt you for all manner of stuff while typing
> code, and even generate boiler-plate code that it hasn't been hard-coded
> to deal with.
>
> All sounds very fancy and theoretical. I know what introspection does,
> but I can't know if I need this type of it or not. Apparently (because
> stuff breaks horribly when it's off), packages that use GObject seem to
> rely on this feature.
It is very nice and very fancy, but the implementation is not incredibly
complicated in most languages (just pointers to tables of functions if
memory serves). If anyone is interested in playing around with this
stuff, Ruby has a pretty advanced object model, and classes can have
different function implementations depending on what module you're in.
Alec
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Don't disable 'introspection'
2015-07-16 22:31 ` Canek Peláez Valdés
@ 2015-07-17 0:30 ` Volker Armin Hemmann
2015-07-17 0:40 ` [gentoo-user] " walt
0 siblings, 1 reply; 10+ messages in thread
From: Volker Armin Hemmann @ 2015-07-17 0:30 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 2414 bytes --]
Am 17.07.2015 um 00:31 schrieb Canek Peláez Valdés:
> On Thu, Jul 16, 2015 at 3:53 PM, walt <w41ter@gmail.com
> <mailto:w41ter@gmail.com>> wrote:
> >
> > I don't understand 'introspection' enough to know why we need it, but
> > apparently we do, so don't use the -introspection useflag like I did.
> >
> > The trouble I introduced a few weeks ago when I disabled introspection
> > was subtle enough that I didn't realize until yesterday that I even had
> > a problem.
> >
> > Portage had been doing mildly insane things that other people were not
> > seeing, so as a test I removed the -introspection useflag and spent the
> > entire day rebuilding packages. My portage problem appears to be
> > fixed. I hope.
> >
> > If anyone can splain what introspection does I'd be grateful.
>
> Alan did a fine job explaining what introspection is in general. In
> Gentoo, the introspection flag is only used by GObject based
> libraries; all the languages that natively supports introspection does
> it inconditionally, and (as far as I am aware) GObject is the only C
> object oriented library that provides introspection.
>
> Some years ago, you could get away without activating it, but nowadays
> is for all practical purposes mandatory. At least this is the case for
> GNOME 3; but I would not be surprised if it's also the case for
> basically any GObject based software; that covers all GTK+ 2 and 3
> applications. The instrospection infrastructure is not only used (as
> Alan mentioned) to "look inside" a compiled class; it's also part of
> the automatic binding generation for other programming languages used
> by all GObject libraries (or at lest that's what I understand, please
> correct me if I'm wrong). Therefore, if you use Inkscape, for example,
> you'll need introspection since Inkscape is wrote in C++ using the
> gtk-- bindings.
>
> In general, I would recommend not to set USE="-*" (an opinion shared
> by basically all Gentoo devs and most rational people), and let the
> default use flags to do their magic. But everyone is free to break
> their systems as they please.
>
> Regards.
> --
> Canek Peláez Valdés
> Profesor de asignatura, Facultad de Ciencias
> Universidad Nacional Autónoma de México
I have had -introspection set for ages in make.conf.
It is turned on for some selected packages in package.use
I use inkscape
I don't use gnome
I don't use systemd
My system is fine.
[-- Attachment #2: Type: text/html, Size: 3603 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* [gentoo-user] Re: Don't disable 'introspection'
2015-07-17 0:30 ` Volker Armin Hemmann
@ 2015-07-17 0:40 ` walt
2015-07-17 1:21 ` Jc García
2015-07-17 1:49 ` Volker Armin Hemmann
0 siblings, 2 replies; 10+ messages in thread
From: walt @ 2015-07-17 0:40 UTC (permalink / raw
To: gentoo-user
On Fri, 17 Jul 2015 02:30:24 +0200
Volker Armin Hemmann <volkerarmin@googlemail.com> wrote:
> I have had -introspection set for ages in make.conf.
>
> It is turned on for some selected packages in package.use
Which packages, and what problems were you solving by turning it on?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Re: Don't disable 'introspection'
2015-07-17 0:40 ` [gentoo-user] " walt
@ 2015-07-17 1:21 ` Jc García
2015-07-17 1:49 ` Volker Armin Hemmann
1 sibling, 0 replies; 10+ messages in thread
From: Jc García @ 2015-07-17 1:21 UTC (permalink / raw
To: gentoo-user
2015-07-16 18:40 GMT-06:00 walt <w41ter@gmail.com>:
> On Fri, 17 Jul 2015 02:30:24 +0200
> Volker Armin Hemmann <volkerarmin@googlemail.com> wrote:
>
>> I have had -introspection set for ages in make.conf.
>>
>> It is turned on for some selected packages in package.use
>
> Which packages, and what problems were you solving by turning it on?
>
The packages that need it are those that use the gobject libraries
from other languages than C, using the bindings generated with by the
introspection part, the idea is a framework for easily building
bindings to other languages from the C gobject libraries, e.g. all
applications that use gtk3 and are written in python use
introspection.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-user] Re: Don't disable 'introspection'
2015-07-17 0:40 ` [gentoo-user] " walt
2015-07-17 1:21 ` Jc García
@ 2015-07-17 1:49 ` Volker Armin Hemmann
2015-07-17 2:17 ` »Q«
1 sibling, 1 reply; 10+ messages in thread
From: Volker Armin Hemmann @ 2015-07-17 1:49 UTC (permalink / raw
To: gentoo-user
Am 17.07.2015 um 02:40 schrieb walt:
> On Fri, 17 Jul 2015 02:30:24 +0200
> Volker Armin Hemmann <volkerarmin@googlemail.com> wrote:
>
>> I have had -introspection set for ages in make.conf.
>>
>> It is turned on for some selected packages in package.use
> Which packages, and what problems were you solving by turning it on?
>
>
>
> .
>
=x11-libs/libnotify-0.7.5-r1
=x11-libs/gtk+-3.8.2
=dev-libs/atk-2.8.0
=x11-libs/pango-1.34.1
some packages needed it. Forgot which ones.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [gentoo-user] Re: Don't disable 'introspection'
2015-07-17 1:49 ` Volker Armin Hemmann
@ 2015-07-17 2:17 ` »Q«
0 siblings, 0 replies; 10+ messages in thread
From: »Q« @ 2015-07-17 2:17 UTC (permalink / raw
To: gentoo-user
On Fri, 17 Jul 2015 03:49:05 +0200
Volker Armin Hemmann <volkerarmin@googlemail.com> wrote:
> Am 17.07.2015 um 02:40 schrieb walt:
> > On Fri, 17 Jul 2015 02:30:24 +0200
> > Volker Armin Hemmann <volkerarmin@googlemail.com> wrote:
> >
> >> I have had -introspection set for ages in make.conf.
> >>
> >> It is turned on for some selected packages in package.use
> > Which packages, and what problems were you solving by turning it on?
>
> =x11-libs/libnotify-0.7.5-r1
> =x11-libs/gtk+-3.8.2
> =dev-libs/atk-2.8.0
> =x11-libs/pango-1.34.1
>
> some packages needed it. Forgot which ones.
dev-util/meld-3.12.3 has dependencies
>=x11-libs/gtk+-3.6:3[introspection]
>=x11-libs/gtksourceview-3.6:3.0[introspection]
which lead to me turning it on for these packages:
x11-libs/gtk+ introspection
dev-libs/atk introspection
x11-libs/gtksourceview introspection
x11-libs/pango introspection
x11-libs/gdk-pixbuf introspection
If having it off in all other packages is causing me trouble, I'm
unaware of it.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-07-17 2:15 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-16 20:53 [gentoo-user] Don't disable 'introspection' walt
2015-07-16 21:06 ` Marc Joliet
2015-07-16 21:16 ` Alan McKinnon
2015-07-16 23:19 ` Alec Ten Harmsel
2015-07-16 22:31 ` Canek Peláez Valdés
2015-07-17 0:30 ` Volker Armin Hemmann
2015-07-17 0:40 ` [gentoo-user] " walt
2015-07-17 1:21 ` Jc García
2015-07-17 1:49 ` Volker Armin Hemmann
2015-07-17 2:17 ` »Q«
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox