[comp.sources.d] v18i084: Zsh 2.00 - A small complaint

ggw@wolves.uucp (Gregory G. Woodbury) (04/25/91)

I appreciate the effort put into Zsh, but there is one small complaint
that I have.

The package is BSD/SUN specific!

There is NO indication in the headers or READMEs or anywhere that the
package requires specific facilities in BSD/SUN Unix'en.

I went to the effort to get on my internet account and FTP the package,
and to transfer it via modem to my 88000/System V site and unpack it and
start to play with it.....

Only to discover that there are extreme dependencies on BSD and SUN/OS
type information in the thing.

Specifically, the references to <sys/resources.h> is not portable, and
its very difficult to make anything that really uses the winsize
structure really portable.

Oh Well.

Another tool that I went and poked at only to discover that there are
critical non-portable dependencies not noted in the announcement.
-- 
Gregory G. Woodbury @ The Wolves Den UNIX, Durham NC
UUCP: ...dukcds!wolves!ggw   ...mcnc!wolves!ggw           [use the maps!]
Domain: ggw@cds.duke.edu     ggw%wolves@mcnc.mcnc.org
[The line eater is a boojum snark! ]           <standard disclaimers apply>

elliss@kira.egr.msu.edu (Stew Ellis) (04/25/91)

ggw@wolves.uucp (Gregory G. Woodbury) writes:

>I appreciate the effort put into Zsh, but there is one small complaint
>that I have.

>The package is BSD/SUN specific!

>There is NO indication in the headers or READMEs or anywhere that the
>package requires specific facilities in BSD/SUN Unix'en.

>I went to the effort to get on my internet account and FTP the package,
>and to transfer it via modem to my 88000/System V site and unpack it and
>start to play with it.....

>Only to discover that there are extreme dependencies on BSD and SUN/OS
>type information in the thing.

>Specifically, the references to <sys/resources.h> is not portable, and
>its very difficult to make anything that really uses the winsize
>structure really portable.

>Oh Well.

>Another tool that I went and poked at only to discover that there are
>critical non-portable dependencies not noted in the announcement.
>-- 
>Gregory G. Woodbury @ The Wolves Den UNIX, Durham NC
>UUCP: ...dukcds!wolves!ggw   ...mcnc!wolves!ggw           [use the maps!]
>Domain: ggw@cds.duke.edu     ggw%wolves@mcnc.mcnc.org
>[The line eater is a boojum snark! ]           <standard disclaimers apply>

I second the irritation, not with regard to zsh(I have a Sun but I have not
tried the package yet), but with regard to a lot of other packages that I
have downloaded.  I have even tried packages that were supposed to run on
SunOS, but I discovered they would not run on the more SysV'ish later 
versions of SunOS.  I think that all posters of any sourcecode ought to
include complete information on all particulars of hardware and software
configuration of the systems that they have actually brought the package up
on, and the difficulty of configuring for the known good targets, then a list
of suspected or known difficult targets.  This could be put in a file called
AATargets that would show up very early on the manifest and in the shar.
Somehow I would like to have this easily available to people retrieving 
packages by FTP or BBS or UUCP.

------------------------------------------------------------------------------

                                             _________________________________
  R.Stewart (Stew) Ellis                    / _______________________________/
  Assoc. Prof. of Social Science           / /      ______  ____________  __
  Dept. of Humanities & Social Science    / /      /___  / / ___  ___  / / /
  1700 W. Third Avenue                   / /          / / / /  / /  / / / /
  Flint, MI 48504                       / /__________/ / / /  / /  / / / /
  313-762-9765 Office                  /______________/ /_/  /_/  /_/ /_/

  elliss@frith.egr.msu.edu            ENGINEERING & MANAGEMENT INSTITUTE        

  "Apple Macintosh, the closed system for people with supposedly open minds."
    - plagiarized from someone else on the net
  "How you gonna do it? OS/2 it!" - stupid IBM ad 
  "Have you ever heard anything so half-OSsed?" - me

spel@hippo.ru.ac.za (Dr. E.W. Lisse) (04/26/91)

I sure would love to be able to compile zsh on xenix.

But make no mistake, this is a VERY NICE effort !!

Keep those sources coming, even if they are not protable. Someone will
port them :-)-O!

regards, el
--
Dr. Eberhard W. Lisse       (spel@hippo.ru.ac.ZA)
Katatura State Hospital     (formerly extel@quagga.ru.ac.za)
Private Bag 13215           (Real Soon Now ...  el@lisse.NA)
Windhoek, Namibia           (no FTP yet. [This is Africa :-)-O])

xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) (04/27/91)

 ggw@wolves.uucp (Gregory G. Woodbury) writes:

> I appreciate the effort put into Zsh, but there is one small complaint
> that I have.

> The package is BSD/SUN specific!

> Another tool that I went and poked at only to discover that there are
> critical non-portable dependencies not noted in the announcement.

A fair complaint, but let me address this from the author's side.

I just posted a toy to some of the not archival groups that designs a
maze representing a town, after the style of Bard's Tale I's top-level
city.

I compiled and tested this on both a BSD 4.3 Unix system with cc in old
K&R C, and on an AmigaOS 1.3 system with new, ANSI C compliant code,
compiled, tested and ran it on both systems with no compile problems,
and no visible failures.

Only to send it out to the world and find out:

1) I had malloc/free bugs that core dumped on strict allocating systems,
but were not caught by systems that malloc using the buddy system and so
have lots of free space to trample at the end of a normal allocation.

2) I had file names not unique in the first 8 letters, so MS-DOS systems
choked and gagged on the makefile and the unshar.

3) I had misindexed a couple of arrays, which again slipped by on my system
(which runs like a Monte Carlo simulation, so errors are not usually visible),
but core dumped on systems with strict memeory management.

4) I had a 59 line conditional statement in a do{}while() that blew away
small compilers' parse buffer space.

5) Probably lots more.

I reemphasize: none of this showed up under substantial testing on two very
different systems.

Not everyone has access to a wide range of machines, and so you sort of get
these possibilities:

1) The author is very sophisticated, and knows that C code portablity is a
myth because the OS support is so wildly divergent, and you get a list of
"systems this is known to run under", or

2) The author has lots of friends with divergent systems, who share and test
code back and forth, and the code reaches the net after a substantial wringing
out process occurs behind the scenes, or

3) The author (my case) naively believes that C is C is C, and posts
what looks just like usable code, only to find out that what looked like
a finished product is only a beta release, and a lot of scrambling
around and patch postings follow as the email box swells, and the net makes
the code portable as a cooperative effort, or

4) The code doesn't get shared, for fear of criticism.

For many of us, with limited facilities, cobbling away without a friend in the
world to test our code in private, choices 3 or 4 are all that is available.

Kent, the man from xanth.
<xanthian@Zorch.SF-Bay.ORG> <xanthian@well.sf.ca.us>

jik@athena.mit.edu (Jonathan I. Kamens) (04/28/91)

  Kent, there is an inherent difference between the problems that were
found in your townmaze program after you posted it, and the problem
with Zsh that Gregory Woodbury was pointing out.

  Your program was pretty much machine-independent.  The bugs that you
found were bugs on *any* system, not just on the ones that stumbled
over it.  Granted, the bugs didn't *turn up* on all systems on which
you tested the program (else, as you pointed out, they would have
turned up during your testing and would not have been in the version
you released), but they were bugs nevertheless, and they might have
turned up if you have used a debugging malloc or Saber-C or something
like that.

  On the other hand, Zsh has in it code that is inherently
non-portable, and that requires certain environments in order to
compile it.  Now, my suspicion is that anyone who is "sophisticated"
(your word; I'm not sure it's the one I would have chosen, but it
conveys what I'm trying to say in parallel with what you said) enough
to write a shell, also knows enough to know when he's writing code
that will only compile on certain types of system.

  If he doesn't, then I cannot fault him for not pointing out the OS
dependencies, and I doubt anyone else would either.  But I think it is
reasonable to expect him to say, *in an introductory posting separate
from the source code he's posting*, which environments he has compiled
for.  Furthermore, if he *knows* what OS dependencies there are, it is
reasonable to expect him to point them out in that introductory
posting.  That's what Greg is asking for.

  You couldn't have known about the bugs in your code, so you couldn't
have pointed them out.  But the author of Zsh did know about the
dependencies, so he could have pointed them out, and probably should
have, in an introductory posting.

Jonathan Kamens			              USnail:
MIT Project Athena				11 Ashford Terrace
jik@Athena.MIT.EDU				Allston, MA  02134
Office: 617-253-8085			      Home: 617-782-0710

pfalstad@phoenix.princeton.edu (Paul Falstad) (04/29/91)

jik@athena.mit.edu (Jonathan I. Kamens) wrote:
>  You couldn't have known about the bugs in your code, so you couldn't
>have pointed them out.  But the author of Zsh did know about the
>dependencies, so he could have pointed them out, and probably should
>have, in an introductory posting.

As I pointed out to Greg in email, this is completely correct.  I
tested zsh on a number of different machines before posting (mostly
BSD/SunOS, since that's all I have access to), and listed these machines in
the README file.  But I completely forgot to include this information in the
introductory posting.  At least when I posted the patch, I included this
information at the top of the posting, as I should have done originally.  I
definitely should have mentioned clearly that zsh does not like Sys V (yet).
Apologies to anyone for whom this was a problem.

--
              Paul Falstad  pfalstad@phoenix.princeton.edu
         And on the roads, too, vicious gangs of KEEP LEFT signs!
     If Princeton knew my opinions, they'd have expelled me long ago.

pjh@mccc.edu (Pete Holsberg) (04/29/91)

In article <1991Apr26.180756.5883@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes:
=
= ggw@wolves.uucp (Gregory G. Woodbury) writes:
=
=> I appreciate the effort put into Zsh, but there is one small complaint
=> that I have.
=
=> The package is BSD/SUN specific!

=
=For many of us, with limited facilities, cobbling away without a friend in the
=world to test our code in private, choices 3 or 4 are all that is available.

Seems simple to me.  "This program has only been tested and runs on ....."

Pete
-- 
Prof. Peter J. Holsberg      Mercer County Community College
Voice: 609-586-4800          Engineering Technology, Computers and Math
UUCP:...!princeton!mccc!pjh  1200 Old Trenton Road, Trenton, NJ 08690
Internet: pjh@mccc.edu	     Trenton Computer Festival -- 4/20-21/91

ron@monu6.cc.monash.edu.au (Ron Van Schyndel) (04/30/91)

>ggw@wolves.uucp (Gregory G. Woodbury) writes:

>>I appreciate the effort put into Zsh, but there is one small complaint
>>that I have.

>>The package is BSD/SUN specific!

>>Another tool that I went and poked at only to discover that there are
>>critical non-portable dependencies not noted in the announcement.

elliss@kira.egr.msu.edu (Stew Ellis) writes:

>I second the irritation, not with regard to zsh(I have a Sun but I have not

FLAME ON 

So are there document(s) which describes all the different UNIX versions
around (a standard ?? Just like RS232?).    And while we're at it, does 
someone have access to ALL the different UNIX platforms, so these programs
can be given a GOOD going over (for free, of course).

I thought the idea was to fix any problems, if possible, and mail these to 
the author (as well as post them - but DO mail, since the author could then
merge these patches and re-submit when there are enough of them).

Ron.

FLAME OFF
-- 
Ron van Schyndel                      ron@monu6.cc.monash.edu.au
Physics Department, Monash University ron%monu6.cc.monash.edu.au@uunet.UU.NET
CAULFIELD EAST, Victoria, AUSTRALIA   {hplabs,mcvax,uunet,ukc}!munnari!monu6..
Location: 37 52 38.8S  145 02 42.0E   Phone: +613-573-2567   Fax: +613-573-2358 

pplacewa@bbn.com (Paul Placeway) (05/01/91)

ggw@wolves.uucp (Gregory G. Woodbury) writes:

< I appreciate the effort put into Zsh, but there is one small complaint
< that I have.

< The package is BSD/SUN specific!

So wait a few months, I'm sure it won't be so BSD specific for long.
Better yet, help do the port.

As those of us who are used to a resonable environment are forced to
take a giant step backwards into the land of V where there is not -p
option to fsck(8) nor a -r option to ps(1), small details such as a
wonderful source-available shell that won't run out of the box on
these beasts will soon be corrected.

As long as an automatic "fsck -y" doesn't eat the working source
first.  :-)

	-- Paul Placeway
	   (still hacking on shells when I'm not talking to my computer)

elliss@kira.egr.msu.edu (Stew Ellis) (05/01/91)

ron@monu6.cc.monash.edu.au (Ron Van Schyndel) writes:

>>ggw@wolves.uucp (Gregory G. Woodbury) writes:

>>>I appreciate the effort put into Zsh, but there is one small complaint
>>>that I have.

>>>The package is BSD/SUN specific!

>>>Another tool that I went and poked at only to discover that there are
>>>critical non-portable dependencies not noted in the announcement.

>elliss@kira.egr.msu.edu (Stew Ellis) writes:

>>I second the irritation, not with regard to zsh(I have a Sun but I have not

>FLAME ON 

>So are there document(s) which describes all the different UNIX versions
>around (a standard ?? Just like RS232?).    And while we're at it, does 
>someone have access to ALL the different UNIX platforms, so these programs
>can be given a GOOD going over (for free, of course).

>I thought the idea was to fix any problems, if possible, and mail these to 
>the author (as well as post them - but DO mail, since the author could then
>merge these patches and re-submit when there are enough of them).

>Ron.

>FLAME OFF
>-- 
>Ron van Schyndel                      ron@monu6.cc.monash.edu.au
>Physics Department, Monash University ron%monu6.cc.monash.edu.au@uunet.UU.NET
>CAULFIELD EAST, Victoria, AUSTRALIA   {hplabs,mcvax,uunet,ukc}!munnari!monu6..
>Location: 37 52 38.8S  145 02 42.0E   Phone: +613-573-2567   Fax: +613-573-2358 

I am not completely sure what Ron van Schyndel's point is, nor why the
excerpt from my posting is included.  Some of us do not have time to spend
fixing too many different packages that we downloaded not knowing what
platforms had already been taken care.  I reiterate:  even though I
appreciate the effort of the people who write or manage to port a
significant package, I think it is rude of them to waste my time by letting
me assume that since there is no warning that "THIS ONLY RUNS ON Such-and-so
OS" that it must be portable.  On a Sun it is not enough to tell me SunOS,
but what version of SunOS.  I have several hundred megs of source code that
would not run on Xenix without Doug Gwynn's directory package, or that can't
compile on a Sun or HP because it uses Athena Widgets.  Much of this was 
collected over long distance phone lines at personal expense.

I do not expect authors to port their packages to every variant Unix before
they post, just to tell me which exact variants they have ported to.  I have
done enough ports that I can frequently predict my difficulties that way.
The problem is not limited to Unix.  I collected some code
day-before-yesterday that claimed to be the diffs to compile pbmplus under
DOS.  Then yesterday there was an "Oh I forgot!  You need the recent port of
GCC to DOS to compile this."  Had I known that from the first few lines of
the first shar it would have saved me some time.  When I want/need 32 bits I
don't get it from DOS.  When I do DOS I don't want 32 bits.

------------------------------------------------------------------------------

                                             _________________________________
  R.Stewart (Stew) Ellis                    / _______________________________/
  Assoc. Prof. of Social Science           / /      ______  ____________  __
  Dept. of Humanities & Social Science    / /      /___  / / ___  ___  / / /
  1700 W. Third Avenue                   / /          / / / /  / /  / / / /
  Flint, MI 48504                       / /__________/ / / /  / /  / / / /
  313-762-9765 Office                  /______________/ /_/  /_/  /_/ /_/

  elliss@frith.egr.msu.edu            ENGINEERING & MANAGEMENT INSTITUTE        

  "Apple Macintosh, the closed system for people with supposedly open minds."
    - plagiarized from someone else on the net
  "How you gonna do it? OS/2 it!" - stupid IBM ad 
  "Have you ever heard anything so half-OSsed?" - me