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.
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)
+ {
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to