can not compile pidgin-2.1.0

Gabriel Schulhof nix at go-nix.ca
Tue Jul 31 09:58:34 EDT 2007


Hi!

On Tue, July 31, 2007 15:41, Sadrul Habib Chowdhury wrote:
> Anyone can give me a quick howto on setting up stuff so I can
> test-compile things with different versions of different libraries
> before I break everything else? (I would prefer if I can avoid
> installing some virtual machine (eg. VMWare etc.))

Here's the idea: Get a Gentoo distribution running in a chroot-ed
environment. That way, you can compile /everything/ from source with debug
symbols and so forth, and you can install only those packages into /usr
whose versions you don't want to vary - things like X and xft. You create
an unprivileged user inside this environment whose uid and gid coincide
with your unprivileged uid and gid outside the environment. Then, inside,
after emerging X, xft, automake, autoconf, make, and all that, you change
to the unprivileged user, and install a specific combination glib, pango,
atk, and gtk+ versions under ${HOME}/sw. Then, if you want a different
combination of versions, you rename ${HOME}/sw to
${HOME}/sw-something-meaningful and create a new ${HOME}/sw and move it to
${HOME}/sw-some-other-meaningful-string. You can then switch between these
environments by symlinking the one you wanna work with as ${HOME}/sw. Of
course, you need to add things like

export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${HOME}/sw/lib/pkgconfig
export PATH=${PATH}:${HOME}/sw/bin
...

to your inside .bash_profile to get the packages you build from source to
build against packages you've previously installed into ${HOME}/sw.

The following should work on just about any Linux distro. I haven't tested
this exact sequence, but I /have/ gotten a Gentoo chroot working twice
before.

1. Download a Gentoo stage 3 tarball (e.g. [1])

2. As root:
cd /
mkdir chroot
cd chroot
tar xvjf /path/to/stage3-i686-2007.0.tar.bz2
mount -t proc proc proc
cp /etc/resolv.conf etc

chroot . /bin/bash
env-update
source /etc/profile
emerge --sync
# go get some coffee
emerge xorg-x11 # You might need to edit /etc/make.conf and add some USE
flags to get the right video card compiled
emerge xft
emerge automake autoconf make libintl # and any other tools
su - user
mkdir sw
mkdir src
cd src
wget ftp://ftp.gnome.org/pub/gnome/source/glib/2.0/glib-2.0.7.tar.bz2
tar xvjf glib-2.0.7.tar.bz2
cd glib-2.0.7
./configure --prefix=${HOME}/sw && make && make install
cd ..
wget ftp://ftp.gnome.org/pub/gnome/sources/pango/#... and so forth, until
you have the whole stack in ${HOME}/sw

Now, you can compile Pidgin. If you wanna run it, you need to make sure
your X server is listening on TCP. Then, outside, do

xhost +localhost

and inside, do

export DISPLAY=:0.0
pidgin/.libs/pidgin &

HTH,



Gabriel

[1]
http://gentoo.arcticnetwork.ca/source/releases/x86/current/stages/stage3-i686-2007.0.tar.bz2




More information about the Devel mailing list