[Haskell-cafe] Re: ANNOUNCE: Utrecht Haskell Compiler (UHC) -- first release

Richard O'Keefe ok at cs.otago.ac.nz
Tue Apr 21 00:51:34 EDT 2009


On 21 Apr 2009, at 2:10 pm, Edward Middleton wrote:

> Richard O'Keefe wrote:
>>
>> The assumption here seems to be that everyone owns their own machine
>> or has a system adminstrator with large amounts of free time on their
>> hands.  Just because a lot of other people are doing something crazy
>> doesn't mean we have to copy them.
>
> The assumption is that you are running a multipurpose computer, i.e.
> your Haskell compiler isn't the only application you care about and  
> you
> don't want it or other applications to interact badly together.

That cannot be right.
By that definition, I *do* run a multipurpose computer,
in fact several of them.
If I _weren't_ running multipurpose computers,
I wouldn't be wanting GHC on them.
On none of them is it possible for me to install in /usr/local.
On no computer that is ever attached to the University's network
is it possible for me or any other staff member (except the
designated sysadmins) to do so, let alone students.

>   The
> best way to do this is to have a package maintained by the  
> distribution,
> and not have users or even sysadmins directly install it from source.

Whether or not one installs from source
and whether one installs in a system location or a user location
are INDEPENDENT questions.

Quintus, for example, provided binary releases that customers
could install wherever they wanted.  We were doing that 25 years
ago.  Installing-wherever-the-user-wants WITHOUT source has been
doable for a long time, and is what I _expect_ in a Windows or Mac
program.

There are dishonourable exceptions.
Recently I bought a French drill program for my elder daughter.
At home I use a dual-boot (MacOS/Windows Vista) laptop provided
by the department.  On the Windows side, it asked me where I wanted
it to go, and went there, no worries.  On the MacOS side,
	- I was logged in as XXX
	- in order to install, I had to enter my "junior sysadmin"
	  (adminXXX) credentials -- I don't think I was supposed to
	  be given this much power, but I'd given the sysadmins such
	  a long shopping list of applications I wanted on this
	  "multipurpose computer" that they preferred me to do most
	  of it
	- the programs were actually _installed_ as owned by 'admin'
with the result that I cannot run them, or change their permissions
so that I can run them, or even remove them.  You can imagine how
happy that kind of nonsense makes me.  If they could get it right on
Windows, how come they got it so egregiously wrong on MacOS?

By assuming that everyone can become the ultimate superuser at will.


> Using non-standard installation methods makes it harder for package
> maintainers to package the application and suggests you haven't taken
> any care / don't care about making global installation safe.

I'm sorry, there is no such animal as "safe" global installation,
in the sense of "download this one package and do what it says."
ghc 6.8.3 is /usr/bin/ghc on my office Mac, but nothing in the world
prevents there being some other program called ghc that would also
like to be there.  Only by painstaking verification of a whole
bunch of applications together can one be confident of "safety".
My $PATH has to be maintained with some delicacy, as more than 1200
command names appear in more than two directories on it.  There
seem, for example, to be 4 programs called 'python'; two of them
are links to 2.4, one of them is 2.3, and I can't tell what the
other is.  And don't go blaming me for this state of affairs,
because they are _all_ system directories.  Oh, and none of the
directories holding python is any part of /usr/local.  Since the
version of gcc in /usr/local is 2.95.2, if I want a less antique
version of gcc, /usr/local/bin isn't much use in my $PATH.  Put
ghc there, and what makes you think I will be able to run it?
(The version of Amaya there is also hopelessly out of date, but
there is nothing I can do about it.)

Package maintainers _should_ find it _easier_ to provide
reliably installable packages if they _don't_ take it for
granted that they can put things in questionably "standard"
places.



More information about the Haskell-Cafe mailing list