[Enigmail] Building Enigmail for TB comm-central: static or shared, libxul or not?
Michael J Gruber
michaeljgruber at fastmail.fm
Mon Jan 26 05:29:30 PST 2009
Michael J Gruber venit, vidit, dixit 26.01.2009 13:32:
> Ludwig Hügelschäfer venit, vidit, dixit 01/23/09 20:42:
>> Hi,
>>
>> Michael J Gruber wrote on 23.01.2009 13:56 Uhr:
>>> Hi there,
>>>
>>> I'm trying to build Enigmail for current TB nightlies. (I'm on 64bit
>>> Fedora 10 so I can't run Mozilla's 3.0b1 binaries easily anyways, and
>>> can't used binary Enigmail xpi either).
>>>
>>> I can build and run TB from a hg checkout of comm-central. Yeah ;)
>>>
>>> For building Enigmail (from cvs),
>> Are you using enigmail trunk (aka 0.96a)?
>
> Yes, that's what I meant by cvs, sorry. A current cvs checkout from trunk.
>
>>> I've been following the instructions
>>> on the Enigmail website and ended up with the attached error which seems
>>> to be related to a conflict in build options (shared/static).
>>>
>>> I've built TB with "ac_add_options --enable-static --disable-libxul"
>>> because d.m.o. says TB can't be built shared with libxul (and also
>>> because I wanted to "make package"). Is this still true? How
>>> (static/shared/libxul) do you build TB when you build Enigmail for TB 3
>>> nightlies?
>> Sorry, I don't know anything about the building process on linux. In
>> order to build the Mac OS X nightlies, I'm using these options for TB trunk:
>>
>> mk_add_options MOZ_OBJDIR=/path/to/my/objdir
>> ac_add_options --disable-tests
>> ac_add_options --disable-debug
>> ac_add_options --enable-crypto
>> ac_add_options --enable-optimize
>> ac_add_options --enable-static-mail
>> ac_add_options --enable-application=mail
>> mk_add_options MOZ_CO_PROJECT=mail
>> mk_add_options AUTOCONF=autoconf213
>>
>> Maybe you get better help in mozilla.dev.builds on news.mozilla.org.
>
> I tried those options (they're the ones from enigmail.mozdev.org) minus
> the autoconf. I can build and run TB comm-central successfully with
> these options as well as others.
>
> My problem is building enigmail, which is why I think I'd better post
> here than on mozilla.dev.builds. So, my questions really are:
>
> - Which options do you use when you build enigmail.xpi? (probably the
> ones above)
> - Which combination of TB comm-central sha1 and Enigmail cvs rev. is
> known to build and run well together?
>
> I just want to make sure I use a known good combination for trying to
> build my 64bit xpi.
>
> Michael
BTW, using the above options the Enigmail build errors our differently
(and yes, I do ./makemake -r in src/.../enigmail and make in
objdir/.../enigmail). This post is from a current (as in now minus build
time). 64bit build of TB comm-central, btw.
Cheers,
Michael
gmake[3]: Entering directory
`/home/mjg/src/mozstuff/objdir-comm-central-tb/mailnews/extensions/enigmail/ipc/build'
rm -f libipc.so
c++ -fno-rtti -fno-exceptions -Wall -Wpointer-arith
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-long-long -pe
dantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG
-DTRIMMED -Os -freorder-blocks -fno-reorder-functions -fPIC -shared
-Wl,-z,defs -Wl,-h,libipc.so -o libipc.so n
sIPCModule.o -lpthread
-Wl,-rpath-link,../../../../../mozilla/dist/bin:/usr/lib:/usr/local/lib:/lib
-Wl,--whole-archive ../src/libipc_s.a -Wl,--no-whole-archive -L../../../
../../mozilla/dist/bin -L../../../../../mozilla/dist/lib
-L../../../../../mozilla/dist/bin -lxpcom -lxpcom_core
../../../../../mozilla/dist/lib/libxpcomglue_s.a -L../../../../../m
ozilla/dist/bin -lxpcom
`../../../../../mozilla/nsprpub/config/nspr-config
--prefix=../../../../../mozilla/dist
--libdir=../../../../../mozilla/dist/lib --libs` -Wl,--version-scr
ipt
-Wl,/home/mjg/src/mozstuff/comm-central/mozilla/build/unix/gnu-ld-scripts/components-version-script
-Wl,-Bsymbolic -ldl -lm
../src/libipc_s.a(nsPipeTransport.o): In function `nsStdinWriter::Run()':
nsPipeTransport.cpp:(.text+0x8a5): undefined reference to
`nsCOMPtr_base::begin_assignment()'
nsPipeTransport.cpp:(.text+0x9a1): undefined reference to
`nsCOMPtr_base::~nsCOMPtr_base()'
../src/libipc_s.a(nsPipeTransport.o): In function
`nsStdinWriter::nsStdinWriter()':
nsPipeTransport.cpp:(.text+0xa72): undefined reference to
`nsCOMPtr_base::begin_assignment()'
nsPipeTransport.cpp:(.text+0xaa4): undefined reference to
`nsCOMPtr_base::~nsCOMPtr_base()'
etc. etc., ending with:
../../../../../mozilla/dist/lib/libxpcomglue_s.a(nsGenericFactory.o): In
function `nsGenericFactory::QueryInterface(nsID const&, void**)':
nsGenericFactory.cpp:(.text+0x8e0): undefined reference to
`NS_TableDrivenQI(void*, QITableEntry const*, nsID const&, void**)'
/usr/bin/ld: libipc.so: hidden symbol `nsCOMPtr_base::~nsCOMPtr_base()'
isn't defined
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld gab 1 als Ende-Status zurück
gmake[3]: *** [libipc.so] Fehler 1
gmake[3]: Leaving directory
`/home/mjg/src/mozstuff/objdir-comm-central-tb/mailnews/extensions/enigmail/ipc/build'
gmake[2]: *** [libs] Fehler 2
gmake[2]: Leaving directory
`/home/mjg/src/mozstuff/objdir-comm-central-tb/mailnews/extensions/enigmail/ipc'
gmake[1]: *** [libs] Fehler 2
gmake[1]: Leaving directory
`/home/mjg/src/mozstuff/objdir-comm-central-tb/mailnews/extensions/enigmail'
make: *** [default] Fehler 2
More information about the Enigmail
mailing list