[Coin-discuss] SYMPHONY migration

Ted Ralphs tkralphs at lehigh.edu
Sat Feb 19 01:12:23 EST 2005


Folks,

As you know by now, some directories have been relocated in the CVS 
repository of SYMPHONY. This means that doing a CVS update in the 
COIN/SYMPHONY directory will return errors, as the requested directories 
will no longer exist on the server. Along with the reorganization of 
directories, there have also been changes in the build environment. The 
goal of all of this is to make the SYMPHONY Project's directory 
structure more logical and easier to navigate, as well as to make the 
root directory a little less crowded and the build environment more 
transparent.

SYMPHONY *should* build correctly in all architectures after migrating 
according to these instructions, as the Makefiles, READMEs, and Windows 
build files have all been updated for the new directory structure. 
However, it is inevitable that we missed a few changes and that some 
paths have not been updated properly, so please let us know if you have 
trouble building SYMPHONY in a particular configuration or environment.

Migrating in Unix/Linux/CYGWIN
==============================

There are two approaches to migrating to the new directory structure:

1. The safest and perhaps easiest approach is to simply move aside the 
old COIN/SYMPHONY directory, and check out a fresh copy in a temporary 
directory. Assuming COIN is located in $HOME/COIN, do the following.

mv $HOME/COIN/SYMPHONY $HOME/COIN/SYMPHONY.tmp
mkdir $HOME/COIN.tmp
cd $HOME/COIN.tmp
cvs -d \
:pserver:anonymous at www.coin-or.org:2401/home/coin/coincvs \
checkout SYMPHONY
mv COIN/SYMPHONY $HOME/COIN/
cd ..
rm -r COIN.tmp
cd COIN/SYMPHONY

Now move any locally modified or created files from $HOME/SYMPHONY.tmp 
to $HOME/SYMPHONY and remove $HOME/COIN/SYMPHONY.tmp.

Warning: You should not overwrite the Makefiles in the new SYMPHONY 
directory. Make the local modifications to these by hand. Otherwise, 
SYMPHONY may no longer compile correctly.

2. A second approach is to use the attached "migrate" script. Running it 
in the SYMPHONY root directory will modify your local copy of the 
repository, so that you can continue working with it and updating it, 
while retaining all local modifications. It has been tested and used to 
migrate several local copies of the repository under Linux and CYGWIN 
already, but please use at your own risk and make a backup of your 
SYMPHONY directory before running the script if there are important 
files contained therein.

Assuming COIN is installed in $HOME/COIN, save the "migrate" script in 
$HOME/COIN/SYMPHONY. Before running the script, you should  delete the 
empty CVS directories SYMPHONY/MPP/Common and SYMPHONY/Template/Common 
if you have them, as indicated below. These empty directories will not 
be moved by the script and may cause errors when updating after the 
migration. Edit the first line of the migrate script to include the 
proper path to tcsh on your system if it is not /usr/bin/tcsh. Then 
execute the following commands.

cd $HOME/COIN
tar -czvf SYMPHONY.tgz SYMPHONY/*
cd SYMPHONY
rm -rf Template/Common
rm -rf MPP/Common
chmod u+x migrate
./migrate
cvs update -dP

You should not see any errors when doing the update or making SYMPHONY. 
If this is the case, you can safely delete $HOME/COIN/SYMPHONY.tgz. If 
there are errors, please report them to the mailing list. Finally, clean 
out the old build directories and try making SYMPHONY

rm -rf dep.* lib.* bin.* objects.*
rm -rf Applications/*/dep.* Applications/*/lib.* \
Applications/*/bin.* Applications/*/objects.*
make

You shouldn't see any errors when rebuilding. Please let us know if 
there are any.

Migrating in Windows
====================

The only migration option in Windows is to check out a fresh copy of the 
  SYMPHONY directory from CVS, as described above. Follow these steps:

1. Rename the COIN/SYMPHONY directory COIN/SYMPHONY.tmp
2. Make a new directory COIN.tmp
3. Checkout the SYMPHONY module in COIN.tmp
4. Move COIN.tmp/COIN/SYMPHONY COIN/SYMPHONY
5. Remove COIN.tmp
6. Move any locally modified or created files from COIN/SYMPHONY.tmp to 
COIN/SYMPHONY
7. Remove COIN/SYMPHONY.tmp

Remove old build directories and try to build SYMPHONY again. Please let 
us know if there are any problems.

Thank you for your patience with this move and let us know if you have 
any questions.

Cheers,

Ted
-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: migrate
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20050219/50eb4e33/attachment.ksh>


More information about the Coin-discuss mailing list