Dozen pains of compiling Sawfish
- From: Mark Diekhans <markd kermodei com>
- To: sawfish-list gnome org
- Subject: Dozen pains of compiling Sawfish
- Date: Sun, 1 Feb 2009 15:57:35 -0800
Hi Folks,
Sawfish has always been a pain to build from source, and this
doesn't seem to be getting any better. Here is an outline of
the a dozen problems encountered in recent attempt to build it.
I would be happy to help address some of this, however I haven't
actually written anything autoconf stuff since automake and
libtool came along, so I really don't get why this is so complex.
Cheers,
Mark
------------------------------------------
Environment:
FreeBSD 7.1 beta 1
autoconf 2.62
automake 1.9.6
- downloading using instructions at: http://sawfish.wikia.com/wiki/Download
*** PROBLEM 1
- this page links to http://librep.sourceforge.net/, which has
incorrect instructions on check out librep and rep-gtk. Had to
guess the actual location of:
% svn co http://svn.gnome.org/svn/librep/trunk librep
% svn co http://svn.gnome.org/svn/rep-gtk/trunk rep-gtk
- since this going to be compile into test directory, set these:
% export CPPFLAGS='-I/opt/expr/include -I/usr/local/include'
% export LDFLAGS='-L/opt/expr/lib -L/usr/local/lib'
% export PATH=/opt/expr/bin:${PATH}
- compiling librep from svn:
% ./autogen.sh --prefix=/opt/expr >&autogen.out
*** PROBLEM 2:
Running autoheader
autoheader-2.62: warning: missing template: BROKEN_ALPHA_GCC
autoheader-2.62: Use AC_DEFINE([BROKEN_ALPHA_GCC], [], [Description])
autoheader-2.62: warning: missing template: BROKEN_RTLD_GLOBAL
autoheader-2.62: warning: missing template: DB_RESOLVE_SYMBOLS
autoheader-2.62: warning: missing template: DEBUG_SYS_ALLOC
autoheader-2.62: warning: missing template: DLSYM_NEED_USCORE
autoheader-2.62: warning: missing template: DOUG_LEA_MALLOC
autoheader-2.62: warning: missing template: ENVIRON_UNDECLARED
autoheader-2.62: warning: missing template: FIRST_PTY_LETTER
autoheader-2.62: warning: missing template: FULL_NAME_TERMINATOR
autoheader-2.62: warning: missing template: HAVE_CRYPT
autoheader-2.62: warning: missing template: HAVE_DEV_PTMX
autoheader-2.62: warning: missing template: HAVE_DLFCN_H
autoheader-2.62: warning: missing template: HAVE_DLOPEN
autoheader-2.62: warning: missing template: HAVE_DL_H
autoheader-2.62: warning: missing template: HAVE_DYNAMIC_LOADING
autoheader-2.62: warning: missing template: HAVE_FFI_H
autoheader-2.62: warning: missing template: HAVE_GMP
autoheader-2.62: warning: missing template: HAVE_GMP_RANDINIT
autoheader-2.62: warning: missing template: HAVE_LIBFFI
autoheader-2.62: warning: missing template: HAVE_LIBREADLINE
autoheader-2.62: warning: missing template: HAVE_PTYS
autoheader-2.62: warning: missing template: HAVE_SHL_LOAD
autoheader-2.62: warning: missing template: HAVE_SYS_DL_H
autoheader-2.62: warning: missing template: LIBC_GETTEXT
autoheader-2.62: warning: missing template: LIBC_MALLOC
autoheader-2.62: warning: missing template: WITH_CONTINUATIONS
autoheader-2.62: warning: missing template: rep_HAVE_LONG_LONG
autoheader-2.62: warning: missing template: rep_HAVE_UNIX
autoheader-2.62: warning: missing template: rep_INTERFACE
autoheader-2.62: warning: missing template: rep_MALLOC_ALIGNMENT
autoheader-2.62: warning: missing template: rep_PTR_SIZED_INT
autoheader-2.62: warning: missing template: rep_PTR_SIZED_INT_CONV
autoheader-2.62: warning: missing template: rep_PTR_SIZED_INT_SIZEOF
autoheader-2.62: warning: missing template: rep_PTR_SIZED_INT_SUFFIX
autoheader-2.62: warning: missing template: rep_VERSION
- since there is a config.h.in svn, hack autogen.sh to skip autoheader
% ./autogen.hack.sh --prefix=/opt/expr >&autogen.out
*** PROBLEM 3 autogen.sh uses bash-specific syntax:
if [[ ${lver} != "" ]]; then
% bash ./autogen.sh --prefix=/opt/expr >&autogen.out
*** PROBLEM 4:
configure.in:92: the top level
configure: error: cannot find install-sh or install.sh in "." "./.." "./../.."
- copied in install-sh from a librep distribution
% bash ./autogen.hack.sh --prefix=/opt/expr >&autogen.out
# success!
- compiling rep-gtk from svn:
*** PROBLEM 5: autogen.sh also has bash-specific syntax
% bash ./autogen.sh --prefix=/opt/expr >&autogen.out
*** PROBLEM 6:
configure: error: cannot find install-sh or install.sh in "." "./.." "./../.."
- copy from librep distribution
*** PROBLEM 7:
checking for LIBREP... no
configure: error: can't locate librep
- need to tell pkg-config where to look:
% export PKG_CONFIG_PATH=/opt/expr/lib/pkgconfig:/usr/local/libdata/pkgconfig
- but why not just use rep-config???
- compiling sawfish from svn:
*** PROBLEM 8: autogen.sh also has bash-specific syntax
% bash ./autogen.sh --prefix=/opt/expr >&autogen.out
*** PROBLEM 9:
configure: error: cannot find install-sh or install.sh in "." "./.." "./../.."
- copy from librep distribution
% gmake
*** PROBLEM 10
gcc -o sawfish colors.o cursors.o display.o events.o fonts.o frames.o functions.o images.o keys.o main.o multihead.o pixmap-cache.o property-cache.o server.o session.o stacking-list.o windows.o -I/opt/expr/lib/ -Wl,--export-dynamic -L/opt/expr/lib -L/usr/local/lib /opt/expr/lib/librep.so -ldl -lcrypt /usr/local/lib/libgmp.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libgdk_pixbuf_xlib-2.0.so /usr/local/lib/libgdk_pixbuf-2.0.so -lm /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so /usr/local/lib/libglib-2.0.so -licui18n /usr/local/lib/libintl.so /usr/local/lib/libpcre.so /usr/local/lib/libiconv.so /usr/local/lib/libXinerama.so /usr/local/lib/libXrandr.so /usr/local/lib/libXft.so /usr/local/lib/libfontconfig.so /usr/local/lib/libexpat.so /usr/local/lib/libfreetype.so -lz /usr/local/lib/libXrender.so /usr/local/lib/libXext.so /usr/local/lib/libX11.so /usr/local/lib/libXdmcp.so -lrpcsvc /usr/local/lib/libXau.so -Wl,--rpath -Wl,/opt/expr/lib -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/opt/expr/lib -Wl,--rpath -Wl,/usr/local/lib
/usr/bin/ld: cannot find -ldl
- freebsd does not have libdl, this is coming from
% pkg-config --libs librep
which returns:
-I/opt/expr/lib/ -lrep -ldl -lcrypt -lgmp -lm
both -I and -ldl are bogus
- you hacked this out of make
*** PROBLEM 11
/opt/expr/libexec/rep/i386-unknown-freebsd7.0/libtool --tag CC --mode=link gcc -export-dynamic -L/opt/expr/lib -L/usr/local/lib \
-o sawfish colors.o cursors.o display.o events.o fonts.o frames.o functions.o images.o keys.o main.o multihead.o pixmap-cache.o property-cache.o server.o session.o stacking-list.o windows.o -I/opt/expr/lib/ -lrep -lcrypt -lgmp -lm -L/usr/local/lib -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -liconv \
-L/usr/local/lib -lgdk_pixbuf_xlib-2.0 -lgdk_pixbuf-2.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -liconv -lX11 -L/usr/local/lib -lX11 -lXinerama -lXrandr -lXft -lXext
fonts.o(.text+0xcf7): In function `pango_draw':
/root/work/sawfish/sawfish/src/fonts.c:528: undefined reference to `pango_xft_font_get_type'
fonts.o(.text+0xd24):/root/work/sawfish/sawfish/src/fonts.c:516: undefined reference to `pango_xft_render'
fonts.o(.text+0xdc0):/root/work/sawfish/sawfish/src/fonts.c:519: undefined reference to `pango_x_render'
fonts.o(.text+0xfc7): In function `pango_load':
/root/work/sawfish/sawfish/src/fonts.c:431: undefined reference to `pango_xft_get_context'
- need to hack -lpangoxft-1.0 -lpangox-1.0 in Makefdefs PANGO_LIBS=
*** PROBLEM 12
- tried to install into a directory without creating it
% gmake install
/usr/bin/install -c -m 644 ./sawfish.desktop \
/opt/expr/share/applications/
install: /opt/expr/share/applications/: No such file or directory
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]