From owner-freebsd-ports@FreeBSD.ORG Tue Dec 11 20:03:53 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8517934B for ; Tue, 11 Dec 2012 20:03:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (cl-327.ede-01.nl.sixxs.net [IPv6:2001:7b8:2ff:146::2]) by mx1.freebsd.org (Postfix) with ESMTP id 2C28C8FC15 for ; Tue, 11 Dec 2012 20:03:52 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7:0:f442:bb3d:a076:62e8] (unknown [IPv6:2001:7b8:3a7:0:f442:bb3d:a076:62e8]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id BE2F05C37; Tue, 11 Dec 2012 21:03:50 +0100 (CET) Message-ID: <50C791A4.8040503@FreeBSD.org> Date: Tue, 11 Dec 2012 21:03:48 +0100 From: Dimitry Andric Organization: The FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20121128 Thunderbird/18.0 MIME-Version: 1.0 To: AN Subject: Re: Compiz problem - Undefined symbol "animGetI" References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------010901060503090004010109" Cc: freebsd-ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Dec 2012 20:03:53 -0000 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--