[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Nov 8 04:09:31 2003 
Subject:Re: New poplog with bug in Pop-11/Poplog back-end compiler fixed 
From:A . Sloman 
Volume-ID:1031108.03 

 To: Andreas Eder <Andreas.Eder@t-online.de>

Many thanks, both for trying out the installation and for reporting what
happened.

> Well, it did not work for me - at least not after a little tweaking.
>
> First, there seems to be a typo in SETUPDIRS. I changed it in the
> following way:
>
>  diff SETUPDIRS.orig SETUPDIRS
>  12c12
>  < if [ "$1x" == "x" ]
>  ---
>  > if [ "$2x" == "x" ]

This one also hit Ashley Mills, a user of FreeBSD. I tracked this down
to the fact that apparently on some machines (the ones I use) 'sh' is
just another name for 'bash', whereas on others 'sh' is a more primitive
shell which cannot be given arguments when a script is 'sourced'.

This meant that the $1 which was supposed to be the target directory,
passed as an argument to the SETUPDIRS script, was not transferred in
to the script, and it therefore inhermitted the old value of $1.

Anyhow I've solved this by getting rid of SETUPDIRS and moving the code,
with appropriate chages, to the script that called SETUPDIRS.

I've put this into the new package
	http://www.cs.bham.ac.uk/research/poplog/bham-linux-poplog.tar.gz
	21189665 Bytes Nov  8 03:44

Same installation instructions as before
	http://www.cs.bham.ac.uk/research/poplog/linux-cd/SHORT-CUT-INSTALLATION.txt

I've also fixed an obscure bug in poprulebase, detected by Brian Logan.
(An empty ruleset could cause an unending loop.)

> and I had to manually remove the link pop/extern/lib/libXm.so ->
> /usr/X11R6/lib/libXm.so.2 which is in linux-pc-1553.tar.gz

Apologies, I must have failed to remove it after a test, before
rebuilding the tar.gz file. It should not be on the package now
available.

> Then I had to change some files in the pop/x/Xpw/ directory, since my
> gcc (version 3.3 20030226 (prerelease) (SuSE Linux)) no longer
> supports the use of varargs, but insists on using stdarg.

As I am not a C programmer, I don't know anything about this. It sounds
like something that could break a lot of code.

I'll try to see whether your changes work in the environments I am
using.

>
>  diff Methods.h.orig Methods.h
>  18d17
>  < extern  XpwMethodRet XpwCallMethod();
>
>  diff MethodsP.h.orig MethodsP.h
>  19c19
>  < #include <varargs.h>   /* all XpwCore widgets use varargs interface */
>  ---
>  > #include <stdarg.h>   /* all XpwCore widgets use stdarg interface #*/
>
>
>  diff CallMethod.c.orig CallMethod.c
>  190,193c190
>  < XpwMethodRet XpwCallMethod(gw, method_id, va_alist)
>  < XpwCoreWidget gw;
>  < XpwMethodID method_id;
>  < va_dcl
>  ---
>  > XpwMethodRet XpwCallMethod(XpwCoreWidget gw, XpwMethodID method_id, ...)
>  216c213
>  <               va_start(ap);
>  ---
>  >               va_start(ap, method_id);
>
>
> With these changes everything went smoothly. There was just one final
> annoyance in the supplied Xdefaults.poplog file: one resource is
> defined twice and therefore generates a warning message.
> I corrected it in the follwoing way:
>
>  diff Xdefaults.poplog.orig Xdefaults.poplog
>  14d13
>  < XTerm*deleteIsDEL: true

I'll check that one out too.

> Though these are just minor nitpicks, I hope it is of some value to
> the poplog community.

Very many thanks.

Aaron
==
http://www.cs.bham.ac.uk/~axs/