home | list info | list archive | date index | thread index

Re: [OCLUG-Tech] Building latest versions of programs

Prof J C Nash wrote:
> I've had considerable difficulty getting a reliable setup for
> compiling the latest versions of some packages (in my case Gnumeric
> and its support is the main interest, since I'm trying to prepare the
> test spreadsheets). From the Gnumeric list I've had bits of advice,
> but all have hit bumps. I've had minor success building a directory
> with its own lib, share etc. directories and setting some of the
> environment variables, and managed on Xandros 3.02 to get a compile.
> Not so much luck with Ubuntu 6.06 (Dapper). Keep getting configure
> msgs that say I don't have the libraries, even after I've built them.
> So I clearly don't have all the recipe for putting in the flags.
>
> Also tried jhbuild with no joy for similar-looking problems. And
> Garnome looked far too complex, though it would be nice to include.
> I've also considered a chroot jail approach, possibly driven by a
> liveCD i.e., liveCD boot and regular HD mount or directory for the
> working files. This would let me move from machine to machine and have
> consistent compile environment.
>
> I plan to write up the results of my efforts as a HowTo, since there
> are obviously -- from posts on Gnumeric list -- others like myself who
> have considerable subject expertise and don't want to become
> comma-semicolon masters of the arcane (though I probably am in areas
> of statistical and math software).
>
> Is anyone interested in trading time/expertise with me? e.g.,
> stat/math for compilation. I'm also investigating my research account
> to see how much is left in it. I can be contacted off-list about this.
>
> JN
>
Compiling on Ubuntu starts with:

uname -r

This tells you the version and extraversion numbers of your system.

On this box:
bill@server:~$ uname -r
2.6.15-26-386

2.6.15 is the version and
-26-386 is the extraversion

You must retrieve the kernel source and kernel headers appropriate for
your system.  Starting elsewhere will cause headaches.  In my case for
this machine:

apt-get install kernel-source-2.6.15 kernel-headers-2.6.15-26-386

It is easy to have things out of date as normal system updates may
change kernel version and extraversion, causing your source and headers
to be out of sync with the currently running kernel.

Once the kernel source is retrieved, untar it, and create the usual
symbolic link: ln -s /usr/src/linux-source-2.6.15 /usr/src/linux .  Once
done, you must edit the /usr/src/linux/Makefile to set the version and
extraversion correctly.  You must also set a symbolic link from
/usr/src/linux to /lib/modules/<kver>/build

Once you've done the above, and have installed build-essential and other
compile-required packages (gcc version needed by app etc.), Ubuntu
behaves very nicely.

Once you compile and install kernel modules, don't forget to depmod -a
and add whatever required to your aliases, modules.conf etc.

--
Bill Strosberg