Pencil and xcb_xlib_lock: Assertion `!c->xlib.lock’ failed.

Après un essai sur Xubuntu (une version d’Ubuntu utilisant le bureau léger XFCE) de Pencil, un logiciel d’animation sous license Gnu GPL (pour GNU/Linx, MacOSX et les clônes de Wine incluant la version de MS appellée ixpé) ,

Pencil est une application un peu jeune mais vraiment très efficace pour l’animation. Il est principalement orienté vers l’animation traditionnelle dessinée mais peut également être utilisé pour d’autres types d’animation mélangeant différents médias.

Fonctionnalitées :

* multicalques (plusieurs calques bitmap(matriciels) au choix, plusieurs calques vectoriels au choix, un calque de caméra (plusieurs possible sur la version SVN), le SVN inclus plusieurs calques sonores (au choix).

* déplacement, zoom et rotation de la vue (permettant de dessiner sur une surface qui à tourné) objets et caméras.

* gestion de la pression de la tablette (pour les outils crayon, pinceau et plume)

* pelure d’oignon (onionskin) pour le plaisir des animateurs :)

* importation des bitmaps png/jpg (et des format vectoriel SVG comme bitmap (exporter en png dans inkscape)).

* exportation au format mov (animation macintosh), seulement sur Mac et peut-êtr eles clônes de Wine)

* exportation image par image en png (avec transparence) ou jpeg, ce format peut être facilment réouvert dans gimp ou le greffon d’animation Gimp, gimp-GAP, ou réassemblé en film à l’aide de mencoder (inclus dans le projet mplayer) ou bien transcode.

* exporté comme film SWF (mes tests n’étaient pas très concluants, seuls la partie vectorielle fonctionnait parfaitement dans la version SVN, avec libming en version 0.4.0.beta5)

* ligne de temps, avec la possiblité de maquer les objets des différentes couches (ça c’est genial et indispensable)

* l’interpolation des mouvements de caméra (malheureusement, pas encore possible avec les objets)

* gestion de palette (le format GPL utilisé par gimp/Inkscape/Agave n’est pas géré au moment où j’écris cet article)

Update : The following described problem was due to libXi < 1.1.3, you can easily correct this by installing libXi-1.1.3 (lib) and the dependence inputproto >= 1.4 (proto), the last one are on x.org mirrors, go to individual subdir and then the lib or proto subdirs to get these versions. Upgrade only these two libs works with x.org 7.2

I really liked it, then tried to compile it on my main Linux From Scratch production computer, the compilation works perfectly, but sadly, when I tried to launch it on my LFS box, I obtained the following error:

Pencil: xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed. Aborted

This is a common problem on xlib coded application, that yet aren’t tested on libxcb_xlib systems. XCB is a replacement of Xlib on X11 graphic interface, that allow faster access to graphical ressources a better way. XlibXcb is a wrapper to Xlib, allowing application coded for xlib to take transparently benefits of the new xcb architectures. But there is still some software that aren’t compatible, due to some light errors on (un)locking.

Some GNU/Linux distro patched libxcb to automatically pass this or doesn’t install xcb_xlib wrapper to avoid errors.

Some other have patched it with an environment variable to set to avoid the bug:

export LIBXCB_ALLOW_SLOPPY_LOCK=1 launch_your_application

Else the main two possible errors, for not corrected applications are:

xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed. xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

More information on this Debian-devel message:

http://lists.debian.org/debian-devel-announce/2006/11/msg00010.html

The libxcb patch proposed in Linux from scratch with LIBXCB_ALLOW_SLOPPY_LOCK settable variable.

I don’t have only the bug only with Pencil, but with few other applications:

xsetwacom (from linuxwacom project) and few other. Searching on Google, at least some release of Sun implementation of Java suffer the same bug.

Page 1 of 2 | Next page