Pup 2.0.1: How to compile SeaMonkey 1.0.2/Enigmail?

Using applications, configuring, problems
Post Reply
Message
Author
PaulBx1
Posts: 2312
Joined: Sat 17 Jun 2006, 03:11
Location: Wyoming, USA

Pup 2.0.1: How to compile SeaMonkey 1.0.2/Enigmail?

#1 Post by PaulBx1 »

I am trying to get gpg running with SeaMonkey.

Gpg apparently requires the Enigmail add-on.

On the Enigmail site, it has this warning:
Enigmail needs to be compiled using the same environment as the Thunderbird or Mozilla Suite you are about to install it on. This usually means that you should either use the official binary builds of both (the Mozilla application and Enigmail) - or only use packages provided by your distribution - or build both manually. For example if you use a distribution Thunderbird package with the official Enigmail build, you will encounter problems!
I'm guessing that means I have to compile SeaMonkey (1.0.2 at the moment), then when that is successful, compile Enigmail. I have the regular Puppy with SeaMonkey 1.00 and I'm also guessing I can just compile 1.0.2 on top of it and everything will be fine. :roll:

Anyway, I got Seamonkey 1.0.2 over, read the README.txt (which was not helpful, but which referred me to the website for compile help, which also was not helpful). I was also looking at the puppy compile wiki which mentioned using "ldd" to check dependencies, but I didn't see how to invoke it - what parameter to give it. So I went ahead and just tried "./configure", and got this at the end:

Code: Select all

checking MOZ_GTK2_LIBS...   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0  
configure: error: --enable-application=APP is required
I'm guessing some library is needed, but not sure which. The README.txt file noted this:
*Linux

-The following library versions (or compatible) are
required: glibc 2.1, XFree86 3.3.x, GTK 1.2.x, Glib
1.2.x, Libstdc++ 2.9.0. Red Hat Linux 6.0,
Debian 2.1, and SuSE 6.2 (or later) installations
should work.
Any suggestions on this would be appreciated. FYI I am generally familiar with the make procedure (used something similar on an old Unix system years ago) but not with recent specifics of it.

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#2 Post by BarryK »

This is the build script for Seamonkey 1.0 from Puppy Sourcerer:

Code: Select all

 ./configure --localstatedir=/var --prefix=/usr --host=i486-pc-linux-gnu --with-x --with-pthreads --with-system-jpeg --with-system-zlib --with-system-png --enable-default-toolkit=gtk2 --enable-xft --enable-postscript --disable-xprint --disable-gnomevfs --disable-gnomeui --enable-crypto --enable-plugins --disable-logging --enable-strip --enable-necko-protocols=all --disable-debug --enable-mathml --enable-composer --disable-freetype2 --enable-cookies --enable-extensions=cookie,transformiix,wallet,xmlextras,pref,spellcheck,universalchardet,permissions --enable-mailnews --disable-calendar --enable-application=suite --disable-accessibility --disable-ldap --enable-pango --enable-chrome-format=flat --with-distribution-id=com.puppylinux
 make

 cd xpinstall/packager
 make
 echo "pkg in dist/seamonkey/"
 echo "Mucho manual size reduction reqd"

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#3 Post by Nathan F »

It is possible to do a './configure/make/make install' to build Seamonkey, but not always advisable. The best way is to use a .mozconfig file which is placed inside the source directory, and then run 'make -f client.mk build'. The .mozconfig file specifies options to pass to ./configure and sets up the environment properly. This is covered in some detail at http://developer.mozilla.org/en/docs/Co ... ld_Options. The error message you cited is telling you that you did not specify which appliaction you wanted to build. Seamonkey, Firefox, Thunderbird, Camino, Minimo, and Sunbird are all built from the same source tree, so you must tell the build system which one you want. In fact the only Mozilla application that is based off a different source tree is NVU, and that may merge back in eventually (some parts of it already have in cvs).

I haven't looked in a while but I'm pretty sure the headers for Puppy's Seamonkey are in the devx addon. You might be able to just point the Enigmail ./configure stage to where they are. I'm in OneBone right now without the compiler even being here, so I can't check for sure.

Even if you do end up having to compile from scratch it's not that hard if you follow the advice in the link I gave you. From my experience you will have better chances of success if you:
  • use gtk2 as the toolkit
    for Seamonkey build as shared, for Firefox or Thunderbird build as static
    enable xft but not freetype
    build for i486 like Barry does
Once you do it the first time successfully it will be easy every time after that, but be warned the build takes a long time. On my athlonXP (2.2ghz) the build runs most of an hour, on a slower machine much longer.

Hope this all helps.

Nathan
Bring on the locusts ...

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#4 Post by Nathan F »

One other thing. I noticed Barry that you do the packager stage in your build script, but that places the 'seamonkey' script inside the same directory as the rest of the package, from where it cannot be moved, and forces you to use some other scripts to run the program. I just build with an objdir, cd into it and run 'make install' from there. That places the script in your PATH where it can be called like so.

seamonkey (starts the browser)
seamonkey -mail (starts mail)
seamonkey -mail -p nathan (starts mail with my profile, or substitute my daughter's name and her profile comes up)

And so on. It's preference but I like this better than the custom scripts 'mozstart' 'mozmail' etc. Plus it seems there is no longer a need to symlink the directory to /usr/lib/mozilla for the program to run (although the MOZILLA_FIVE_HOME variable (and path to the libs) still needs to be set in the shell for things like Gaim to find the libs).

Nathan
Bring on the locusts ...

PaulBx1
Posts: 2312
Joined: Sat 17 Jun 2006, 03:11
Location: Wyoming, USA

#5 Post by PaulBx1 »

Boy! :shock:

I'm getting the distinct feeling this is beyond me. I'm not even close to understanding the process enough, such that what you said would make sense to me. I'm just a retired hardware engineer...

I think I may try to drag one of my linux guru friends over here to see if they can help me with this little enigmail project. I don't want to bother you guys because it looks like you have enough on your plate.

PaulBx1
Posts: 2312
Joined: Sat 17 Jun 2006, 03:11
Location: Wyoming, USA

#6 Post by PaulBx1 »

Well, I could talk none of my friends on the other forum into trying this. <sigh>

I tried installing the enigmail executable. It did install, and going into mozilla mail showed a "decrypt" icon on the menu bar, but if I did anything at all, even just attempting to reply to a message, mozilla would die. Apparently the warning on their site is correct. I uninstalled enigmail and it was back in working order.

Barry is there any way, in upcoming Puppy releases, that Seamonkey can be compiled such that installing the enigmail binaries will work? Or could someone put together a dotpup or pupget package? Encryption is becoming very important these days, what with the US govt. snooping through everyone's emails.

If a more knowlegable person doesn't step up to this task, I will see if I can figure out how compiling works, but it looks like a tough job. I'm getting too old for this. :(

Even just pointing me in the right direction, where to learn about compiling, would be a big help. A book or website...

User avatar
Nathan F
Posts: 1764
Joined: Wed 08 Jun 2005, 14:45
Location: Wadsworth, OH (occasionally home)
Contact:

#7 Post by Nathan F »

I have aan extremely busy couple of weeks ahead of me, and in fact it doesn't appear that will ease up any time soon. But if I can squeeze it in at all I will see what I can do. Just remember I make no promises.

The build system I pointed you to earlier really is not as complicated as it might seem. Basically most of the time when you run ./configure you run it with certain options. For instance './configure --prefix=/usr/X11R6' would configure the program for installation in /usr/X11R6. With the Mozilla build system because there are so many build options you can place them in a file (.mozconfig) instead of typing them into the shell. The Mozilla developer site even has a selection of sample .mozconfig files that you can use, and they will usually work fine.

So assuming you do a copy and paste with a sample .mozconfig file and run 'make -f client.mk build' and it is successful, you would then run 'make install' and it installs the program and all the development headers. Then compile enigmail and theoretically it will work. Or it might be easier on you if you use the official binaries like they recommend. If I were you I'd at least try that.

Nathan
Bring on the locusts ...

PaulBx1
Posts: 2312
Joined: Sat 17 Jun 2006, 03:11
Location: Wyoming, USA

#8 Post by PaulBx1 »

Well, I did try that (if I understand you, which is questionable). It didn't work.

I may fiddle around with this for a while, but I'm at a loss for even basic questions like where the source, object, etc should be located before starting to build. Or if the recompiled seamonkey will properly write over the old seamonkey, or if I need to remove the latter first.

I don't want to add to your load either.

Really, I'm not up to much beyond the level of installing dotpups, so I think the best thing is to hope Barry or someone turns enigmail into a dopup or pupget. Johnny Reb did that for Gnupg, although I think I did manage to get a later version of that compiled properly, since it was simple.

Post Reply