Closed Bug 471642 Opened 11 years ago Closed 11 years ago

Failed to compile thunderbird-bin on OpenSolaris

Categories

(Thunderbird :: Build Config, defect)

x86
Solaris
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: eagle.lu, Assigned: eagle.lu)

Details

(Keywords: fixed1.9.1)

Attachments

(1 file, 2 obsolete files)

I tried to build latest thunerbird with following configure options:
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-tb
mk_add_options AUTOCONF=autoconf
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --mandir=/usr/share/man
ac_add_options --enable-static
ac_add_options --enable-official-branding
ac_add_options --enable-application=mail
ac_add_options --enable-dtrace
ac_add_options --enable-optimize
ac_add_options --disable-updater
ac_add_options --disable-tests
ac_add_options --disable-auto-deps
ac_add_options --disable-debug
ac_add_options --disable-shared
ac_add_options --disable-crashreporter
ac_add_options --enable-calendar

I got following errors:

/ws/onnv-tools-prc/SUNWspro/SS12/bin/CC -o thunderbird-bin  -xlibmieee -xbuiltin=%all -features=tmplife -norunpath -mt  -DNDEBUG -DTRIMMED -xO4  nsMailApp.o nsStaticComponents.o   -L../../mozilla/dist/lib -ljemalloc -lpthread -M /usr/lib/ld/map.noexstk -xildoff -z lazyload -z combreloc  -z ignore -R '$ORIGIN:$ORIGIN/..'    -L../../mozilla/dist/bin -L../../mozilla/dist/lib ../../mozilla/toolkit/xre/libxulapp_s.a -L../../mozilla/staticlib -L../../mozilla/dist/bin -lmozjs  -L../../mozilla/dist/bin -lxpcom -lxpcom_core  `../../mozilla/nsprpub/config/nspr-config --prefix=../../mozilla/dist --libdir=../../mozilla/dist/lib --libs` -R/usr/X11/lib -R/lib -L/usr/X11/lib -L/lib -lgtk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lfreetype -lgdk-x11-2.0 -lXi -lXext -lX11 -lgdk_pixbuf-2.0 -lm -lmlib -lpangocairo-1.0 -lgio-2.0 -lfontconfig -lXrandr -lXcursor -lXcomposite -lXdamage -lpango-1.0 -lcairo -lgmodule-2.0 -lXfixes -lgobject-2.0 -lglib-2.0      -lX11 -lsocket  -lnsl -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0   -z allextract -ljemalloc -z defaultextract -lsocket -ldl -lm -lCrun -lCstd  ../../mozilla/staticlib/components/libpref.a ../../mozilla/staticlib/components/libuconv.a ../../mozilla/staticlib/components/libi18n.a ../../mozilla/staticlib/components/libnecko.a ../../mozilla/staticlib/components/libauth.a ../../mozilla/staticlib/components/libxpconnect.a ../../mozilla/staticlib/components/libchardet.a ../../mozilla/staticlib/components/libzipwriter.a ../../mozilla/staticlib/components/libmork.a ../../mozilla/staticlib/components/libcookie.a ../../mozilla/staticlib/components/libpermissions.a ../../mozilla/staticlib/components/libstoragecomps.a ../../mozilla/staticlib/components/librdf.a ../../mozilla/staticlib/components/libcaps.a ../../mozilla/staticlib/components/libhtmlpars.a ../../mozilla/staticlib/components/libgkgfxthebes.a ../../mozilla/staticlib/components/libimglib2.a ../../mozilla/staticlib/components/libgkplugin.a ../../mozilla/staticlib/components/libwidget_gtk2.a ../../mozilla/staticlib/components/libtxmgr.a ../../mozilla/staticlib/components/libcomposer.a ../../mozilla/staticlib/components/libgklayout.a ../../mozilla/staticlib/components/libdocshell.a ../../mozilla/staticlib/components/libembedcomponents.a ../../mozilla/staticlib/components/libwebbrwsr.a ../../mozilla/staticlib/components/libnsappshell.a ../../mozilla/staticlib/components/libuniversalchardet.a ../../mozilla/staticlib/components/libaccessibility.a ../../mozilla/staticlib/components/libchrome.a ../../mozilla/staticlib/components/libmozfind.a ../../mozilla/staticlib/components/libintlapp.a ../../mozilla/staticlib/components/libwindowds.a ../../mozilla/staticlib/components/libxpautocomplete.a ../../mozilla/staticlib/components/libremoteservice.a ../../mozilla/staticlib/components/libfileview.a ../../mozilla/staticlib/components/libtkautocomplete.a ../../mozilla/staticlib/components/libcommandlines.a ../../mozilla/staticlib/components/libtoolkitcomps.a ../../mozilla/staticlib/components/libspellchecker.a ../../mozilla/staticlib/components/libunixproxy.a ../../mozilla/staticlib/components/libpipboot.a ../../mozilla/staticlib/components/libpipnss.a ../../mozilla/staticlib/components/libpippki.a ../../mozilla/staticlib/components/libautoconfig.a ../../mozilla/staticlib/components/libsystem-pref.a ../../mozilla/staticlib/components/libwallet.a ../../mozilla/staticlib/components/libwalletviewers.a ../../mozilla/staticlib/components/libmozldap.a ../../mozilla/staticlib/components/libimport.a ../../mozilla/staticlib/components/libmsgsmime.a ../../mozilla/staticlib/components/libmail.a ../../mozilla/staticlib/components/libmailcomps.a ../../mozilla/staticlib/libmozreg_s.a ../../mozilla/staticlib/libunicharutil_s.a ../../mozilla/staticlib/libucvutil_s.a ../../mozilla/staticlib/libgtkxtbin.a ../../mozilla/staticlib/libthebes.a ../../mozilla/staticlib/libgfxshared_s.a ../../mozilla/staticlib/libgfxpsshar.a ../../mozilla/staticlib/libgkgfx.a ../../mozilla/staticlib/libmimecthglue_s.a  -L../../mozilla/modules/libimg/png -lmozpng -L../../mozilla/jpeg -lmozjpeg -L../../mozilla/modules/zlib/src -lmozz -L../../mozilla/dist/bin -lmozlcms  -L../../mozilla/dist/bin -L../../mozilla/dist/lib -lcrmf -lsmime3 -lssl3 -lnss3 -lnssutil3 -lsoftokn3  -L../../mozilla/dist/bin -L../../mozilla/dist/lib -lldap60 -lprldap60 -lldif60  ../../mozilla/gfx/cairo/cairo/src/libmozcairo.a ../../mozilla/gfx/cairo/libpixman/src/libmozlibpixman.a   -lXrender -lfreetype -lfontconfig  -lXt -lgthread-2.0 -R/lib -L/lib -lpangoft2-1.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -L../../mozilla/dist/lib -lsqlite3
ld: fatal: symbol `nsSelectionBatcher::~nsSelectionBatcher #Nvariant 1()' is multiply-defined:
        (file ../../mozilla/staticlib/components/libgklayout.a(nsSelection.o) type=FUNC; file ../../mozilla/staticlib/components/libgklayout.a(nsTableEditor.o) type=FUNC);
ld: fatal: file processing errors. No output written to thunderbird-bin
Attached patch patch (obsolete) — Splinter Review
Assignee: nobody → brian.lu
Attachment #354922 - Flags: review?(wtc)
(In reply to comment #1)
> Created an attachment (id=354922) [details]
> patch

IMHO this looks like a wrong fix to me - why is it that just thunderbird needs this fix?
(In reply to comment #2)
> (In reply to comment #1)
> > Created an attachment (id=354922) [details] [details]
> > patch
> 
> IMHO this looks like a wrong fix to me - why is it that just thunderbird needs
> this fix?

We use "--enable-static --disable-shared" when building Thunderbird and Seamonkey.
But these two options aren't allowed to be used together to build Firefox.
Thunderbird and Seamonkey has this issue but Firefox hasn't.
Attached patch patch for seamonkey (obsolete) — Splinter Review
Attachment #355368 - Flags: review?(wtc)
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > Created an attachment (id=354922) [details] [details] [details]
> > > patch
> > 
> > IMHO this looks like a wrong fix to me - why is it that just thunderbird needs
> > this fix?
> 
> We use "--enable-static --disable-shared" when building Thunderbird and
> Seamonkey.
> But these two options aren't allowed to be used together to build Firefox.
> Thunderbird and Seamonkey has this issue but Firefox hasn't.

I'm assuming this doesn't happen with --disable-static --enable-shared? If so, your additions should have an additional ifdef BUILD_STATIC_LIBS around them.
Is it possible to eliminate the multiply-defined symbol
`nsSelectionBatcher::~nsSelectionBatcher #Nvariant 1()'?

I'm not the best person to review these patches.  It'd
be nice to find someone familiar with nsSelection.cpp
and nsTableEditor.cpp.  Perhaps the proper fix is to
put the nsSelectionBatcher class in the anonymous
namespace, or move it to its own files
nsSelectionBatcher.{h,cpp}.
Add Robert the owner of this module to the cc list. 
Maybe he can give us more suggestions.
It looks like you could just rename one of the nsSelectionBatcher classes.
Comment on attachment 355540 [details] [diff] [review]
rename nsSelectionBatcher to nsSelectionBatcherForTable in nsTableEditor.cpp

Yeah!
Attachment #355540 - Flags: superreview+
Attachment #355540 - Flags: review?(roc)
Attachment #355540 - Flags: review+
Attachment #355368 - Attachment is obsolete: true
Attachment #355368 - Flags: review?(wtc)
Attachment #354922 - Attachment is obsolete: true
Attachment #354922 - Flags: review?(wtc)
Pushed
http://hg.mozilla.org/mozilla-central/rev/d720aa40aae4
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment on attachment 355540 [details] [diff] [review]
rename nsSelectionBatcher to nsSelectionBatcherForTable in nsTableEditor.cpp

To fix Thunderbird 3.0 we need to land it on 1.9.1.
Attachment #355540 - Flags: approval1.9.1?
Attachment #355540 - Flags: approval1.9.1? → approval1.9.1+
Comment on attachment 355540 [details] [diff] [review]
rename nsSelectionBatcher to nsSelectionBatcherForTable in nsTableEditor.cpp

a191=beltzner
You need to log in before you can comment on or make changes to this bug.