Re: Dozen pains of compiling Sawfish



The very lastest svn nicely fixes several things. Will mail patches
to make autogen.sh Borne shell compatible. Some problems remain:

  - install-sh is not generate by any of the autogen.sh script.  This
    happens on both FreeBSD 7.1 and CentOS 5.2

  - sawfish autogen.sh has a hard-coded reference to
    /usr/share/aclocal/:

      aclocal -I m4 -I /usr/share/aclocal/ $ACLOCAL_FLAGS || exit 1

    this generates and error when aclocal is installed in /usr/local.
    This seems unnecsssary.

mark

Christopher Roy Bratusek <zanghar freenet de> writes:
> #2 and #12 are fixed, #10 is autogenerated by configure, so I don't know
> there be problem is coming from, #7 is known (there always have been
> problems installing librep into something different than /usr, now we
> _only_ need to adjust PKG_CONFIG_PATH, nothing else, so this is an
> improvement), #3 #5 and #9 ... is there any shell-independent syntax? if
> so, that about providing a patch?, #4 #6 and #9 are because autogen.sh
> stopped in #2 (which is fixed - like I said before), about #1 this pages
> are totally outdated, I did not bother updating theme, after becoming
> librep/rep-gtk maintainer last december. 
> 
> Chris
> 
> Am Sonntag, den 01.02.2009, 15:57 -0800 schrieb Mark Diekhans:
> > 
> > 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]