Download the latest Picard release at https://github.com/broadinstitute/picard/releases.
GATK version 4.beta.5 is out. See the GATK4 beta page for download and details.

How to build GATK WITHOUT internet connection

Hi,
I'm trying to build GATK using ant. Due to strict security policies my linux box is not allowed to have internect connection. I can upload the source code to the linux machine via intranet but it cannot "get" those dependent packages from outside, which seems required during the building process. I was wondering if there's any way to build the source without internet connection?
Thanks!
Zhihua Li

Best Answer

Answers

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie

    Hi there,

    You would have to obtain and install all the dependencies manually. It will be much easier if you just download the precompiled binary, unless there is a specific reason you want to build it yourself.

  • Or build it on the internet-connected box - the nice thing about Java is you can build it anywhere

  • Hi Geraldine,

    You are right. Using the precompiled binary is much easier. But I wanted to write my own walkers. I was under the impression that I need to build my walker into the GATK engine to use it. Or is it possible to just use the GATK code as API?

    Thanks!

  • lzhtomlzhtom Member

    Hey guys, just an update: I finally found a way to do it reasonably quick: it's basically building in an internet-connected machine and then transferring it to the unconnected linux box. The problem was that I'm doing developing so I would need to do the build/transfer thing over and over again. Fortunately, I found out that after using the internet-connected machine, you can copy everything under .ant/cache to the no-internet machine, and then build it there! This way you only need to do the transfer once and all your future building can be done without internet!

    Just in case someone else is stuck with this no internet thing. Thanks again for your help!

  • droazendroazen Cambridge, MAMember, Broadie, Dev

    This approach of relying on the ant cache will only work until the next time we change one of our dependencies (either by requiring a newer version of an existing dependency or by adding a brand-new dependency). Then you'd need to do another build on your internet-connected machine.

    David

  • lzhtomlzhtom Member

    droazen,
    You are absolutely right. If the dependency changes I'll need to do it again. But at least I don't need to do the transfer thing everyday.

    Oh one other thing I forgot to mention: you need to copy .ant/lib too. More importantly, you will need to comment out the section in build.xml which deals with downloading ivy-XXX.jar and maven-ant-tasks-XXX.jar. Otherwise ant will tempt to download these two files even though they are in .ant/lib already, and it will fail.

Sign In or Register to comment.