[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