Re: [WORKAROUND] www/seamonkey2 on CURRENT

From: Daniel Eischen <deischen_at_freebsd.org>
Date: Sat, 29 Jan 2011 16:57:26 -0500 (EST)
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 <shuvaev_at_physik.uni-wuerzburg.de> 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?


>>
>> 	_at_${ECHO_CMD} "#pragma GCC system_header" >> ${MOZSRC}/${subdir}/iconv.h
>> 	_at_${ECHO_CMD} "#pragma GCC visibility push(default)" >> ${MOZSRC}/${subdir}/iconv.h
>> 	_at_${ECHO_CMD} "#include \"${LOCALBASE}/include/iconv.h\"" >> ${MOZSRC}/${subdir}/iconv.h
>> 	_at_${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
>> _at__at_ -28,11 +28,10 _at__at_ 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 \
>> _at__at_ -121,11 +120,6 _at__at_ post-patch:
>>  		${WRKSRC}/mozilla/storage/build/Makefile.in
>>  	_at_${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \
>>  		${WRKSRC}/mozilla/modules/libpref/src/init/all.js
>> -	_at_${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \
>> -		${WRKSRC}/configure \
>> -		${WRKSRC}/mozilla/configure \
>> -		${WRKSRC}/mozilla/intl/uconv/native/nsNativeUConvService.cpp \
>> -		${WRKSRC}/mozilla/xpcom/io/nsNativeCharsetUtils.cpp
>>  	_at_${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_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"

-- 
DE
Received on Sat Jan 29 2011 - 20:57:28 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:11 UTC