Using Public or Private Programs and Libraries: Difference between revisions

From VrlWiki
Jump to navigation Jump to search
No edit summary
Jadrian Miles (talk | contribs)
No edit summary
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
You can have either private copies of libraries or you can use the shared copies.  If you want to use private programs and libraries then you determine when they are updated and which ones you want to use.  You also have to set them up yourself.  You can also instead use public copies, however because they are public they can be changed by any member of the group.  Usually people use caution when changes happen, but regardless any changes are likely to affect some users.
You can have either private copies of libraries and programs or you can use the shared copies.  When you use private programs and libraries you determine when they are updated and which ones you want to use.  The downside is that you have to set them up and mange them yourself.  Alternatively you can use public software, however because it is public it can be changed by any member of the group at any time.  Usually people use caution when changes happen, but regardless any changes are likely to disrupt some users.


Libraries and programs from third parties are typically downloaded from the web.  The public copies are installed in '''/map/gfx0/tools/linux/import/'''.  The environment variable '''G_IMPORT''' controls where the the build system gets third party libraries when linking.  If you want private copies, set up an import directory in your sandbox.  You can install the latest versions them from scratch or copy select packages from the public imports.
Libraries and programs from third parties are typically downloaded from the web.  The public copies are installed in '''/research/graphics/tools/linux/import/'''.  The environment variable '''G_IMPORT''' controls where the the build system gets third party libraries when linking.  Defaults are '''$G/import''' and then '''$GROOT/tools/linux/import'''.  If you want private copies, set up an import directory in your sandbox.  You can install the latest versions them from scratch or copy select packages from the public imports.


The '''import/''' directory has subdirectories for each package.  The organization of each subdirectory is determined by the vendor and the person that set up the install.
The '''import/''' directory has subdirectories for each package.  The organization of each subdirectory is determined by the vendor and the person that set up the install.


Libraries and programs written by Brown students can be installed in '''/map/gfx0/tools/linux/install_linux/''' or '''/map/gfx0/tools/linux/install_WIN32/''' directories.  Each has '''bin/''', '''lib''', and '''include/''' subdirectories.  When building with libraries the build system first looks for an install directory in this order:
Public libraries and programs written by Brown students is installed in one of these directories depending on the platform:


/map/gfx0/users/$USER/install_$GARCH/
:'''/research/graphics/tools/linux/install_linux/'''
  $HOME/install_$GARCH
:'''/research/graphics/tools/linux/install_WIN32/'''
  /map/gfx0/tools/linux/install_$GARCH
:'''/research/graphics/tools/linux/install_OSX/'''
 
Each has '''bin/''', '''lib''', '''include/''', and '''share/''' subdirectories.  When building with libraries the build system looks for an install directory in this order:
 
$GROOT/users/$USER/install_$GARCH/
  $HOME/install_$GARCH/
$GROOT/tools/linux/install_$GARCH/
  $GTO/install_$GARCH/
$G/install_$GARCH/
 
The '''$GTO''' variable is used to access installed projects and defaults to '''$G'''.
 
The '''$G''' variable is used as a default location and it is also used to access the make files in:
 
$G/common/build/make/
 
== Using only Public Directories ==
 
With this setup your work are has only your project code and that can be in any directory you want.
 
G      /research/graphics/tools/linux
 
 
If you want to install your project in the public area set:
 
GTO    /research/graphics/tools/linux
 
 
 
== Using only Private Directories at the Top of Your Work Area ==
 
This configuration allows you to decide when software is updated.  Your work will not impacted by changes made to the public area.
 
G    /research/graphics/users/$USER
> cd  $G
> cvs co  common              # Populate the common directory.
> cvs co  project/...        # Populate the projects you want to work on.
> mkdir  $G/install_linux
> mkdir  $G/install_WIN32
Copy select imports from /research/graphics/tools/linux/import/ to:  /research/graphics/users/$USER/import/
 
Do not copy the entire import directory as it uses a lot of space.  Only copy the packages you need.  You can also install imports by downloading the latest package.
 
It's recommended that you build the Brown software rather than copy it from the public directory.  This ensures you have the latest versions corresponding to the source code in your work area.
 
If you want to install your project in the private area set:
 
GTO    /research/graphics/users/$USER
 
 
If you want to install your project in the public area set:
 
GTO    /research/graphics/tools/linux
 
== Using Public Third Party Packages and Private Brown Software.  ==
 
It is less likely that changes to third party software will impact your work.  If that is the case then with this configuration you will not have to copy over their software.
 
G          /research/graphics/users/$USER
G_IMPORT  /research/graphics/tools/linux
> cd  $G
> cvs co  common              # Populate the common directory.
> cvs co  project/...        # Populate the projects you want to work on.
> mkdir  $G/install_linux
> mkdir  $G/install_WIN32
 
It's recommended that you build the Brown software rather than copy it from the public directory.  This ensures that the versions you are working with correspond to the source code in your work area.
 
If you want to install your project in the private area set:
 
GTO    /research/graphics/users/$USER
 
 
If you want to install your project in the public area set:
 
GTO    /research/graphics/tools/linux

Latest revision as of 21:31, 23 January 2012

You can have either private copies of libraries and programs or you can use the shared copies. When you use private programs and libraries you determine when they are updated and which ones you want to use. The downside is that you have to set them up and mange them yourself. Alternatively you can use public software, however because it is public it can be changed by any member of the group at any time. Usually people use caution when changes happen, but regardless any changes are likely to disrupt some users.

Libraries and programs from third parties are typically downloaded from the web. The public copies are installed in /research/graphics/tools/linux/import/. The environment variable G_IMPORT controls where the the build system gets third party libraries when linking. Defaults are $G/import and then $GROOT/tools/linux/import. If you want private copies, set up an import directory in your sandbox. You can install the latest versions them from scratch or copy select packages from the public imports.

The import/ directory has subdirectories for each package. The organization of each subdirectory is determined by the vendor and the person that set up the install.

Public libraries and programs written by Brown students is installed in one of these directories depending on the platform:

/research/graphics/tools/linux/install_linux/
/research/graphics/tools/linux/install_WIN32/
/research/graphics/tools/linux/install_OSX/

Each has bin/, lib, include/, and share/ subdirectories. When building with libraries the build system looks for an install directory in this order:

$GROOT/users/$USER/install_$GARCH/
$HOME/install_$GARCH/
$GROOT/tools/linux/install_$GARCH/
$GTO/install_$GARCH/
$G/install_$GARCH/

The $GTO variable is used to access installed projects and defaults to $G.

The $G variable is used as a default location and it is also used to access the make files in:

$G/common/build/make/

Using only Public Directories

With this setup your work are has only your project code and that can be in any directory you want.

G       /research/graphics/tools/linux


If you want to install your project in the public area set:

GTO    /research/graphics/tools/linux


Using only Private Directories at the Top of Your Work Area

This configuration allows you to decide when software is updated. Your work will not impacted by changes made to the public area.

G     /research/graphics/users/$USER
> cd  $G
> cvs co  common              # Populate the common directory.
> cvs co  project/...         # Populate the projects you want to work on.
> mkdir  $G/install_linux
> mkdir  $G/install_WIN32
Copy select imports from /research/graphics/tools/linux/import/ to:  /research/graphics/users/$USER/import/

Do not copy the entire import directory as it uses a lot of space. Only copy the packages you need. You can also install imports by downloading the latest package.

It's recommended that you build the Brown software rather than copy it from the public directory. This ensures you have the latest versions corresponding to the source code in your work area.

If you want to install your project in the private area set:

GTO    /research/graphics/users/$USER


If you want to install your project in the public area set:

GTO    /research/graphics/tools/linux

Using Public Third Party Packages and Private Brown Software.

It is less likely that changes to third party software will impact your work. If that is the case then with this configuration you will not have to copy over their software.

G          /research/graphics/users/$USER
G_IMPORT   /research/graphics/tools/linux
> cd  $G
> cvs co  common              # Populate the common directory.
> cvs co  project/...         # Populate the projects you want to work on.
> mkdir  $G/install_linux
> mkdir  $G/install_WIN32

It's recommended that you build the Brown software rather than copy it from the public directory. This ensures that the versions you are working with correspond to the source code in your work area.

If you want to install your project in the private area set:

GTO    /research/graphics/users/$USER


If you want to install your project in the public area set:

GTO    /research/graphics/tools/linux