Closed malachig closed 10 years ago
It looks like this line was added to UR recently by @nnutter
use Module::Runtime v0.014 qw(module_notional_filename);
That was added to master in this commit: https://github.com/genome/UR/commit/2efdfac61874f9343c0f17dd53b05615ae03faad
In the sGMS install we are using a UR tag called 'gms-pub-tag'. This tag has mysteriously disappeared. The install was working just fine last night, so perhaps either the removal of this tag happened very recently?
Or when we did the clone, it failed to find the tag, defaulted to the master branch and it just so happened that the master branch of UR was working for us until now?
Actually I spoke too soon. The tag is still there. Investigating further.
Huh. We are attempting to clone a particular tag, and I believe this was working but it now failing for me:
sudo git clone http://github.com/genome/UR.git -b gms-pub-tag ur
Cloning into 'ur'...
remote: Counting objects: 34336, done.
remote: Compressing objects: 100% (7209/7209), done.
remote: Total 34336 (delta 26114), reused 34336 (delta 26114)
Receiving objects: 100% (34336/34336), 12.20 MiB | 7.08 MiB/s, done.
Resolving deltas: 100% (26114/26114), done.
warning: Remote branch gms-pub-tag not found in upstream origin, using HEAD instead
As predicted above, git fails to find the requested tag and clones master instead.
Attempts to clone other tags also fail and result in master being cloned instead.
this just worked for me
aramu@linus217 ~> git clone http://github.com/genome/UR.git -b gms-pub-tag temp
Cloning into 'temp'...
remote: Counting objects: 34336, done.
remote: Compressing objects: 100% (7209/7209), done.
remote: Total 34336 (delta 26114), reused 34336 (delta 26114)
Receiving objects: 100% (34336/34336), 12.20 MiB | 9.82 MiB/s, done.
Resolving deltas: 100% (26114/26114), done.
Checking connectivity... done
Note: checking out '356ca1ba8d565ed377cbabccae555408332f9273'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in thisstate without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you maydo so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_nameChecking out files: 100% (778/778), done.
aramu@linus217 ~> cd temp/aramu@linus217 ~/temp ((gms-pub-tag))> ls
perhaps a git version issue ?
Yeah. Maybe. It still does not work for me:
git clone http://github.com/genome/UR.git -b gms-pub-tag temp
Cloning into 'temp'...
remote: Counting objects: 34336, done.
remote: Compressing objects: 100% (7209/7209), done.
remote: Total 34336 (delta 26114), reused 34336 (delta 26114)
Receiving objects: 100% (34336/34336), 12.20 MiB | 3.19 MiB/s, done.
Resolving deltas: 100% (26114/26114), done.
warning: Remote branch gms-pub-tag not found in upstream origin, using HEAD instead
git --version
git version 1.7.9.5
Although, it is not expected that the version of git has changed in the install. The command above is not supported in this older version of git. Perhaps it was never working and we just didn't realize that we were getting master and that it was working until recently...
For compatibility we can try this instead:
sudo git clone http://github.com/genome/UR.git ur
cd ur
sudo git checkout tags/gms-pub-tag -b gms-pub-tag
Since older versions of git will fail to checkout out unrecognized branches and just give a warning (checking out default branch instead) - but being on the right branch or tag is so important potentially, we should consider adding some checks to the make. In the past I have had success with a check like this:
#Make sure the specified branch exists and was checked out successfully
bash -c 'cd $fulldir; git ls-remote --exit-code . origin/$branch &> /dev/null; echo $?'
I tested this command on the default git for Ubuntu precise (version 1.7.9.5) and also built the latest version of git and tested it there (version 1.9.0). This syntax seems to work in both cases so I will change the make to do that instead. I will also experiment with checks like this for each branch/tag checked out:
bash -c 'git ls-remote --exit-code . gms-pub-tag &> /dev/null; echo $?'
A commit 4 days ago added this dependency:
genome/UR@2efdfac
Sent from my iPhone
On Feb 14, 2014, at 4:11 PM, Malachi Griffith notifications@github.com wrote:
Latest attempt to install sGMS in a VM is failing the first time it tries to run code that uses Genome:
Module::Runtime version v0.14.0 required--this is only version v0.11.0 at /opt/gms/B518B12/sw/ur/lib/UR/Util.pm line 12. BEGIN failed--compilation aborted at /opt/gms/B518B12/sw/ur/lib/UR/Util.pm line 12. Compilation failed in require at /opt/gms/B518B12/sw/ur/lib/UR.pm line 109. Compilation failed in require at /opt/gms/B518B12/sw/genome/lib/perl/Genome.pm line 8. BEGIN failed--compilation aborted at /opt/gms/B518B12/sw/genome/lib/perl/Genome.pm line 8. Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. — Reply to this email directly or view it on GitHub.
nm: I'm way behind Malachi on this.
I think I have fixed this and added sanity checks so that the make will fail if the correct branch or tag is not successfully installed. https://github.com/genome/gms/commit/ca99808d8ba4cc5da8d5817c7f8e80f18dbceb6d
Looks like this now:
done-host/git-checkouts:
#
# $@:
#
sudo -v
which git || (which apt-get && sudo apt-get install git) || (echo "*** please install git on your system to continue ***" && false)
[ -e $(GMS_HOME)/sw/ur/.git ] || sudo git clone http://github.com/genome/UR.git $(GMS_HOME)/sw/ur && cd $(GMS_HOME)/sw/ur && sudo git checkout tags/gms-pub-tag -b gms-pub-tag
cd $(GMS_HOME)/sw/ur/ && git ls-remote --exit-code . gms-pub-tag 1>/dev/null || (echo "failed to clone ur repo" && false)
[ -e $(GMS_HOME)/sw/workflow/.git ] || sudo git clone http://github.com/genome/tgi-workflow.git $(GMS_HOME)/sw/workflow && cd $(GMS_HOME)/sw/workflow && sudo git checkout gms-pub
cd $(GMS_HOME)/sw/workflow/ && git ls-remote --exit-code . gms-pub 1>/dev/null || (echo "failed to clone workflow repo" && false)
[ -e $(GMS_HOME)/sw/rails/.git ] || sudo git clone http://github.com/genome/gms-webviews.git $(GMS_HOME)/sw/rails && cd $(GMS_HOME)/sw/rails && sudo git checkout gms-pub
cd $(GMS_HOME)/sw/rails/ && git ls-remote --exit-code . gms-pub 1>/dev/null || (echo "failed to clone gms-webviews repo" && false)
[ -e $(GMS_HOME)/sw/genome/.git ] || sudo git clone http://github.com/genome/gms-core.git $(GMS_HOME)/sw/genome && cd $(GMS_HOME)/sw/genome && sudo git checkout gms-pub
cd $(GMS_HOME)/sw/genome/ && git ls-remote --exit-code . gms-pub 1>/dev/null || (echo "failed to clone gms-core repo" && false)
[ -e $(GMS_HOME)/sw/openlava/.git ] || sudo git clone http://github.com/openlava/openlava.git $(GMS_HOME)/sw/openlava && cd $(GMS_HOME)/sw/openlava && sudo git checkout 2.2
cd $(GMS_HOME)/sw/openlava/ && git ls-remote --exit-code . 2.2 1>/dev/null || (echo "failed to clone openlava repo" && false)
sudo chown -R $(GMS_USER):$(GMS_GROUP) $(GMS_HOME)/sw
sudo chmod -R g+rwxs $(GMS_HOME)/sw
touch $@
Tests of that make target seem to be working as expected. If you specify a tag or branch incorrectly it fails. And now the specified branch or tag is actually being checked out (instead of master) for all 5 git repos. Run a fresh install test now.
This is working now. Closing the issue.
Latest attempt to install sGMS in a VM is failing the first time it tries to run code that uses Genome: