Date: Tue, 11 Dec 2012 21:03:48 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: AN <andy@neu.net> Cc: freebsd-ports@freebsd.org Subject: Re: Compiz problem - Undefined symbol "animGetI" Message-ID: <50C791A4.8040503@FreeBSD.org> In-Reply-To: <alpine.BSF.2.00.1212081415560.12407@mail.neu.net> References: <mailman.1.1354795200.33415.freebsd-ports@freebsd.org> <alpine.BSF.2.00.1212081415560.12407@mail.neu.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------010901060503090004010109 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 2012-12-08 20:32, AN wrote: ... > I believe this is related to the switch to clang because the same hardware > was configured the same way previously, the only difference is that the > system where Compiz was working was compiled with GCC 4.2. > > When I run the following on the command line: > > compiz --replace --sm-disable --ignore-desktop-hints ccp & > gtk-window-decorator --replace & > > I get: > > /usr/local/lib/compiz/libanimation.so Undefined symbol "animGetI" Please try applying the attached patch (easiest is to use svn patch from the root of your ports tree). This fixes a number of problems with inline functions in compiz-plugins-main. --------------010901060503090004010109 Content-Type: text/x-diff; name="x11-wm_compiz-plugins-main-1.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="x11-wm_compiz-plugins-main-1.diff" Index: x11-wm/compiz-plugins-main/files/patch-include__compiz-animation.h =================================================================== --- x11-wm/compiz-plugins-main/files/patch-include__compiz-animation.h (revision 0) +++ x11-wm/compiz-plugins-main/files/patch-include__compiz-animation.h (working copy) @@ -0,0 +1,81 @@ +--- include/compiz-animation.h.orig 2009-10-14 03:01:42.000000000 +0200 ++++ include/compiz-animation.h 2012-12-10 00:51:30.000000000 +0100 +@@ -215,7 +215,7 @@ typedef struct _AnimBaseFunctions { + + #define OPTION_GETTERS(extensionBaseFunctions, \ + extensionPluginInfo, firstEffectOption) \ +-static inline CompOptionValue * \ ++extern inline CompOptionValue * \ + animGetOptVal (CompWindow *w, \ + int optionId) \ + { \ +@@ -223,35 +223,35 @@ animGetOptVal (CompWindow *w, \ + (w, (extensionPluginInfo), optionId - (firstEffectOption)); \ + } \ + \ +-inline Bool \ ++extern inline Bool \ + animGetB (CompWindow *w, \ + int optionId) \ + { \ + return animGetOptVal (w, optionId)->b; \ + } \ + \ +-inline int \ ++extern inline int \ + animGetI (CompWindow *w, \ + int optionId) \ + { \ + return animGetOptVal (w, optionId)->i; \ + } \ + \ +-inline float \ ++extern inline float \ + animGetF (CompWindow *w, \ + int optionId) \ + { \ + return animGetOptVal (w, optionId)->f; \ + } \ + \ +-inline char * \ ++extern inline char * \ + animGetS (CompWindow *w, \ + int optionId) \ + { \ + return animGetOptVal (w, optionId)->s; \ + } \ + \ +-inline unsigned short * \ ++extern inline unsigned short * \ + animGetC (CompWindow *w, \ + int optionId) \ + { \ +@@ -260,23 +260,23 @@ animGetC (CompWindow *w, \ + + #define OPTION_GETTERS_HDR \ + \ +-inline Bool \ ++extern inline Bool \ + animGetB (CompWindow *w, \ + int optionId); \ + \ +-inline int \ ++extern inline int \ + animGetI (CompWindow *w, \ + int optionId); \ + \ +-inline float \ ++extern inline float \ + animGetF (CompWindow *w, \ + int optionId); \ + \ +-inline char * \ ++extern inline char * \ + animGetS (CompWindow *w, \ + int optionId); \ + \ +-inline unsigned short * \ ++extern inline unsigned short * \ + animGetC (CompWindow *w, \ + int optionId); + Index: x11-wm/compiz-plugins-main/files/patch-src__animation__animation-internal.h =================================================================== --- x11-wm/compiz-plugins-main/files/patch-src__animation__animation-internal.h (revision 0) +++ x11-wm/compiz-plugins-main/files/patch-src__animation__animation-internal.h (working copy) @@ -0,0 +1,20 @@ +--- src/animation/animation-internal.h.orig 2009-10-14 03:01:42.000000000 +0200 ++++ src/animation/animation-internal.h 2012-12-10 00:55:13.000000000 +0100 +@@ -429,7 +429,7 @@ applyPerspectiveSkew (CompOutput *output + CompTransform *transform, + Point *center); + +-inline void ++extern inline void + applyTransform (CompTransform *wTransform, + CompTransform *transform); + +@@ -616,7 +616,7 @@ fxZoomInit (CompWindow * w); + void + applyZoomTransform (CompWindow * w); + +-void ++extern inline void + getZoomCenterScale (CompWindow *w, + Point *pCurCenter, Point *pCurScale); + Index: x11-wm/compiz-plugins-main/files/patch-src__animation__animation.c =================================================================== --- x11-wm/compiz-plugins-main/files/patch-src__animation__animation.c (revision 0) +++ x11-wm/compiz-plugins-main/files/patch-src__animation__animation.c (working copy) @@ -0,0 +1,11 @@ +--- src/animation/animation.c.orig 2009-10-14 03:01:42.000000000 +0200 ++++ src/animation/animation.c 2012-12-10 00:46:15.000000000 +0100 +@@ -742,7 +742,7 @@ defaultUpdateWindowTransform (CompWindow + } + + // Apply transform to wTransform +-inline void ++extern inline void + applyTransform (CompTransform *wTransform, + CompTransform *transform) + { Index: x11-wm/compiz-plugins-main/files/patch-src__animation__zoomside.c =================================================================== --- x11-wm/compiz-plugins-main/files/patch-src__animation__zoomside.c (revision 0) +++ x11-wm/compiz-plugins-main/files/patch-src__animation__zoomside.c (working copy) @@ -0,0 +1,11 @@ +--- src/animation/zoomside.c.orig 2009-10-14 03:01:42.000000000 +0200 ++++ src/animation/zoomside.c 2012-12-10 00:55:13.000000000 +0100 +@@ -303,7 +303,7 @@ getZoomCenterScaleFull (CompWindow *w, + *pRotateProgress = rotateProgress; + } + +-inline void ++extern inline void + getZoomCenterScale (CompWindow *w, + Point *pCurCenter, Point *pCurScale) + { --------------010901060503090004010109--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50C791A4.8040503>