From owner-freebsd-ports@FreeBSD.ORG Sat Jan 29 21:57:28 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A5B4106566B; Sat, 29 Jan 2011 21:57:28 +0000 (UTC) (envelope-from deischen@freebsd.org) Received: from mail.netplex.net (mail.netplex.net [204.213.176.10]) by mx1.freebsd.org (Postfix) with ESMTP id E5DC98FC0A; Sat, 29 Jan 2011 21:57:27 +0000 (UTC) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) by mail.netplex.net (8.14.4/8.14.4/NETPLEX) with ESMTP id p0TLvQHE029027; Sat, 29 Jan 2011 16:57:26 -0500 X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.netplex.net) X-Greylist: Message whitelisted by DRAC access database, not delayed by milter-greylist-4.2.6 (mail.netplex.net [204.213.176.10]); Sat, 29 Jan 2011 16:57:27 -0500 (EST) Date: Sat, 29 Jan 2011 16:57:26 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Alexey Shuvaev In-Reply-To: <20110129202012.GA61135@lexx.ifp.tuwien.ac.at> Message-ID: References: <20110129202012.GA61135@lexx.ifp.tuwien.ac.at> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-gecko@freebsd.org, Garrett Cooper , freebsd-current@freebsd.org, freebsd-ports@freebsd.org, Anonymous , Alexander Kabaev Subject: Re: [WORKAROUND] www/seamonkey2 on CURRENT X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Daniel Eischen List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 29 Jan 2011 21:57:28 -0000 On Sat, 29 Jan 2011, Alexey Shuvaev wrote: > > And here is the winner: > > On Sat, Jan 29, 2011 at 08:32:07AM +0300, Anonymous wrote: >> Alexey Shuvaev writes: >> >>> Hello! >>> >>> It seems www/seamonkey2 is broken on CURRENT for at least 1 month now [1]. >>> Examining build log and reproducing it locally, the problem is in the >>> usage of libiconv in nsNativeCharsetUtils.cpp. The linker fails to >>> produce libxpcom_core.so although -L/usr/local/lib and -liconv >>> are specified [2]. Examining this further I found that nsNativeCharsetUtils.o >>> produced with [3] fails to link with libiconv alone too [4] (note >>> still unresolved libiconv references). >>> I'm not a compiler/linker guru and do not understand what is happening >>> here. As a workaroud I use the attached patch which disables the usage >>> of libiconv in nsNativeCharsetUtils.cpp. >>> >> [...] >>> /usr/bin/ld: aaa: hidden symbol `libiconv_open' isn't defined >> >> /head per r215840 has working -fvisibility=hidden, i.e. config/gcc_hidden.h. >> Try following diff, it should enable patching iconv.h wrapper in bsd.gecko.mk Is someone going to commit this? >> >> @${ECHO_CMD} "#pragma GCC system_header" >> ${MOZSRC}/${subdir}/iconv.h >> @${ECHO_CMD} "#pragma GCC visibility push(default)" >> ${MOZSRC}/${subdir}/iconv.h >> @${ECHO_CMD} "#include \"${LOCALBASE}/include/iconv.h\"" >> ${MOZSRC}/${subdir}/iconv.h >> @${ECHO_CMD} "#pragma GCC visibility pop" >> ${MOZSRC}/${subdir}/iconv.h >> >> %% >> Index: www/seamonkey2/Makefile >> =================================================================== >> RCS file: /a/.cvsup/ports/www/seamonkey2/Makefile,v >> retrieving revision 1.315 >> diff -u -p -r1.315 Makefile >> --- www/seamonkey2/Makefile 10 Dec 2010 13:31:12 -0000 1.315 >> +++ www/seamonkey2/Makefile 29 Jan 2011 05:22:11 -0000 >> @@ -28,11 +28,10 @@ ALL_TARGET= default >> MAKE_JOBS_SAFE= yes >> MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome >> MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin >> -CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/cairo" >> +CONFIGURE_ENV= LOCALBASE=${LOCALBASE} CPPFLAGS="-I${LOCALBASE}/include/cairo" \ >> + ac_cv_func__Unwind_Backtrace=no >> USE_GCC= 4.2+ >> >> -CONFIGURE_ENV= LOCALBASE=${LOCALBASE} >> - >> MOZ_EXTENSIONS= default >> MOZ_OPTIONS+= --with-default-mozilla-five-home=${PREFIX}/lib/${MOZILLA} \ >> --enable-svg \ >> @@ -121,11 +120,6 @@ post-patch: >> ${WRKSRC}/mozilla/storage/build/Makefile.in >> @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \ >> ${WRKSRC}/mozilla/modules/libpref/src/init/all.js >> - @${REINPLACE_CMD} -e 's||\"${LOCALBASE}/include/iconv.h\"|g' \ >> - ${WRKSRC}/configure \ >> - ${WRKSRC}/mozilla/configure \ >> - ${WRKSRC}/mozilla/intl/uconv/native/nsNativeUConvService.cpp \ >> - ${WRKSRC}/mozilla/xpcom/io/nsNativeCharsetUtils.cpp >> @${REINPLACE_CMD} -e 's|libgnome-2.so.0|libgnome-2.so|' \ >> ${WRKSRC}/mozilla/toolkit/xre/nsNativeAppSupportUnix.cpp \ >> ${WRKSRC}/mozilla/modules/libpr0n/decoders/icon/gtk/nsIconChannel.cpp >> %% >> > This patch did it! > I have successfully rebuilt www/seamonkey2 with the above patch > applied to port's Makefile (and without my previous workaround). > Everything works! > > As this hidden/visibility symbols are beyond my C/CPP foo, > I am leaving the final decision for the experts :) > > Thanks, > Alexey. > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" -- DE