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

RE: [EnergyPlus_Support] Some Feedback? (Linux Version)



On Wednesday, January 22, 2003 3:00 AM, Linda Lawrie
[mailto:linda@xxxxxxxxxx] wrote:

> I have been tagged to make the next(?) Linux version release.
> I have managed to get Linux installed on a machine as well as
> compile and run the full set of example files.  Had to dredge
> up many old unix knowledge that has been buried to do so,
> but it's sort of there.
> 
> What I'd like to hear (list or private) is any feedback
> on the current Linux Release.  Were the directions clear?
> Were you able to successfully install and run EnergyPlus
> or did it require more fiddling with various login scripts,
> etc before you could follow the install directions to run?
> That kind of thing.
> 
> I'm not sure I will make any changes for the V1.0.3 release --
> I may just use the current scheme for that but for the V1.1
> release, may be able to add some features.
> 
> Thanks.  Of course, if I receive NO feedback, I will wonder
> if we should be expending our resources in this manner.
> 
> 
> Linda

Thanks for the opportunity to comment.

First of all, please don't consider abandoning the Linux
version.  When we do energy simulations we often do them several
thousand at a time.  We depend on a cluster of Linux machines,
a batch queueing system, and numerous data management scripts
written in various languages to make such large-scale analyses
possible.  That kind of thing is impossible in Windows.
Linux is making nothing but headway in both academic and
research environments.

As for the installation procedures, it's been a while since
I installed the last one so I had to uninstall/reinstall
to remind myself (hence the one comment on uninstalling).
Here are my quick thoughts, mostly in no particular order.

  * The uninstall script won't run unless your ENERGYPLUS_DIR
    environment variable is set.  That's understandable, but
    the script just dies with an uninformative error message
    instead of telling you how to correct the problem.
 
Now for the install comments:
 
  * First (this one is in order), the whole install script is
    written in a single-user mindset.  Linux is a multi-user
    OS and the install script should be designed for that.
 
    Assume the user doing the install might be the superuser
    who will want to put EnergyPlus in a machine-wide executable
    directory (e.g., /usr/local/bin or /usr/bin).  This implies
    a need to separate the EnergyPlus executables from other
    support files.  The former will need to be copied to
    the user's choice of bin directory (say, /usr/local/bin)
    while the latter can remain in whatever install directory
    was chosen.
 
    The "executables" that go to the bin directory would best
    be shell scripts (built on the fly during the install)
    that set all the necessary environment variables then exec
    the actual executable(s) located in the install directory.
    This relieves all the users from having to modify their
    login scripts (more on that below).
 
  * Don't EVER modify my .cshrc file without asking!!
 
    First of all, in a multi-user environment you can't
    just modify the installing user's script---there may be
    dozens of users who will need their enviornments set up
    (which is why I advocate executable scripts in the bin
    directory---see above).

    Second, when the EnergyPlus .setup.sh script overwrote
    my .cshrc (and .bash_profile) file it changed the group
    ownership and permissions---bad social behavior.

    Third, although .setup.sh overwrote my .cshrc file, it
    didn't change anything---didn't add the SETENV command
    or anything.  I'm not sure why.

    Fourth, although my .cshrc didn't get changed, if it had,
    it looks like .setup.sh would have inserted a security
    flaw into it.  Looking at the "energyplusenv.csh0" file
    that got created in the install directory:

        ## file: energyplusenv.csh setenv ENERGYPLUS_DIR
        ${ENERGYPLUS_DIR} set path=(. $ENERGYPLUS_DIR/bin $path)

    Putting '.' in a user's path is dangerous, making the user
    vulnerable to unwittingly running trojans.  (Imagine if
    someone created a script file named "ls" containing the
    command "/bin/rm -fr $HOME" and put it in a publicly
    accessible directory...)

    Finally, the .setup.sh script looks like it'll die if my
    .cshrc file is not writeable.  (More bad social behavior.)

  * .setup.sh assumes you did a chdir to the install directory
    before running it (i.e., it does a pushd without doing any
    cd's before it).  This is minor, but can be frustrating
    if someone ran the script from somewhere else (with an
    absolute pathname).

A few optional things that would be nice:

  * More configurability.  For example, let the user decide
    where the weather files will be located.  We run EnergyPlus,
    DOE-2, and BLAST; we prefer to keep all weather files
    (including the original TMY2's and such) in one central
    location so we can manage the production of "packed"
    files from raw files in one Makefile.

  * Add some man pages.

  * RPM files for popular Redhat/Mandrake versions.

Thanks again for listening and please let me know if I can
be of any assistance.

--Todd
-- 
Z. Todd Taylor
Senior Development Engineer
Pacific Northwest National Laboratory
Todd.Taylor@xxxxxxx
509-375-2676
Why is it goose and geese but not mongoose and mongeese?