Subject: Re: CCL:DX goes open source

From: Steven Castillo <[email-masked]>
Date: Fri, 28 May 1999 22:49:44 -0600 (MDT)

On Thu, 27 May 1999 [email-masked] wrote:

> 
> From: Andrew Dalke <[email-masked]>
> 
> Richard Gillilan <[email-masked]> said:
> > The IBM Data Explorer visualization software that we have used
> > for a number of years has officially gone open source and can
> > be obtained free from the web site (OpenDX.org). 
> 
> And if anyone is interested, here are instructions for getting
> the source to compile on IRIX 6.5 using the 7.2 C/C++ compiler.
> 
> 1) download the source (and examples) from
>       http://www.research.ibm.com/dx/download/
> 
> 2) The configuration code uses the value of SHELL rather than
> /bin/sh, so if you have a non-sh compatible shell (like tcsh)
> you are best off starting 'sh' then doing
>    SHELL=/bin/sh
>    export SHELL
> 
> 3) If you want to use SGI's C++ compiler over GNU, you also need
> to set the CXX environment variable to "CC", as in
>    CXX=CC
>    export CXX
> 
> 4) Configure by running "./configure"
> 
> 5) The default 'make' on SGIs isn't very good.  Use "smake" or
> GNU make ("gmake" or "gnumake") instead.  This can best be
> done by adding
> 
>   #!/usr/sbin/smake
> 
> to the top of the newly created Makefile.  The normal make will
> restart with the #! indicated make if given.
> 
> This is needed for compiling dx because otherwise every time
> you run "make" it will try to recompile some of the files.  This
> is annoying because it will try to recompile even when using
> "make install" after the system has been built.
> 
> 6) The file "src/exec/libdx/memory.c" didn't compile because of
> the code:
> ===
> #ifdef SYSTYPE_SVR4
>             if (inv->inv_class==INV_MEMORY && inv->inv_type==INV_MAIN) {
>                 physmem = (uint)((double)inv->inv_state / 1024. / 1024.);
>                 break;
>             }
> #else
>             if (inv->class==INV_MEMORY && inv->type==INV_MAIN) {
>                 physmem = (uint)((double)inv->inv_state / 1024. / 1024.);
>                 break;
>             }
> #endif  /* SVR4 */
> ===
> 
> It is supposed to use the first block but instead uses the second.
> Easiest fix is to replace #ifdef with #ifndef .
> 
> 7) Once the "#!" was added, "make" it.
> 
> 8) Become root and "make install".  There is a problem with the
> code -- some of it assumes data files are in "/usr/lpp/dx" instead
> of "/usr/local/dx" and it will complain about missing files during
> startup.  The only fix I know so far is to make a symbolic link,
> as in
> 
>   cd /usr
>   ln -s local lpp
> 
> 9) Some of the help files are sym linked to themselves.
> 
> val> pwd
> /usr/local/dx/help
> val> ls -l GarHelpDir BMHelpDir
> lrwxr-xr-x    1 root     sys           28 May 27 10:48 BMHelpDir ->
>   /usr/local/dx/help/MBHelpDir
> lrwxr-xr-x    1 root     sys           29 May 27 10:48 GarHelpDir ->
>   /usr/local/dx/help/GarHelpDir
> 
> There is no fix for this, but it hasn't been a problem (yet?).
> 
> 10) To use the sample files, set the environment variable DXDATA
> to point to your dxsamples-4.0/data directory.
> 
> 11) Start the program by running "/usr/local/dx/bin_sgi/startupui".
> 
> There may be other ways to start it, but I'm not sure what they
> are.  Also, looking at the memory usage with "gmemusage", at least
> some of the time DX wants up to 400 MB of memory.  If you run
> "dxui" directly, it seems to keep that memory need, but starting
> >from the startupui makes that need be only transient.  I don't
> understand the behaviour, but it may be because dxui isn't meant
> to be started directly.
> 
> Then take a look at some of the Chemistry extensions developed
> by Richard Gililan and others at the Theory Center, under
> 
>     http://www.tc.cornell.edu/DX/
> 
> 
> 						Andrew Dalke
> 						[email-masked]
> -= This is automatically added to each message by mailing script =-
> [email-masked] -- To Everybody    |   [email-masked] -- To Admins
> [email-masked] -- HELP CHEMISTRY or HELP SEARCH
> [email-masked] -- archive search    |    Gopher: gopher.ccl.net 70
> Ftp: ftp.ccl.net  |  WWW: http://www.ccl.net/chemistry/   | Jan: [email-masked]
> 
> 
> 
> 

I have been able to get the code to compile under Redhat Linux 5.2 on a
Pentium II.  I used the lesstif, Mesa, and hdf5 rpms from the redhat
contrib ftp site.  The only problem I ran into was that the configure step
was unable to find the lesstif libraries that were installed.  I manually
changed the include/dxconfig.h so that the line

#define USING_LESSTIF 0

is changed to

#define USING_LESSTIF 1

I also did a sym link from /usr/lib/libMesaGL.a to /usr/lib/libGL.a

I am now trying to put dx through it's paces.  I have never used it before
having previously used AVS for visualization.

Steve Castillo

Klipsch School of Electrical and Computer Engineering
New Mexico State University
[email-masked]

---

From: Richard Gillilan <[email-masked]>
Date: Sat, 29 May 1999 08:45:27 -0400

You all are way ahead of me in bringing up the Open version of DX. 
I have not tested any of my old chem modules with this version,
however they should work. For any interested, the modules could be
made more efficient by compiling as loadables (an option not available
to me when I started writing them a few years ago). This should simply
be a matter of changing the makefile but I've never found the time. 

Supposedly, the latest build of DX has built-in stereo ... a feature
I have wanted for years. Also, the SuperviseWindow/SuperviseState
modules
supposedly allow lower-level access to mouse events within the Image
window
so that users could, for example, emulate InsightII-style interactivity
etc.

As always, Chris and I are happy to answer questions about DX usage
as time permits. Cornell's web site should still contain many nice
DX resources that we have built over the years with the help of 
countless CS490/CS790 students. 

Richard