Hi Alan,

your example worked quite well.
The only issue I've found is that the GOPATH export has to be moved to

install_cmd += "export GOPATH=%(installdir)s/ && go build && go install "

I don't understand why ... but this code does not work:

# Update GOPATH so install location is correct
install_cmd = "export GOPATH=%(installdir)s:$GOPATH && "
# Update PATH to include new bin directory (in case it is needed)
install_cmd += "export PATH=%(installdir)s/bin:$PATH && "

# Do the ecr-login installation
install_cmd += "cd %(installdir)s/src/
github.com/awslabs/%(name)s/ecr-login/cli/docker-credential-ecr-login/ && "
install_cmd += "go build && go install "


Thanks a lot,
Arnau


El mié., 25 jul. 2018 a las 9:29, Arnau (<[email protected]>) escribió:

> Hi Alan,
>
> thanks for your answer.
> I'm going to try the example you provided.
>
> Sure that -u is not the way... but installing from sources is a bit
> tedious (and then you have to install all depdencies as well), so, as there
> was no easyblock for go, I was tempted to use this "dirty" aproach :-)
>
> I'll let you know if the exmaple you provided works.
>
> thanks for your help,
> Arnau
>
> El mar., 24 jul. 2018 a las 15:39, Alan O'Cais (<[email protected]>)
> escribió:
>
>> Hi Arnau,
>>
>> I've no experience with Go installations either so maybe someone else add
>> some pointers. I took a look and created a working example easyconfig at
>> https://gist.github.com/ocaisa/1057ca936273db6715768fcb9b4b9191
>>
>> I would say that creating your own EasyBlock is ultimately the right way
>> to go as there a good few caveats. In terms of reproducibility, I don't
>> think using the -u flag is a good idea:
>>
>> The -u flag instructs get to use the network to update the named packages
>> and their dependencies. By default, get uses the network to check out
>> missing packages but does not use it to look for updates to existing
>> packages.
>>
>> From what I've read, the GOPATH looks like it needs to be handled the
>> same we currently handle python extensions with the caveat that it also
>> seems to be the place where the installation is made:
>>
>> Go searches each directory listed in GOPATH to find source code, but new
>> packages are always downloaded into the first directory in the list.
>>
>> You also probably want to preemptively set your PATH to include
>> %(installdir)s/bin in case it is needed.
>> To do things "properly" we would really need a gopackage.py easyblock ,
>> the easyconfig is too hacked and would be tedious to update/maintain.
>>
>> Alan
>>
>> On Tue, 24 Jul 2018 at 12:03, Arnau <[email protected]> wrote:
>>
>>> Hi all,
>>>
>>> I need to install a go program and the installation instruictions say
>>> that I need to run :
>>>
>>> go get -u github.com/.....
>>>
>>> I've been looking into the EB doc and did not find any GO easyblock (or
>>> similar), which means that I'll have to create an easyconfgi with many
>>> customizations.
>>> So I'd like to ask you for experience and recommendations for does kind
>>> of installations. (I'm quite new to go installations). Or even if someone
>>> already created some kind of GO easyblock.
>>>
>>> TIA,
>>> Arnau
>>>
>>
>>
>> --
>> Dr. Alan O'Cais
>> E-CAM Software Manager
>> Juelich Supercomputing Centre
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich, Germany
>>
>> Phone: +49 2461 61 5213
>> Fax: +49 2461 61 6656
>> E-mail: [email protected]
>> WWW:    http://www.fz-juelich.de/ias/jsc/EN
>>
>>
>>
>> ------------------------------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------------------------
>> Forschungszentrum Juelich GmbH
>> 52425 Juelich
>> Sitz der Gesellschaft: Juelich
>> Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
>> Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher
>> Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
>> Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt,
>> Prof. Dr. Sebastian M. Schmidt
>>
>> ------------------------------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------------------------
>>
>>

Reply via email to