[Enigmail] Building Enigmail for TB comm-central: static or shared, libxul or not?

Michael J Gruber michaeljgruber at fastmail.fm
Tue Jan 27 04:45:14 PST 2009


Patrick Brunschwig venit, vidit, dixit 01/27/09 07:51:
> 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 not sure if you will succeed with GCC 4.3.2. I'd suggest you check
> <https://www.mozdev.org/bugs/show_bug.cgi?id=20282> and the referenced
> Gentoo bug.

Thanks for the hint, although they seem to be able to compile enigmail
release version with TB 2.0.0.*. They get crashes during runtime which
are most probably due to the typical Gentoo attitude: building with
-Oas-much-as-possible-though-I-have-no-clue ;) Seriously, they use -O2
which d.m.o. specifically warns against, and -O1 solves their problem.

I have a build problem (with cvs trunk/comm-central-trunk/gecko-1.9.1),
specifically a linker problem which I have no clue about... I'll try a
bit more, or else resort to TB 2.0.0.19 with Remi's Enigmail build. In
fact, his SRPMs should give me some hints...

Michael


More information about the Enigmail mailing list