--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Mon, Mar 12, 2001 at 07:49:41AM +0000, Aaron Sloman See text for reply address wrote:
> I don't recognise this. It ran immediately when I installed it on a Dell
> laptop running RedHat 7, maybe because our computer operators had
> already made the link to allow other X11 stuff to work: they were not
> checking out Poplog. The machine has these in /usr/X11R6/lib
> laptop-11126% lt libX11*
Well, I stand corrected. The link didn't exist on my current (Debian 2.2)
system, or on my previous (Mandrake 7.0) set-up. Since Mandrake is
very similar to Red Hat (I think it claims to be 100% Red Hat compatible),
I must've assumed it had gone out with RH6.
> A similar issue arises with the requirement to get Motif working, which
> is not provided by Redhat but has to be installed separately. After
> installation, a symbolic link may be rquired to make the new version
> accessible without rebuilding all motif-dependent software.
Well, some playing with Debian over the weekend reveals:
The Lesstif provided by Debian isn't the same thing as what Poplog
requires (at least, libXm.so.1.0.2 isn't the same thing as libXm.so.2 -
I haven't actually tested if forcing it to use libXm.so.1.0.2 will work).
Motif is available from the testing distribution, and provides what Poplog
needs.
And yes, the Debian package doesn't provide a symlink assumed by Poplog.
(libXm.so, I think). Adding that link in solved the problem.
> Requiring a relink every time you produce a minor upgrade to a part of
> the system would be BAD software engineering. Poplog should be able to
> go on working without a relink, as long as the new system is made
> "current" by symbolic links to the main address.
>
> If there is a major new version that cannot work without complete
> relinking then that's different.
I think that Debian does something like libfoo.so.n -> libfoo.so.n.m,
while Red Hat makes the additional step of doing libfoo.so -> libfoo.so.n
I'll go home and check that once I've finished writing this e-mail.
<snip - relinking the problem away>
> I expect it's trivial to do, but I'll have to find out how, and that is
> one of hundreds of things I don't have time for just now.
I've attached a suggested installation script, which (among other things)
checks for the existence of the links, and makes them if necessary. The
script has been lightly tested, but before I go any further, can someone
check if there's anything horrendously wrong in what I'm doing?
(The included version has been defanged - important commands like
untarring popcd.tar and starting the installation have been echo'd out, so
it's safe to run)
- Andrew
--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="install-linux-poplog.sh.debug"
#!/bin/bash
# Uber-installer for Linux/Intel Poplog, by Andrew Sayers <ug55aes@cs.bham.ac.uk>
echo '*** Installing Linux Poplog version 15.53 for Intel and compatible PCs ***'
echo
echo "Please send any bug reports/installation complaints to Andrew Sayers <ug55aes@cs.bham.ac.uk>"
echo
echo -n 'Your system '
if echo $OSTYPE | grep -qi linux && echo $HOSTTYPE | grep -q i386; then
echo -n "is a Linux PC, "
else
echo "doesn't look like a Linux PC."
echo "Are you absolutely sure this is a PC running Linux? [y/N]"
read choice
if [ $choice == 'y' ] || [ $choice == 'Y' ]; then
echo "Fair enough. Please send off a bug report saying that \"$OSTYPE\" is a valid value of \$OSTYPE on a Linux system."
echo -n "This is apparently a Linux PC, "
else
exit 1
fi
fi
if [ -x /usr/bin/csh ]; then
echo -n 'with csh or tcsh installed, '
else
echo 'but it has neither csh nor tcsh installed on it.'
echo "Poplog needs either the csh (or tcsh) shell in order to run."
echo "You'll need to install one of them then re-run this script."
exit 1
fi
# Some safe defaults
export MOTIF_FILE="linux1553.tar.gz"
export MOTIF_INSTALL="INSTALL_NOMOTIF"
export X11_LINKS_NEEDED=0
if [ -e /usr/X11R6/lib/libX11.so.6 ] && [ -e /usr/X11R6/lib/libXt.so.6 ]; then
if [ -e /usr/X11R6/lib/libX11.so ] && [ -e /usr/X11R6/lib/libXt.so ]; then
echo -n 'an X server, '
else
export X11_LINKS_NEEDED=1
echo 'an X server (see below)'
fi
if [ -e /usr/X11R6/lib/libXm.so.2 ]; then
if [ -e /usr/X11R6/lib/libXm.so ]; then
echo 'and Motif.'
else
echo 'and Motif (see below).'
export MOTIF_LINKS_NEEDED=1
fi
export MOTIF_FILE="linuxmotif1553.tar.gz"
export MOTIF_INSTALL="INSTALL_MOTIF"
else
echo "but not Motif."
echo "Not having Motif isn't fatal, but xved won't have menus etc."
fi
else
echo 'but no X-Server.'
echo "That's not fatal - You'll just have to run plain (non-X) ved."
fi
if [ $X11_LINKS_NEEDED == 1 ]; then
echo
echo 'Making poplog-specific symbolic links for X...'
echo 'doing: ln -s /usr/X11R6/lib/libX11.so.6 /usr/X11R6/lib/libX11.so'
echo 'DEBUG: ln -s /usr/X11R6/lib/libX11.so.6 /usr/X11R6/lib/libX11.so'
echo 'doing: ln -s /usr/X11R6/lib/libXt.so.6 /usr/X11R6/lib/libXt.so'
echo 'DEBUG: ln -s /usr/X11R6/lib/libXt.so.6 /usr/X11R6/lib/libXt.so'
echo
fi
if [ $X11_LINKS_NEEDED == 1 ]; then
echo
echo 'Making poplog-specific symbolic links for Motif...'
echo 'doing: ln -s /usr/X11R6/lib/libXm.so.2 /usr/X11R6/lib/libXm.so'
echo 'DEBUG: ln -s /usr/X11R6/lib/libXm.so.2 /usr/X11R6/lib/libXm.so'
echo
fi
echo "This system can run Linux Poplog"
echo
echo "popcd.tar and $MOTIF_FILE are needed for installation."
[ -d /usr/local/poplog ] || mkdir /usr/local/poplog
# Needs to be a function since it might be called repeatedly (see below).
find_installation_files ()
{
export RET_VAL=0
if [ -e /usr/local/poplog/popcd.tar ]; then
echo "popcd.tar is in /usr/local/poplog"
elif [ -e ./popcd.tar ]; then
echo "popcd.tar is in $PWD"
[ -L /usr/local/poplog/popcd.tar ] || ln -s $PWD/popcd.tar /usr/local/poplog/popcd.tar
else
echo "popcd.tar is nowhere to be seen."
echo "If you've already downloaded popcd.tar, please put it in /usr/local/poplog,"
echo "then run this script again."
echo "Otherwise, you'll need to get it from the Internet. It's available as:"
echo "ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/popcd.tar"
echo "*WARNING* popcd.tar is a 30MB file *WARNING*"
echo "It will take at least an hour and a half to download over a modem."
export DOWNLOADS="ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/popcd.tar"
export RET_VAL=1
fi
if [ -e /usr/local/poplog/$MOTIF_FILE ]; then
echo "$MOTIF_FILE is in /usr/local/poplog"
elif [ -e ./$MOTIF_PATH ]; then
echo "$MOTIF_FILE is in $PWD"
ln -s $PWD/$MOTIF_FILE /usr/local/poplog/$MOTIF_FILE
else
echo "$MOTIF_FILE is nowhere to be seen."
echo "If you've already downloaded $MOTIF_FILE, please put it in /usr/local/poplog,"
echo "then run this script again."
echo "Otherwise, you'll need to get it from the Internet. It's available as:"
echo "ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/$MOTIF_FILE"
echo "*WARNING* $MOTIF_FILE is a 12MB file *WARNING*"
echo "It will take at least half an hour to download over a modem."
export MOTIF_PATH=""
export DOWNLOADS="$DOWNLOADS ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/new/$MOTIF_FILE"
export RET_VAL=1
fi
return $RET_VAL
}
if [ -x /usr/bin/wget ]; then
until find_installation_files ; do
echo
echo 'Download necessary files now? [y/N]'
read choice
if [ $choice == 'y' ] || [ $choice == 'Y' ]; then
echo "Downloading. Press control-c to stop and quit installation for now."
export OLDWD = $PWD
cd /usr/local/poplog
echo "DEBUG: wget $DOWNLOADS" || exit 2
cd $OLDWD
else
exit 2
fi
done
else
find_installation_files || exit 2
fi
echo
echo 'Ready to install. Begin? [y/N]'
read choice
if ! [ $choice == 'y' ] && ! [ $choice == 'Y' ]; then
exit 3
fi
echo
echo "Starting the installation. This will probably take a long time."
echo "Any messages printed during the installation can be read later in install.log"
echo
cd /usr/local/poplog
echo "Unpacking popcd.tar..."
echo "DEBUG: tar -xf popcd.tar"
echo "Executing ./$MOTIF_INSTALL..."
if echo "DEUG: ./$MOTIF_INSTALL | tee install.log"; then
echo "DEBUG: ln -s /usr/local/poplog/local/setup/bin/poplog /usr/local/bin/poplog"
echo "Poplog successfully installed."
echo 'Type `poplog +bhamxved` to load xved.'
else
echo "Poplog installation failed for some reason. Please check install.log for errors."
echo 'You could also consider sending a bug report (please include install.log!)'
fi
--BXVAT5kNtrzKuDFl--
|