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.
35 Responses to “How to compile the IPC library”
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
Are you sure you’re using firefox source oO ? (Why mozilla-central dir ?)
By Maximilien Cuony [The_glu] on Oct 17, 2008
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
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
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
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
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
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
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
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
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
sorry blog software stuffs it
http://paste2.org/p/88429
By Alexis Shaw on Oct 18, 2008
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
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
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
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
@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
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
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
@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
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
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
@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
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
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
Ups, make a mistake i want to say sorrow not shame.
Greetings
By pinger on Nov 15, 2008
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
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
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
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
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
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
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
Yes, well feel free tu buy me a mac…
By Maximilien Cuony [The_glu] on Feb 16, 2010