[WORKAROUND] www/seamonkey2 on CURRENT
Daniel Eischen
deischen at freebsd.org
Sat Jan 29 21:57:28 UTC 2011
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?
>>
>> @${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|<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
>> @${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
More information about the freebsd-ports
mailing list