# Slackware 8.1 onward includes a 'glib' package at version 1.2.10
#
# Slackware's 'glib2' package includes:
# Slackware 12.1: 2.14.6
# Slackware 12.2: 2.16.6
# Slackware 13.0: 2.18.4
# Slackware 13.1: 2.22.5
# Slackware 13.37: 2.28.6
# There are several major (2.16.x, 2.18.x, etc.) versions of GLib below.
# The latest 1.2.x version, which is very old but is still used by quite a
# few apps, and the latest 2.x.x versions. See notes below for more info
# about each one.
# To ensure that old files aren't left when upgrading from one source
# installed version to another, skip down to the bottom for uninstall
# instructions.
# If you have a GLib (1.x or 2.x) that was installed under /usr/local, cd
# into it's source and run 'make uninstall' before continuing here. To
# clean out the empty directories it'll leave behind, look over the
# uninstall instructions at the bottom (but use /usr/local/* instead of
# /usr/*).
# GLib 1.2.10 (GTK+ 1.2.x)
# ===========
cd
test -f installed/glib-1.2.10.tar.gz && mv installed/glib-1.2.10.tar.gz .
test ! -f glib-1.2.10.tar.gz &&
wget ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "glib-1.*" -exec rm -r {} \;
tar xzvf ~/glib-1.2.10.tar.gz
cd glib-1.2.10
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc
make
# Become root to install it
su
test -x /sbin/removepkg && /sbin/removepkg glib
rm -f /usr/include/glib.h /usr/include/gmodule.h
rm -f /usr/lib/libglib-1.*.so*
make install
ldconfig
# Skip down to the bottom for uninstall notes and info about cleaning
# up the elflibs package file
# GLib 2.12.13 (GTK+ 2.10.x)
# ===========
# Prerequisites (beyond those listed above):
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
# packages, it will be used if --enable-gtk-doc is passed to configure)
cd
test -f installed/glib-2.12.13.tar.bz2 && mv installed/glib-2.12.13.tar.bz2 .
test ! -f glib-2.12.13.tar.bz2 &&
wget ftp://ftp.gtk.org/pub/glib/2.14/glib-2.12.13.tar.bz2
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "glib-2.*" -exec rm -r {} \;
tar xjvf ~/glib-2.12.13.tar.bz2
cd glib-2.12.13
test $UID = 0 && chown -R root:root .
# If you want to build GLib with optimizations, pass CFLAGS to configure
# below. I use CFLAGS="-O2 -march=pentium4" for this box which has a
# Pentium IV (4) processor.
# This is what I run:
# CFLAGS="-O2 -march=pentium4" \
# ./configure --prefix=/usr --sysconfdir=/etc --with-libiconv=gnu
# Obviously, make sure you specify your type of processor there (see 'man
# gcc' for others). If you use a gcc older than 3.2.x you'll need to use
# 'i686' instead.
# If you have the GNU libiconv library (vs. glibc's iconv) installed, add
# --with-libiconv=gnu to the configure line below
# If you want to let make run multiple jobs simultaneously (if you have
# multiple processors), add -j3 when you run make below to run 3 jobs at
# once
./configure --prefix=/usr --sysconfdir=/etc
make
# Become root to install it
su
test -x /sbin/removepkg && /sbin/removepkg glib2
rm -f /usr/include/glib.h /usr/include/gmodule.h
rm -f /usr/lib/libglib-2.*.so*
make install
ldconfig
chown -R $USER .
# I'm in the US and only read/write English (well), so I don't need these
find /usr/share/locale -type f -name "glib20.mo" -exec rm {} \;
# GLib 2.14.5 (GTK+ 2.12.x)
# ===========
# Prerequisites (beyond those listed above):
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
# packages, it will be used if --enable-gtk-doc is passed to configure)
cd
test -f installed/glib-2.14.5.tar.bz2 && mv installed/glib-2.14.5.tar.bz2 .
test ! -f glib-2.14.5.tar.bz2 &&
wget ftp://ftp.gtk.org/pub/glib/2.14/glib-2.14.5.tar.bz2
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "glib-2.*" -exec rm -r {} \;
tar xjvf ~/glib-2.14.5.tar.bz2
cd glib-2.14.5
test $UID = 0 && chown -R root:root .
# If you want to build GLib with optimizations, pass CFLAGS to configure
# below. I use CFLAGS="-O2 -march=pentium4" for this box which has a
# Pentium IV (4) processor.
# This is what I run:
# CFLAGS="-O2 -march=pentium4" \
# ./configure --prefix=/usr --sysconfdir=/etc --with-libiconv=gnu
# Obviously, make sure you specify your type of processor there (see 'man
# gcc' for others). If you use a gcc older than 3.2.x you'll need to use
# 'i686' instead.
# If you have the GNU libiconv library (vs. glibc's iconv) installed, add
# --with-libiconv=gnu to the configure line below
# If you want to let make run multiple jobs simultaneously (if you have
# multiple processors), add -j3 when you run make below to run 3 jobs at
# once
./configure --prefix=/usr --sysconfdir=/etc
make
# Become root to install it
su
test -x /sbin/removepkg && /sbin/removepkg glib2
rm -f /usr/include/glib.h /usr/include/gmodule.h
rm -f /usr/lib/libglib-2.*.so*
make install
ldconfig
chown -R $USER .
# I'm in the US and only read/write English (well), so I don't need these
find /usr/share/locale -type f -name "glib20.mo" -exec rm {} \;
# GLib 2.16.6
# ===========
# Prerequisites (beyond those listed above):
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
# packages, it will be used if --enable-gtk-doc is passed to configure)
cd
test -f installed/glib-2.16.6.tar.bz2 && mv installed/glib-2.16.6.tar.bz2 .
test ! -f glib-2.16.6.tar.bz2 &&
wget ftp://ftp.gtk.org/pub/glib/2.16/glib-2.16.6.tar.bz2
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "glib-2.*" -exec rm -r {} \;
tar xjvf ~/glib-2.16.6.tar.bz2
cd glib-2.16.6
test $UID = 0 && chown -R root:root .
# If you want to build GLib with optimizations, pass CFLAGS to configure
# below. I use CFLAGS="-O2 -march=pentium4" for this box which has a
# Pentium IV (4) processor.
# This is what I run:
# CFLAGS="-O2 -march=pentium4" \
# ./configure --prefix=/usr --sysconfdir=/etc --with-libiconv=gnu
# Obviously, make sure you specify your type of processor there (see 'man
# gcc' for others). If you use a gcc older than 3.2.x you'll need to use
# 'i686' instead.
# If you have the GNU libiconv library (vs. glibc's iconv) installed, add
# --with-libiconv=gnu to the configure line below
# If you want to let make run multiple jobs simultaneously (if you have
# multiple processors), add -j3 when you run make below to run 3 jobs at
# once
./configure --prefix=/usr --sysconfdir=/etc
make
# Become root to install it
su
test -x /sbin/removepkg && /sbin/removepkg glib2
rm -f /usr/include/glib.h /usr/include/gmodule.h
rm -f /usr/lib/libglib-2.*.so*
make install
ldconfig
chown -R $USER .
# I'm in the US and only read/write English (well), so I don't need these
find /usr/share/locale -type f -name "glib20.mo" -exec rm {} \;
# GLib 2.18.4 (GTK+ 2.14.x)
# ===========
# Prerequisites (beyond those listed above):
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
# packages, it will be used if --enable-gtk-doc is passed to configure)
# Python (for Python bindings)
# SELinux support (optional)
# inotify in your kernel (optional)
# (you may need to symlink /usr/include/linux/inotify.h to
# /usr/include/sys/inotify.h for this - I haven't tried)
# fam (optional)
cd
test -f installed/glib-2.18.4.tar.bz2 && mv installed/glib-2.18.4.tar.bz2 .
test ! -f glib-2.18.4.tar.bz2 &&
wget ftp://ftp.gtk.org/pub/glib/2.18/glib-2.18.4.tar.bz2
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "glib-2.*" -exec rm -r {} \;
tar xjvf ~/glib-2.18.4.tar.bz2
cd glib-2.18.4
test $UID = 0 && chown -R root:root .
# If you want to build GLib with optimizations, pass CFLAGS to configure
# below. I use CFLAGS="-O2 -march=pentium4" for this box which has a
# Pentium IV (4) processor.
# This is what I run:
# CFLAGS="-O2 -march=pentium4" \
# ./configure --prefix=/usr --sysconfdir=/etc --with-libiconv=gnu
# Obviously, make sure you specify your type of processor there (see 'man
# gcc' for others). If you use a gcc older than 3.2.x you'll need to use
# 'i686' instead.
# If you have the GNU libiconv library (vs. glibc's iconv) installed, add
# --with-libiconv=gnu to the configure line below
# If you want to let make run multiple jobs simultaneously (if you have
# multiple processors), add -j3 when you run make below to run 3 jobs at
# once
./configure --prefix=/usr --sysconfdir=/etc
make
# Become root to install it
su
# Remove old files that may cause trouble, install the new version
test -x /sbin/removepkg && /sbin/removepkg glib2
rm -f /usr/include/glib.h /usr/include/gmodule.h
rm -f /usr/lib/libglib-2.*.so*
make install
ldconfig
# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .
# I'm in the US and only read/write English (well), so I don't need these
find /usr/share/locale -type f -name "glib20.mo" -exec rm {} \;
# GLib 2.28.8 (GTK+ 3.0.x)
# ===========
# Prerequisites (beyond those listed above):
# gtk-doc > 1.0 (Slackware includes this in it's sgml-tools/linuxdoc-tools
# packages, it will be used if --enable-gtk-doc is passed to configure)
# Python (for Python bindings)
# SELinux support (optional)
# inotify in your kernel (optional)
# (you may need to symlink /usr/include/linux/inotify.h to
# /usr/include/sys/inotify.h for this - I haven't tried)
# fam (optional)
cd
test -f installed/glib-2.28.8.tar.bz2 && mv installed/glib-2.28.8.tar.bz2 .
test ! -f glib-2.28.8.tar.bz2 &&
wget ftp://ftp.gtk.org/pub/glib/2.28/glib-2.28.8.tar.bz2
# Verify tarball w/ md5sum:
# (this came from my sha1sum-verified tarball)
echo "789e7520f71c6a4bf08bc683ec764d24 glib-2.28.8.tar.bz2" | md5sum -c
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "glib-2.*" -exec rm -r {} \;
tar xjvf ~/glib-2.28.8.tar.bz2
cd glib-2.28.8
test $UID = 0 && chown -R root:root .
# If you want to build GLib with optimizations, pass CFLAGS to configure
# below. I use CFLAGS="-O2 -march=pentium4" for this box which has a
# Pentium IV (4) processor.
# This is what I run:
# CFLAGS="-O2 -march=pentium4" \
# ./configure --prefix=/usr --sysconfdir=/etc --with-libiconv=gnu
# Obviously, make sure you specify your type of processor there (see 'man
# gcc' for others). If you use a gcc older than 3.2.x you'll need to use
# 'i686' instead.
# If you have the GNU libiconv library (vs. glibc's iconv) installed, add
# --with-libiconv=gnu to the configure line below
# If you want to let make run multiple jobs simultaneously (if you have
# multiple processors), add -j3 when you run make below to run 3 jobs at
# once
./configure --prefix=/usr --sysconfdir=/etc
make
# Become root to install it
su
# Remove old files that may cause trouble, including the Slackware package
test -x /sbin/removepkg && /sbin/removepkg glib2
rm -f /usr/include/glib.h /usr/include/gmodule.h
rm -f /usr/lib/libglib-2.*.so*
# Install the new version
make install
ldconfig
# Make sure your non-root user can remove the source later
chown -R $USER .
chmod -R u+w .
# I'm in the US and only read/write English (well), so I don't need these
find /usr/share/locale -type f -name "glib20.mo" -exec rm {} \;