FreeBSD BSD_12 12.0-CURRENT FreeBSD 12.0-CURRENT #31 r315160: Sun Mar 12 13:02:14 EDT 2017 root@BSD_12:/usr/obj/usr/src/sys/MYKERNEL amd64 Problem - Compiz crashes when selecting "Effects -> Animations -> Effect Settings Tab and clicking Random animation for All Events checkbox" in CCSM. I start Compiz with the following command: #! /bin/sh compiz --replace --sm-disable --ignore-desktop-hints ccp & gtk-window-decorator --replace & When selecting that option minimizing any other window causes Compiz to crash. It seems to the same or similar to: https://bugzilla.redhat.com/show_bug.cgi?id=1225358 http://git.net/ml/scm-fedora-commits/2015-05/msg07394.html When starting Compiz on command line the following is received after crash: # ./start-compiz # libGL error: Version 7 or imageFromFds image extension not found libGL error: failed to load driver: r600 /usr/local/lib/compiz/libanimationaddon.so: Undefined symbol "animGetI" How reproducible: Every time. Steps to Reproduce: 1. enable the animation plugin 2. close/minimze a window= --> compiz crash 3. Actual results: compiz crash
/usr/local/lib/compiz/libanimationaddon.so is actually provided by x11-wm/compiz-plugins-extra, not by x11-wm/compiz. Besides, both source headers animation-internal.h (from x11-wm/compiz-plugins-main) and animationaddon.h (from x11-wm/compiz-plugins-extra) include compiz-animation.h which uses gnu89 inline semantics. However, x11-wm/compiz-plugins-main is built with -std=gnu89 whereas x11-wm/compiz-plugins-extra is not. This why main animations work properly whereas extra animations do not. # /usr/ports/x11-wm/compiz-plugins-extra/patch-Makefile --- Makefile.orig 2018-06-16 18:40:54.361456000 +0200 +++ Makefile 2018-06-16 15:21:33.174930000 +0200 @@ -20,6 +20,7 @@ GNU_CONFIGURE= yes USE_GL= yes USES= gettext gmake libtool:keepla pathfix pkgconfig tar:bzip2 +USE_CSTD= gnu89 USE_GNOME= gconf2 intltool USE_XORG= glproto USE_LDCONFIG= yes # End of file
testbuilds@work
I confirm that adding +USE_CSTD= gnu89 to the makefile fixes the problem for me, compiz-plugins-extra now works correctly. Thanks to Samy Mahmoudi for providing the fix. Also, Samy is correct bug should refer to x11-wm/compiz-plugins-extra. - Summary corrected
Committed, thanks!
A commit references this bug: Author: pi Date: Sun Jul 29 03:44:59 UTC 2018 New revision: 475624 URL: https://svnweb.freebsd.org/changeset/ports/475624 Log: x11-wm/compiz-plugins-extra: fix crashes when using animation - source headers animation-internal.h (from x11-wm/compiz-plugins-main) and animationaddon.h (from x11-wm/compiz-plugins-extra) include compiz-animation.h which uses gnu89 inline semantics. - x11-wm/compiz-plugins-main is built with -std=gnu89 whereas x11-wm/compiz-plugins-extra is not. This why main animations work properly whereas extra animations do not. PR: 217731 Reported by: andy@neu.net Submitted by: Samy Mahmoudi <samy.mahmoudi@gmail.com> Approved by: freebsd-ports@dan.me.uk (maintainer timeout) Changes: head/x11-wm/compiz-plugins-extra/Makefile
Thank you both for your attention.