How to compile the IPC library

October 17, 2008 – 7:04 pm by Maximilien Cuony [The_glu]

If you want to use FireGPG on any another OS than OSs currently supported, you have to build the IPC library.

Notice you can’t build it for Firefox 2. You need the version 1.2.0 and she’s only Firefox 3 compatible.

You will have to compile Firefox (or a part of). Please have a look at requirements for your system on the mozilla’s website.

  • Download Firefox’s sources and extract them
  • Create the file .mozconfig with this content :
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@
    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-browser
    ac_add_options --enable-application=browser
    mk_add_options MOZ_CO_PROJECT=browser
  • Execute make -f client.mk export
  • Execute make -f client.mk build
  • Download the IPC library
  • Extract files in mozilla/extensions/ipc
  • Change directory to mozilla/extensions/ipc
  • Execute ./makemake -r -o FULLPATHOFSOURCES/../obj-i686-pc-linux-gnu/
  • Change directory to FULLPATHOFSOURCES/../obj-i686-pc-linux-gnu/
  • Execute make

If it’s work, you can find the library in FULLPATHOFSOURCES/../obj-i686-pc-linux-gnu/dist/bin/components (you need the libipc.so/ipc.dll/whatever.who.is.a.lib.on.your.system.and.has.ipc.in.the.name and the ipc.xpt). Copy the two files in your firefox’s components’s folders, and create an empty .autoreg file in your Firefox’s folder. It’s should work.

  1. 35 Responses to “How to compile the IPC library”

  2. I get an error with that .mozconfig file when I run the first make command.

    Here’s the pastebin to show the problem. Thanks!

    http://paste2.org/p/88260

    By Shane on Oct 17, 2008

  3. Are you sure you’re using firefox source oO ? (Why mozilla-central dir ?)

    By Maximilien Cuony [The_glu] on Oct 17, 2008

  4. I’m getting an identical error. I’m running a amd64 Gentoo system, and the Firefox sources I’m using are exactly those which Gentoo used to build the Firefox I’m currently running.

    By Randall on Oct 18, 2008

  5. I’m getting an identical error (well, replacing every instance of “/home/username/Desktop/mozilla-central/” with “/tmp/mozilla/”, because that’s where I extracted the sources). I’m running a amd64 Gentoo system, and the Firefox sources I’m using (labeled “mozilla-firefox-3.0.3.tar.bz2″) are exactly those which Gentoo used to build the Firefox I’m currently running.

    Also, if this dupes, it’s because I didn’t have JavaScript enabled the first time I posted and I worried it didn’t go through.

    By Randall on Oct 18, 2008

  6. I’m getting an identical error (well, replacing every instance of “/home/username/Desktop/mozilla-central/” with “/tmp/mozilla/”, because that’s where I extracted the sources). I’m running a amd64 Gentoo system, and the Firefox sources I’m using (labeled “mozilla-firefox-3.0.3.tar.bz2″) are exactly those which Gentoo used to build the Firefox I’m currently running.

    Also, if this triplicates, it’s because I didn’t put down a real email address the first two times I posted and I worried they didn’t go through.

    By Randall on Oct 18, 2008

  7. It’s really too bad that you require building firefox and this IPC module from source now. It’s likely to keep a lot of users with 64-bit machines from using FireGPG. I doubt I’ll be able to keep up with the updates this way.

    By Jon on Oct 18, 2008

  8. I tried the instructions and get the same error as Shane. My build directory is called “mozilla” and the source tree is the one that opensuse 11.0 uses to build.

    By Jon on Oct 18, 2008

  9. After complaining about it, I actually tried to build things and got the same error as Shane. I’m using the source tree from opensuse 11.0.

    By Jon on Oct 18, 2008

  10. This is the link I followed to download the source, http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.1b1/source/

    By Shane on Oct 18, 2008

  11. I just test and it’s works for me on windows AND linux.

    Are you sure you have requirements defined by mozilla ?

    By Maximilien Cuony [The_glu] on Oct 18, 2008

  12. Fixed that error, you have to slightly modify the text to

    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@
    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-browser
    ac_add_options –-enable-application=browser
    mk_add_options MOZ_CO_PROJECT=browser

    By Alexis Shaw on Oct 18, 2008

  13. sorry blog software stuffs it

    http://paste2.org/p/88429

    By Alexis Shaw on Oct 18, 2008

  14. What requirements defined by mozilla? If we were missing libraries I’d expect an error about not being able to find something. However this error indicates that the options that you suggest we put in .mozconfig are somehow wrong. Note the error messages suggest that configure is trying to use -disable-tests and -disable-debug as host types not as parameters to configure. If I move .mozconfig out of the way, it goes along just fine.

    By Jon on Oct 18, 2008

  15. Ok, as Alexis Shaw said, it’s wordpress who change some characters in the mozconfig ;)

    Post updated.

    By Maximilien Cuony [The_glu] on Oct 18, 2008

  16. That’s better, thanks. Sure takes quite awhile to build though.

    Do note that you’re reference to the object directory in the makemake command is architecture dependent. On my system it’s obj-x86_64-unknown-linux-gnu.

    It turned out that changing to the object directory and doing a make did not build the ipc library. I ended up changing to the object directory/components/ipc and then executing a make and then the files showed up in /dist/bin/components.

    Now about the autoreg file, does that belong in firefox/components or firefox?

    By Jon on Oct 18, 2008

  17. I don’t feel like building Firefox and this addon every time I setup a system. Will there ever be a 64-bit Linux build of this addon?

    If not, I might just use Thunderbird for encrypting emails.

    By shane on Oct 19, 2008

  18. @jon : in firefox

    @shane : you have to build on time and you can use it multiple time. They will be no problem when you update firegpg ;) .

    By Maximilien Cuony [The_glu] on Oct 19, 2008

  19. First off, thank you for a magical product (up to now). But this is WEAK SAUCE, guys. Dont be an Adobe! There’s only going to be more and more users going to x86_64, so lets get this straightened out now.

    Thanks.

    By Admiral Beotch on Oct 20, 2008

  20. I’m no tech genius. I have no idea how to build this thing. I have a Mac and after downloading the “latest greatest version” that conveniently is NOT supported, I can no longer use GPG like the rest of you. Is there anyone who can help this poor soul? Please give me, a, in Lamen’s terms, step-by-step instructions to follow along with the info. FireGPG provided?

    By JT on Oct 20, 2008

  21. @JT : I doesn’t have any mac, so I don’t know exactly how to build the library. If I had, I would made it myself and packed it with FireGPG ;)

    By Maximilien Cuony [The_glu] on Oct 20, 2008

  22. Can I build this with 3.0.3 source? I get these two errors:

    ../../../dist/include/xpcom/nsISupportsBase.h:94: error: ‘virtual nsrefcnt nsISupports::AddRef()’ is inaccessible
    /Users/jason/Downloads/mozilla/extensions/ipc/src/nsPipeTransport.cpp:741: error: within this context
    ../../../dist/include/xpcom/nsISupportsBase.h:103: error: ‘virtual nsrefcnt nsISupports::Release()’ is inaccessible
    /Users/jason/Downloads/mozilla/extensions/ipc/src/nsPipeTransport.cpp:742: error: within this context

    By Jason on Oct 21, 2008

  23. i am x86_64 user and i am very dissapointed
    i will not compile some shit and throw away 2+ hours with compiling some fucking library a breaking my firefox
    remove this stupid bullshit and make firegpg usable by default

    By stano on Oct 21, 2008

  24. @stano : We will note remove this “bullshit”. It’s this or let’s your password and decrypted texts readable by all programms on your computer so…

    The next release will probably have libs for x86_64 included. I’m tring to find a mac to build it for mac users too.

    By Maximilien Cuony [The_glu] on Oct 21, 2008

  25. I tried to build on my Intel MacBook Pro (10.5.5) and got the error I had posted earlier. Am I building with the correct source? Seems like everyone else would be getting same error I am. I downloaded the 3.0.3 Firefox source.

    By Jason on Oct 22, 2008

  26. I was still using Iceweasel (Debian Package name for Firefox 2), if i know i wasn’t able to make this program works, i didn’t upgraded.

    This is a shame, i love this plugin and know i can’t use it :_(

    Greetings from Barcelona (Catalunya, Europe)

    By pinger on Nov 15, 2008

  27. Ups, make a mistake i want to say sorrow not shame.

    Greetings

    By pinger on Nov 15, 2008

  28. IPC? is there more information at Ubuntu (sorry, specific OS question)?

    I did s search of Synaptic, and there is a package libassuan-dev. “Right now it is only distributed as a static lib, since it is still under development.”
    The files that were created are –
    /usr/bin/libassuan-config
    /usr/lib/libassuan.a
    /usr/lib/libassuan-pth.a
    /usr/include/assuan.h
    /usr/share/aclocal/libassuan.m4
    /usr/share/info/assuan.info.gz
    /usr/share/doc/libassuan-dev/README
    /usr/share/doc/libassuan-dev/TODO
    /usr/share/doc/libassuan-dev/copyright
    /usr/share/doc/libassuan-dev/changelog.gz
    /usr/share/doc/libassuan-dev/NEWS.gz
    /usr/share/doc/libassuan-dev/changelog.Debian.gz
    /usr/share/doc-base/assuan
    /usr/share/man/man1/libassuan-config.1.gz

    So, am I good to go for the install on Ubuntu 32bit amd64?

    Thank you,

    Bear

    By Bear on Jan 26, 2009

  29. I try to build it on Mac OS X 10.4.11 (PPC).

    Basically I follow this post (but I use
    ./makemake -r -o FULLPATHTOSOURCE/../obj-powerpc-apple-darwin8.11.0/), and it doesn’t report any error.

    But I cannot find either ipc.xpt nor libipc.so in the FULLPATHTOSOURCE/../obj-powerpc-apple-darwin8.11.0/dist/bin/components direcoty.

    I even run find obj-powerpc-apple-darwin8.11.0 ipc, but nothing appears.

    By weakish on Feb 3, 2009

  30. weakish, you probably have to replace FULLPATHTOSOURCE with the actual full path to the source file.
    like /Users/weakish/work/mozilla

    so:
    $ ./makemake -r -o /Users/weakish/work/mozilla/../obj-i686-pc-linux-gnu/
    $ cd /Users/weakish/work/mozilla/../obj-i686-pc-linux-gnu/
    $ make

    I’ve done this now, it hasn’t finished making but i have good hopes…

    By denz on Feb 18, 2009

  31. Oops. Too quick in cut/paste…

    “obj-i686-pc-linux-gnu” is of course not right. this should be the “obj-something-else-altogether”, like, in my and possibly weakish’ case, “obj-powerpc-apple-darwin8.11.0″.

    Maybe even the FULLPATHETC could be replaced with “../..” this would get you to the same place

    Oh. And as in some of the previous comments:
    - I have to make *again* in the components/ipc directory (like Jon mentioned)
    - I’ve got the same messages Jason reported (about the inaccessible things)

    Now i’ve got a ipc.xpt, but nothing I recognise as a library (libipc.dylib). I guess I have to fix the errors and then retry to make the library

    By denz on Feb 19, 2009

  32. It would be nice to have a FreeBSD port to build libipc. It’s just too tedious to do this manually.

    By cordula on May 11, 2009

  33. Manual steps to compile libipc.so and ipc.xpt on FreeBSD/amd64 using the www/freebsd3 port:

    http://docs.freebsd.org/cgi/mid.cgi?20090523145353.GC1325

    By cordula on May 23, 2009

  34. Shame there is no more PPC mac support. Compiling web browsers is not something ordinary people will ever be able to do, and anyway the point of the enterprise is to make email encryption easy is it not. Is there anyway you could gather a community of programmers and make the plug in support all operating systems.

    Please

    Peter

    By Peter on Feb 16, 2010

  35. Yes, well feel free tu buy me a mac…

    By Maximilien Cuony [The_glu] on Feb 16, 2010

  1. 1 Trackback(s)

  2. Feb 14, 2009: Mudei de Browser…Swiftweasel é mais rápido « O Vigia

Post a Comment