Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 433692 - app-accessibility/caribou-0.4.3 failed (compile phase): AttributeError: 'Variant' object has no attribute 'print_'
Summary: app-accessibility/caribou-0.4.3 failed (compile phase): AttributeError: 'Vari...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-02 17:46 UTC by Randy Tupas
Modified: 2012-09-15 21:42 UTC (History)
24 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Output of emerge --info (emerge.info.txt,4.68 KB, text/plain)
2012-09-02 17:46 UTC, Randy Tupas
Details
Output of emerge -pqv (emerge.pqv.caribou.txt,56 bytes, text/plain)
2012-09-02 17:47 UTC, Randy Tupas
Details
build log from Randy Tupas (caribou.build.log,14.22 KB, text/plain)
2012-09-02 17:47 UTC, Randy Tupas
Details
be build-time compatible with pygobject before and after 3.3.3. (caribou-0.4.3-pygobject-compat.patch,850 bytes, patch)
2012-09-03 09:47 UTC, Marien Zwart (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Randy Tupas 2012-09-02 17:46:26 UTC
Created attachment 322754 [details]
Output of emerge --info

Making all in antler
make[2]: Entering directory `/var/tmp/portage/app-accessibility/caribou-0.4.3/work/caribou-0.4.3/data/antler'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/var/tmp/portage/app-accessibility/caribou-0.4.3/work/caribou-0.4.3/data/antler'
make[2]: Entering directory `/var/tmp/portage/app-accessibility/caribou-0.4.3/work/caribou-0.4.3/data'
  ITMRG  caribou-autostart.desktop
  ITMRG  caribou.desktop
  GEN    org.gnome.Caribou.Antler.service
../tools/make_schema.py caribou.settings.CaribouSettings
Traceback (most recent call last):
  File "../tools/make_schema.py", line 81, in <module>
    maker.create_schemas()
  File "../tools/make_schema.py", line 21, in create_schemas
    self._create_schema(self.settings, doc, schema)
  File "../tools/make_schema.py", line 66, in _create_schema
    self._create_schema(s, doc, schemalist)
  File "../tools/make_schema.py", line 66, in _create_schema
    self._create_schema(s, doc, schemalist)
  File "../tools/make_schema.py", line 61, in _create_schema
    getattr(setting.gvariant, "print_")(False)),
AttributeError: 'Variant' object has no attribute 'print_'
make[2]: *** [org.gnome.caribou.gschema.xml.in] Error 1
make[2]: Leaving directory `/var/tmp/portage/app-accessibility/caribou-0.4.3/work/caribou-0.4.3/data'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/app-accessibility/caribou-0.4.3/work/caribou-0.4.3/data'
make: *** [all-recursive] Error 1
 * ERROR: app-accessibility/caribou-0.4.3 failed (compile phase):
Comment 1 Randy Tupas 2012-09-02 17:47:10 UTC
Created attachment 322756 [details]
Output of emerge -pqv
Comment 2 Randy Tupas 2012-09-02 17:47:31 UTC
Created attachment 322758 [details]
build log from Randy Tupas
Comment 3 Jakub Daniel 2012-09-02 18:35:42 UTC
same here
Comment 4 Billy DeVincentis 2012-09-02 19:58:28 UTC
same here
Comment 5 Nick Novikov 2012-09-03 02:50:33 UTC
Same here. ~amd64 with no-multilib profile.
Comment 6 Berthold Humkamp 2012-09-03 07:09:30 UTC
Same here, ~amd64 with multilib profile.
Comment 7 Eric Grüttefien 2012-09-03 09:30:52 UTC
Same here. ~amd64 with no-multilib profile.
Comment 8 Marien Zwart (RETIRED) gentoo-dev 2012-09-03 09:46:16 UTC
The short version: caribou-0.4.3 has a build-time-only dependency on a very recent version of pygobject (3.3.3 or newer), and sticking with 0.4.2 until upstream gets this sorted out seems reasonable.

In more detail:

Older versions of pygobject would generate methods with names like "print", which could not just be called as "foo.print()" because print is a keyword. caribou worked around this by doing something like 'getattr(foo, "print")()'. Pygobject 3.3.3 started renaming such methods by appending an underscore, so you can call as "foo.print_()". This broke caribou's workaround, which was updated to do 'getattr(foo, "print_")()' (rather missing the point, imho). Unfortunately this doesn't work on older pygobjects.

I'm about to attach a patch which fixes it for me on older pygobject and should still work fine on recent pygobject. This should really go through upstream first though: judging from NEWS there's nothing terribly urgent in 0.4.3.
Comment 9 Marien Zwart (RETIRED) gentoo-dev 2012-09-03 09:47:01 UTC
Created attachment 322812 [details, diff]
be build-time compatible with pygobject before and after 3.3.3.
Comment 10 Ian Abbott 2012-09-03 10:53:10 UTC
(In reply to comment #9)
> Created attachment 322812 [details, diff] [details, diff]
> be build-time compatible with pygobject before and after 3.3.3.

You patch works for me.  (~amd64 multilib profile)  Thanks!
Comment 11 gringo 2012-09-03 13:29:50 UTC
(In reply to comment #9)
> Created attachment 322812 [details, diff] [details, diff]
> be build-time compatible with pygobject before and after 3.3.3.

patch worked for me too, thanks !
Comment 12 Joerg Neikes 2012-09-04 14:09:34 UTC
(In reply to comment #9)
> Created attachment 322812 [details, diff] [details, diff]
> be build-time compatible with pygobject before and after 3.3.3.

Works fine

wget "https://bugs.gentoo.org/attachment.cgi?id=322812" -O  before_and_after_3.3.3.patch
mkdir /usr/portage/app-accessibility/caribou/files && cp before_and_after_3.3.3.patch /usr/portage/app-accessibility/caribou/files

 vi /usr/portage/app-accessibility/caribou/caribou-0.4.3.ebuild
under 
src_prepare() {

    epatch "${FILESDIR}"/before_and_after_3.3.3.patch
}

 ebuild  /usr/portage/app-accessibility/caribou/caribou-0.4.3.ebuild digest
Comment 13 Jakub Daniel 2012-09-04 14:30:42 UTC
emerge --sync or similar will erase these changes so i believe it is better to create local overlay

#add overlay dir info to make.conf
/etc/make.conf:
+PORTDIR_OVERLAY="/usr/local/portage"

#create necessary directory structure
mkdir -p /usr/local/portage/app-accessibility/caribou/files

#copy upstream ebuild into the overlay
cp /usr/portage/app-accessibility/caribou/caribou-0.4.3.ebuild /usr/local/portage/app-accessibility/caribou

#download the patch from this bug report
wget "https://bugs.gentoo.org/attachment.cgi?id=322812" -O  /usr/local/portage/app-accessibility/caribou/files/before_and_after_3.3.3.patch

#make the patch apply in the ebuild
/usr/local/portage/app-accessibility/caribou/caribou-0.4.3.ebuild:
src_prepare() {
+    epatch "${FILESDIR}"/before_and_after_3.3.3.patch

#prepare files for being merged
ebuild  /usr/local/portage/app-accessibility/caribou/caribou-0.4.3.ebuild digest

#install
emerge caribou


I hope this is useful and correct
Comment 14 Doug Goldstein (RETIRED) gentoo-dev 2012-09-04 21:31:26 UTC
I've masked this version until this is resolved.
Comment 15 Marien Zwart (RETIRED) gentoo-dev 2012-09-05 12:45:37 UTC
Upstream has released 0.4.4 with this fixed, so getting that in the tree should allow this bug to be closed.
Comment 16 Pacho Ramos gentoo-dev 2012-09-15 21:42:14 UTC
It's in the tree now