Re: error building gettext (was error building gtk+)



+----- From: Peter Petrakis <peterpan@wn.net>
| You've built them? Could you make them available somewhere? Or just send
+--->8

In a sense, they already are.  :-)

/afs/ece.cmu.edu/support/gettext

BTW, I just checked one of our DU boxes --- it doesn't have those declarations
in stdio.h.  WHat version of DU are you running?

| it to me. I got plenty of bandwidth. These build scripts you're talking
| about how do you make one? Thanks alot.
+--->8

It's just a shell script which records what I did to get it to build manually.
The idea is to be able to build something for a new system type quickly.
(It also encodes how to deal with an oddity of AFS sites:  we "install" to
a staging area in AFS and then install onto individual systems by creating
symlinks to the staging area.)

Here's the buildscript for gettext; I doubt you'll find it very useful,
unfortunately.  (You *will* want to remove the AFS stuff; even if you use
AFS you probably have other ways to deal with it --- most folks use depot, but
several people here in ECE don't like it.)

:	# -*- Shell-Script -*-
bpath=/afs/.ece.cmu.edu/support/gettext
prefix=/usr/local
gtver=0.10.35

sys=`fs sysname|sed "s/^.*'\\(.*\\)'\$/\\1/"`

hash -r >/dev/null 2>&1
if [ $? != 0 ]; then
    case "$sys" in
    *_ul*)
	echo "Narf! Using something a bit less buggy." >&2
	exec sh5 "$0" ${1+"$@"}
	;;
    esac
fi

if [ `id | sed -n 's/^uid=\([0-9][0-9]*\).*$/\1/p'` != 0 ]; then
    echo "gettext install is screwy, we must be root.  :-(" >&2
    exit 1
fi

set -ex

cd "gettext-$gtver"
case "x$1" in
xconf)
    make -k distclean || :
    test -f config.cache && /bin/rm -f config.cache
    # this is a hack to work around a severe bug in configure:  if the
    # destination tree for $prefix/share/gettext doesn't exist, the files
    # get installed wrong and gettextize will severely damage whatever it is
    # you're trying to gettextize....
    # (yes, this must be done *before* configure'ing)
    /bin/rm -rf "$prefix/share/gettext" >/dev/null 2>&1 || :
    mkdir -p "$prefix/share/gettext/intl"
    sh configure --prefix="$prefix" --with-included-gettext
    make -k clean || :
    ;;
esac
make
/bin/rm -rf "$bpath/$sys" "$bpath/share" >/dev/null 2>&1 || :
mkdir -p "$bpath/$sys/image$prefix" "$bpath/share/image$prefix"
make install \
    bindir="$bpath/$sys/image$prefix/bin" \
    sbindir="$bpath/$sys/image$prefix/sbin" \
    libexecdir="$bpath/$sys/image$prefix/libexec" \
    datadir="$bpath/share/image$prefix/share" \
    sysconfdir="$bpath/$sys/image$prefix/etc" \
    sharedstatedir="$bpath/share/image$prefix/com" \
    localstatedir="$bpath/$sys/image$prefix/com" \
    libdir="$bpath/$sys/image$prefix/lib" \
    infodir="$bpath/share/image$prefix/info" \
    mandir="$bpath/share/image$prefix/man" \
    includedir="$bpath/share/image$prefix/include" \
    lispdir="$bpath/share/image$prefix/share/emacs/site-lisp" \
    gnulocaledir="$bpath/share/image$prefix/share/locale" \
    gettextsrcdir="$bpath/share/image$prefix/share/gettext/intl" \
# cleanup --- some things get done wrong by gettext install regardless
(cd "$bpath/share/image$prefix/share/gettext/intl"
 mv ABOUT-NLS ..
 mkdir ../po
 mv Makefile.in.in ../po)
echo "$prefix|IMAGE" >"$bpath/$sys/rules"
echo "$prefix|IMAGE" >"$bpath/share/rules"
# makeinfo silliness
cat <<\EOF >"$bpath/share/postinst"
#! /bin/sh
/maint/bin/makeinfodir

# gettext has a configure/install bug:  if configure doesn't see an existing
# correct share/gettext area, it hoses the install rules so share/gettext is
# created flat.  the previous install had this problem.  clean this up.
cd /usr/local/share/gettext
xargs rm -f <<\EOP || :
aclocal.m4
intl-ChangeLog
intl-Makefile.in
intl-VERSION
intl-bindtextdom.c
intl-cat-compat.c
intl-dcgettext.c
intl-dgettext.c
intl-finddomain.c
intl-gettext.c
intl-gettext.h
intl-gettextP.h
intl-hash-string.h
intl-intl-compat.c
intl-libgettext.h
intl-linux-msg.sed
intl-loadmsgcat.c
intl-localealias.c
intl-po2tbl.sed.in
intl-textdomain.c
intl-xopen-msg.sed
po-Makefile.in.in
root-ABOUT-NLS
EOP
exit 0
EOF
chmod +x "$bpath/share/postinst"
exit 0

-- 
brandon s. allbery	[os/2][linux][solaris][japh]	 allbery@kf8nh.apk.net
system administrator	     [WAY too many hats]	   allbery@ece.cmu.edu
electrical and computer engineering					 KF8NH
carnegie mellon university	      ["God, root, what is difference?" -Pitr]



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]