Using Public or Private Programs and Libraries: Difference between revisions

From VrlWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Using Public or Private Programs and Libraries ==
== Using Public or Private Programs and Libraries ==


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 looks for an install directory in this order:
Public libraries and programs written by Brown students can be installed in the '''/research/graphics/tools/linux/install_linux/''',
or '''/research/graphics/tools/linux/install_WIN32/''',
or '''/research/graphics/tools/linux/install_OSX/''' directories.  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/
  $GROOT/users/$USER/install_$GARCH/
  $HOME/install_$GARCH/
  $HOME/install_$GARCH/
  $GROOT/tools/linux/install_$GARCH/
  $GROOT/tools/linux/install_$GARCH/
$GTO/install_$GARCH/
  $G/install_$GARCH/
  $G/install_$GARCH/


The '''$G''' variable is used to access installed projects as described and it is also used to access the make files in:
The '''$G''' variable is used to access installed projects as described and it is also used to access the make files in:
Line 25: Line 27:
With this setup your work are has only your project code and that can be in any directory you want.
With this setup your work are has only your project code and that can be in any directory you want.


  G      /map/gfx0/tools/linux
  G      /research/graphics/tools/linux




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


  GTO    /map/gfx0/tools/linux
  GTO    /research/graphics/tools/linux




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


  G    /map/gfx0/users/$USER
  G    /research/graphics/users/$USER
  > cd  $G
  > cd  $G
  > cvs co  common              # Populate the common directory.
  > cvs co  common              # Populate the common directory.
Line 44: Line 46:
  > mkdir  $G/install_linux
  > mkdir  $G/install_linux
  > mkdir  $G/install_WIN32
  > mkdir  $G/install_WIN32
  Copy select imports from /map/gfx0/tools/linux/import/ to:  /map/gfx0/users/$USER/import/
  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.
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.
Line 52: Line 54:
If you want to install your project in the private area set:
If you want to install your project in the private area set:


  GTO    /map/gfx0/users/$USER
  GTO    /research/graphics/users/$USER




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


  GTO    /map/gfx0/tools/linux
  GTO    /research/graphics/tools/linux


== Using Public Third Party Packages and Private Brown Software.  ==
== Using Public Third Party Packages and Private Brown Software.  ==
Line 63: Line 65:
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.
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          /map/gfx0/users/$USER
  G          /research/graphics/users/$USER
  G_IMPORT  /map/gfx0/tools/linux
  G_IMPORT  /research/graphics/tools/linux
  > cd  $G
  > cd  $G
  > cvs co  common              # Populate the common directory.
  > cvs co  common              # Populate the common directory.
Line 75: Line 77:
If you want to install your project in the private area set:
If you want to install your project in the private area set:


  GTO    /map/gfx0/users/$USER
  GTO    /research/graphics/users/$USER




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


  GTO    /map/gfx0/tools/linux
  GTO    /research/graphics/tools/linux

Revision as of 18:05, 23 November 2010

Using Public or Private Programs and Libraries

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 can be installed in the /research/graphics/tools/linux/install_linux/, or /research/graphics/tools/linux/install_WIN32/, or /research/graphics/tools/linux/install_OSX/ directories. 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 $G variable is used to access installed projects as described 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 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

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