Exporting Code from the EA Model
I have been viewing the EA model remotely using 'rdesktop'. In particular, I have an alias in my ~/.cshrc file
alias EA 'rdesktop -u abecker -d lsst -g 1152x864 www.lsstcorp.org:3390'
This gives me access to the EA model. I click on the Enterprise Architect logo, and then on LSST_DM. It will let me in without a password. I will be working with Tim's DC2 -> DC2 Logical Model -> Application Layer -> Framework -> LsstData -> MaskedImage implementation. I have heard it through the grapevine that this should compile using Make, and so should be somewhat debugged for Scons. Shhh....
I will next Right click -> Package Control -> Get All Latest to make sure I am up to date with things. THIS DOES NOT WORK WELL WITH A MAC, HOW DO YOU RIGHT CLICK?! Bold-faced frustrating; you need a USB mouse. Anyways, I always accept the defaults when EA prompts me here.
Next, you Right click -> Code Engineering -> Generate Source Code. Make sure you are over MaskedImage when you do this. If I click on Autogenerate Files it will prompt me for a directory. I go to My Documents and create a new folder called MaskedImage. Select All. Generate !!!
If I get out of EA and browse my desktop, I see the folder C:Documents and SettingsabeckerMy DocumentsMaskedImageMaskedImage. Lots of .h files and a couple of .cpp files - not sure why those were created. Anyways, step 1 complete.
Get Code to darkstar.astro
Got the following email from Iain
Assumptions for the example: File.txt is the name of the file on the server. C:documents and settingsabecker mp is the location of the file as seen via Windows. The destination will be /home/abecker on your local box Scp abecker@ssh.lsstcorp.org:./tmp/file.txt /home/abecker/file.txt (note the period after the colon)
So I am going for it. However, all the following commands hang. An access issue?
scp -r abecker@ssh.lsstcorp.org:My DocumentsMaskedImageMaskedImage . scp -r "abecker@ssh.lsstcorp.org:My DocumentsMaskedImageMaskedImage" . scp -vr "abecker@ssh.lsstcorp.org:My DocumentsMaskedImageMaskedImage" . Executing: program /usr/bin/ssh host ssh.lsstcorp.org, user abecker, command scp -v -r -f My DocumentsMaskedImageMaskedImage OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to ssh.lsstcorp.org [140.252.30.228] port 22. debug1: connect to address 140.252.30.228 port 22: Connection timed out ssh: connect to host ssh.lsstcorp.org port 22: Connection timed out
Is there scp there I can use to push instead of pull the code? Holy crap, I am now in DOS command prompt. The good old days! I need to remember that dir is the command for ls. It apparently knows about scp here. So, find my way to C:Documents and SettingsabeckerMy DocumentsMaskedImage. Try this :
scp -r MaskedImage becker@darkstar.astro.washington.edu:/tmp/
It works! Yay for DOS Command Prompt! Ah sniff sniff, my triumph is short-lived and unnecessary, if I use 140.252.30.229 in place of ssh.lsstcorp.org I can get in. Ah well, I leave it up here for all to marvel at the ingenuity.
Below does not work:
becker109:scp -r "abecker@140.252.30.229:My DocumentsMaskedImageMaskedImage" . abecker@140.252.30.229's password: scp: My DocumentsMaskedImageMaskedImage: No such file or directory
It clearly does not like the '\'.
Below does, but is not totally what I want, because it also get the whole EA document.
becker114:scp -r "abecker@140.252.30.229:My Documents" .
Ah, it requires the unprecedented triple slash. Fair enough.
becker130:scp -r "abecker@140.252.30.229:My Documents\MaskedImage\MaskedImage" . becker131:ls My DocumentsMaskedImageMaskedImage/ becker132:ls My Documents\MaskedImage\MaskedImage/ Image.h* MaskedImage.h* PixelBooleanFunc.cpp* PixelCoord.h* ImagePixelBooleanFunc.h* Mask.h* PixelBooleanFunc.h* PixelProcessingFunc.h* MaskedImageFilterIterator.h* MaskPixelBooleanFunc.h* PixelCoord.cpp*
Now, where to put this...?
Checking the Code into SVN
On darkstar.astro, we have installed the build system at /lsst/lsst_root. In my ~/.cshrc
setenv LSST_ROOT /lsst/lsst_root setenv LSST_DEVEL /lsst/becker/lsst_devel alias 'LSST' 'source $LSST_ROOT/Linux/loadLSST.csh'
So I type LSST on the command line. And now I have no idea what to do... Part of the problem is that the GettingStartedDraft stops at just the wrong place.
One of my questions is that Tim has been actively editing / upgrading the .h and accompanying .cpp files. I am afraid that any changes I check in here will be a downgrade compared to what is already there. Ideally, the model should be in sync with the SVN repository. But, not likely to be the case. E.g. In the .h files, the defined bits look like
#if !defined(EA_AF2AEB28_2313_491a_996A_D4BAA304BEB6__INCLUDED_) #define EA_AF2AEB28_2313_491a_996A_D4BAA304BEB6__INCLUDED_
I presume that Tim's look more like
#if !defined(LSST_DM_MASKEDIMAGE) #define LSST_DM_MASKEDIMAGE
A minor detail. But makes me wonder what else is out there.
I see from browsing the timeline (in particular Tim's changes) the software structure for DC2. E.g.
DC2/fw/branches/scons/include/lsst/MaskedImage.h
So I need to create on darkstar.astro DC2/fw/branches/scons. In particular, this is where the meat of the code will go
DC2/fw/branches/scons/src .h files DC2/fw/branches/scons/include .cpp files DC2/fw/branches/scons/lib .so files DC2/fw/branches/scons/python .py files
OK, so I start paying attention and see that this page, section 6, has just what I need. I will add to my ~/.cshrc
setenv LSST_SVN svn+ssh://svn.lsstcorp.org
For now
becker63:setenv LSST_SVN svn+ssh://svn.lsstcorp.org becker64:svn list $LSST_SVN becker@svn.lsstcorp.org's password:
Argh, my user name locally is becker; remotely its abecker.
Logic prevails, and the solution makes sense
becker67:setenv LSST_SVN svn+ssh://abecker@svn.lsstcorp.org becker68:svn list $LSST_SVN abecker@svn.lsstcorp.org's password:
But I still can't get in... What is my password again? Its not my EA password, or my Trac password. This is where I give up for the day until I hear back from NCSA, since this is actually an NCSA machine
becker170:host svn.lsstcorp.org svn.lsstcorp.org is an alias for lsstdev.ncsa.uiuc.edu. lsstdev.ncsa.uiuc.edu is an alias for ds33.ncsa.uiuc.edu. ds33.ncsa.uiuc.edu has address 141.142.15.12
