[Enigmail] Building Enigmail for TB comm-central: static or shared, libxul or not?
Michael J Gruber
michaeljgruber+mozdevnews at fastmail.fm
Tue Feb 3 07:22:04 PST 2009
David Ward venit, vidit, dixit 03.02.2009 09:59:
> Michael J Gruber wrote:
>> Patrick Brunschwig venit, vidit, dixit 26.01.2009 14:56:
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA256
>>>
>>> Michael J Gruber wrote:
>>>> 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)
>>> Here are my options:
>>>
>>> mk_add_options MOZ_CO_PROJECT=mail
>>> mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/enigdev
>>> mk_add_options AUTOCONF=autoconf2.13
>>>
>>> ac_add_options --enable-application=mail
>>> ac_add_options --enable-optimize
>>> ac_add_options --disable-debug
>>> ac_add_options --disable-tests
>>> ac_add_options --enable-codesighs
>>> ac_add_options --disable-shared
>>> ac_add_options --enable-static
>>> ac_add_options --disable-update-packaging
>>> ac_add_options --disable-debug
>>> ac_add_options --disable-tests
>>> ac_add_options --enable-codesighs
>>> ac_add_options --disable-shared
>>> ac_add_options --enable-static
>>> ac_add_options --disable-crashreporter
>>>
>>>> - Which combination of TB comm-central sha1 and Enigmail cvs rev. is
>>>> known to build and run well together?
>>> any. I create nightly builds and they usually work fine.
>> Patrick, thanks for taking the time. I can compile TB with the options
>> above just nicely. Yet, building Enigmail gives me pain again, see
>> below. Specifically, I
>> did a make -f client.mk clean" and rm -Rf'ed the enigmail copy,
>> built TB, ran it ,
>> copied ${enigmailcvscheckout}/enigmail/src to
>> ${comm-central-with-gecko-1.9.1-checkout}/mailnews/extensions/enigmail,
>> ran "./makemake -r" in the latter and "make" in
>> ${objdir}/mailnews/extensions/enigmail.
>>
>> Instructions say cp enigmail/src to mozilla/mailnews/extensions/enigmail
>> which doesn't exist. With the current build structure, mailnews
>> "contains" (pulls as a module) mozilla-central (or rather 1.9.1), so I
>> think what I used is the place to put enigmail. (I've tried
>> mozilla/extensions/enigmail before, not better.)
>>
>> The error sounds as if ipc is being built shared whereas TB is built
>> static (as per .mozconfig). Any more hints? makemake does pick up objdir
>> so it sees the .mozconfig.
>>
>> This is on 64bit Fedora 10, by the way, gcc/g++ is gcc version 4.3.2
>> 20081105 (Red Hat 4.3.2-7) (GCC).
>>
>> Thanks for your patience...
>> Michael
>
> I'm having the same error, compiling under Ubuntu 8.10 with Thunderbird
> 3.0 beta 1 sources. Any luck figuring out if shared building of ipc is
> the problem?
Well, that was my conclusion from the saga, and the point where I gave
up, at least for now. I would not be surprised if building in a 32bit
environment would work with these configs (relocating is a minor issue
there), maybe even cross-building the 32bit version in a 64bit
environment. Is your Ubuntu 64bit?
At least I haven't heard a success story about a 64bit build of Enigmail
with TB 3ish yet; PB wasn't specific on his setup. It's a shame Mozilla
doesn't even provide 64bit builds, there are no 64bit Tinderboxen. I'm
still not sure whether the culprit is Thunderbird's (even though it
builds and runs) or Enigmail's build process.
Michael
More information about the Enigmail
mailing list