Specific examples of resolving CVS build issues

Below I have specific workarounds for specific situations that have come up in the many times that I have built from CVS. It always seems that it is something new each time, so this list grew each time I built from cvs.

Workarounds on amr

Specific workarounds I used to build/install gnome on my machine named amr. This machine ran Red Hat 8, but had a bunch of stuff installed by the sysadmins; I also installed one or two Ximian packages.

libiconv problem

Package
glib
Error
#error GNU libiconv not in use but included iconv.h is from libiconv
Info from config.log
./configure --enable-maintainer-mode --enable-gtk-doc --prefix /opt/gnome2
Fix
./configure --enable-maintainer-mode --enable-gtk-doc --with-libiconv=gnu --prefix /opt/gnome2

Translation file issue

Package
gnome-icon-theme
Error
file=./`echo it | sed 's,.*/,,'`.gmo \
  && rm -f $file && /opt/gnome2/bin/msgfmt -o $file it.po
make[1]: *** [it.gmo] Error 134 
Fix
Remove it from ALL_LINGUAS in configure.in. Then re-run the configure stage.

Missing spelling development package

Package
gedit
Error
gcc: /usr/lib/libaspell.so: No such file or directory
Fix
wget http://ximian.dulug.duke.edu/pub/ximian/ximian-evolution/redhat-80-i386/aspell-devel-0.50.3-1.ximian.2.i386.rpm
rpm -Uvh aspell-devel-0.50.3-1.ximian.2.i386.rpm

Auto* problem with @LIBOBJS@

Package
file-roller
Error
src/Makefile.am:104: @LIBOBJS@ seen but never set in `configure.in'
Fix
Apply patch found in bug 101480

Missing include

Package
file-roller
Error
file-utils.h:55: parse error before "mode_t"
Fix
Add an include for sys/types.h, and attach the fix to bug 115311

Missing source files

Package
file-roller
Error
fr-archive.c:41:22: fr-error.h: No such file or directory
Fix
File a bug in bugzilla and wait (until the next day) when the maintainer commits those files to CVS (downgrade to the GNOME-2-2 branch in the mean time).

Newer libtool causes autogen.sh problem

Package
gal
Error
./autogen.sh: line 17: test: 10050000200300000000: integer expression expected
Fix
Make a patch to remove some of the extra output that the newer libtool produces, and attach to it Ximian bug 43989

autogen.sh complains a certain file doesn't exist

Package
Evolution
Error
autogen.sh complains that libical/configure doesn't exist
Fix
Trace through autogen.sh bash script and find the problem is simply that a missing cd command is missing. Add it and submit the patch to bugzilla at bug 115481

Fonts suck and make me want to puke

Fix
wget http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2
wget http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2.md5
md5sum -c ttf-bitstream-vera-1.10.tar.bz2.md5
su -
cd /usr/share/fonts/default
tar xjvf ttf-bitstream-vera-1.10.tar.bz2
mv ttf-bitstream-vera-1.10 TrueType
cd TrueType
mv /opt/gnome2/etc/fonts/local.conf /opt/gnome2/etc/fonts/local.conf.orig
cp local.conf /opt/gnome2/etc/fonts/local.conf
rm README.TXT RELEASENOTES.TXT
fc-cache
exit
# Verify /usr/share/fonts is a listed dir in /opt/gnome2/etc/fonts/fonts.conf

Workarounds on Eenie, Meenie, and Miney

Specific workarounds I used to build/install gnome on my machines named Eenie, Meenie, and Miney. Each of these had Ximian Desktop 2 installed on Red Hat 9.

Missing DocBook package

Package
gtk-doc
Error
configure: error: could not find DocBook XSL Stylesheets in XML catalog
Fix
apt-get install docbook-style-xsl

Missing freetype devel package

Package
fontconfig
Error
error: You must have freetype installed; see http://www.freetype.org/'
Fix
wget http://ximian.dulug.duke.edu/pub/ximian/xd2/redhat-9-i386/freetype-devel-2.1.4-0.ximian.6.3.i386.rpm
rpm -Uvh freetype-devel-2.1.4-0.ximian.6.3.i386.rpm

Fontconfig doesn't like some of my packages

Package
fontconfig
Error
error: No way to convert HTML to text found.
Fix
rpm -e docbook-utils docbook-utils-pdf
# Unfortunately, I was also forced to manually nuke the fontconfig
# directory, re-checkout from cvs, and then run autogen.sh, make, and
# make install using jhbuild run {command} [command args] as follows:
rm -rf fontconfig/
cvs -d :pserver:anoncvs@keithp.com:/local/src/CVS checkout fontconfig
cd fontconfig
jhbuild run ./autogen.sh --enable-maintainer-mode --prefix /opt/gnome2 --disable-static --disable-gtk-doc
jhbuild run make
jhbuild run make install

Missing X development libraries

Package
Xrender
Error
configure: error: X is required, but it was either disabled or not found.
Fix
wget http://ximian.dulug.duke.edu/pub/ximian/xd2/redhat-9-i386/fontconfig-devel-2.2.0-0.ximian.6.3.i386.rpm
rpm -Uvh fontconfig-devel-2.2.0-0.ximian.6.3.i386.rpm
apt-get install XFree86-devel

Missing image development libraries

Package
gtk+
Errors
*** Checks for TIFF loader failed...
*** Checks for JPEG loader failed...
*** Checks for PNG loader failed...
Fixes
apt-get install libtiff-devel
apt-get install libjpeg-devel
apt-get install libpng-devel

Nonexistent file

Packages
gconf, libgnome, and libgsf
Error
Something about index.html that doesn't exist in some subdirectory
Fix
This was an ugly hack, but I simply removed the part of the Makefile to install the docs, since it was the installation of the docs that it was failing on.

Missing bz2 library

Package
gnome-vfs
Error
configure: error: Gnome-vfs requires libbz2 to compile.
Fix
apt-get install bzip2-devel

Can't find openssl includes

Package
gnome-vfs
Error
/usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
Fix
Re-run configure manually adding the --with-openssl-includes flag: ./configure --enable-maintainer-mode --enable-compile-warnings --with-openssl-includes=/usr/kerberos/include --prefix /opt/gnome2

Scrollkeeper warnings

Package
gnome-session and others
Warnings
Cannot write to log file: /var/log/scrollkeeper.log : Permission denied
Info
This warning is totally harmless. I have been running for several months without and it has not caused any issues. If I remember correctly, scrollkeeper will be removed in Gnome 2.8 anyway.

Errors from gcc3.3 and -Werror

Package
gst-plugins
Errors
dereferencing type-punned pointer will break strict-aliasing rules
`MpegEncodeSequenceLast' defined but
Fix
Somewhat lame, but just remove -Werror from the following files: gst-plugins/gst/avi/Makefile, gst-plugins/gst/cdxaparse/Makefile, gst-plugins/gst/intfloat/Makefile, gst-plugins/gst/level/Makefile, gst-plugins/gst/mpeg1enc/Makefile, gst-plugins/gst/mpegtypes/Makefile, gst-plugins/gst/qtdemux/Makefile, gst-plugins/gst/stereomono/Makefile, and gst-plugins/ext/ffmpeg/Makefile

Other workarounds on various machines

Evolution Issues

nss libraries
Must install mozilla-nss-devel and mozilla-nspr-devel or else add the --enable-nss=no flag to configure
db3 library
Obtain the correct version of the library by downloading ftp://ftp.ximian.com/pub/source/evolution/db-3.1.17.tar.gz , install it, and then pass the following flags to configure (assuming you installed to /opt/gnome2): --with-db3-includes=/opt/gnome2/include/ --with-db3-libs=/opt/gnome2/lib/
Updating to the newest version
Run find . -name \*.list | xargs touch from toplevel to avoid some weird errors (this just causes everything to be recompiled/rebuilt)

Problem with .omf.out files

Package
eog
Error
/usr/bin/install: cannot stat `eog-es.omf.out': No such file or directory
Fix
In toplevel eog directory, run find . -name omf_timestamp | xargs rm

jhbuild does not know about new freedesktop package

Package
gnome-icon-theme
Error
Could not file the theme 'hicolor' which acts as the base for...
Fix
wget http://freedesktop.org/Software/icon-theme/releases/hicolor-icon-theme-0.2.tar.gz
tar xzvf hicolor-icon-theme-0.2.tar.gz
cd hicolor-icon-theme-0.2/
make PREFIX=/opt/gnome2

libtool hates me

Package
gtkhtml
Error
/opt/gnome2/lib/libfontconfig.so: undefined reference to `FT_Get_BDF_Property'
Problem
libtool is somehow causing /usr/lib/libfreetype.la to appear in the list of libraries before /opt/gnome2/lib/libfreetype.la. (Note that, due to a bunch of other voodoo, this gets translated from libfreetype.la to libfreetype.so) After _several_ hours, I still couldn't figure out how this was being picked up, so I just found some lame workarounds.
Fix
This may not be the exact, fix, because I had to stumble around on many things and make many changes before things finally worked for me. First of all, I had to run
for i in `grep -l -r libfreetype.la *`; do         \
  cat $i | sed -e s%/usr/lib/libfreetype.la%% > x; \
  mv -f x $i;                                      \
done
Then I had to remove a circular dependency in the Makefile. I did this by removing the $(BUILT_SOURCES) dependency.

Various packages cannot find mkinstalldirs

Error
../mkinstalldirs: ../mkinstalldirs: No such file or directory
Fix
Assuming that your install prefix is /opt/gnome2, and that 1.8 is the version of automake you are using, you would run ln -s /opt/gnome2/share/automake-1.8/mkinstalldirs . in the directory where the build is trying to find that file.