Hi Loris,

In easyconfigs, “osdependencies” is used to designate dependencies that the OS 
has to provide. This is typically seen used something like this:

# OpenSSL is required
osdependencies = ['openssl', ('openssl-devel', 'libssl-dev', 
'libopenssl-devel’)]

These are package names that need to be installed on the system, openssl and 
one of the devel packages listed — as their name varies depending on the 
flavour of your linux. This can be overridden with the command line parameter 
--ignore-osdeps.

I am not aware of a way to specify a required binary though, but specifying a 
package providing “zip” would probably be a good idea.

> On 26 Feb 2020, at 09:14, Loris Bennett <[email protected]> wrote:
> 
> Hi,
> 
> So the admin node on which I normally build software does have 'zip',
> but as I was building TensorFlow with GPU support, I was doing this on a
> GPU node, which didn't have 'zip' installed :-/
> 
> I had a vague idea that external dependencies could be specified in an
> easyconfig, but I could only find some thing on external modules.  Maybe
> I was thinking of '--filter-deps', but that's sort of the opposite of
> what one would need.
> 
> Thanks for the pointer,
> 
> Cheers,
> 
> Loris
> 
> Lars Viklund <[email protected]> writes:
> 
>> For reference, EB documents the shell tools (including `unzip`) that may be
>> occasionally needed by easyconfigs:
>> 
>> https://easybuild.readthedocs.io/en/latest/Installation.html#required-shell-tools
>> 
>> Sounds like Bazel goes a bit beyond this and also assumes that the 
>> environment
>> has the ability to zip things. Lovely :D
>> 
>> // Lars
>> 
>> On 2/25/20 5:06 PM, Terje Kvernes wrote:
>>> Hi Loris,
>>> 
>>> From the output it would seem that zip is an implied system dependency in
>>> Bazel. Depending on the underlying distribution, the easiest solution is
>>> probably to install zip as a system package via yum/dnf/apt-get/etc.
>>> 
>>> I took a quick look at the easyconfig tree and didn’t find a suitable zip to
>>> add as a dependency, so I’m guessing this has gone under the radar as
>>> “everyone” already had zip installed.
>>> 
>>> I’m not sure what the long-term solution is here, as I’m not sure one wants 
>>> to
>>> move zip from a system dependency to a toolchain one, but opening an issue 
>>> on
>>> https://github.com/easybuilders/easybuild-easyconfigs/issues is probably a
>>> good idea. :-)
>>> 
>>>> On 25 Feb 2020, at 16:53, Loris Bennett <[email protected]> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> Bazel-0.26.1-GCCcore-8.3.0.eb is failing with the following error:
>>>> 
>>>>  ^MESC[1AESC[KESC[31mESC[1mERROR: 
>>>> ESC[0m/trinity/shared/easybuild/build/Bazel/0.26.1/GCCcore-8.3.0/src/BUILD:339:2:
>>>>  Executing genrule //src:package-zip_nojdk failed (Exit 127): bash failed: 
>>>> error executing command
>>>>    (cd /tmp/eb-0CJXT7/bazel_M82PHrmR/out/execroot/io_bazel && \
>>>>    exec env - \
>>>>      
>>>> LD_LIBRARY_PATH=/trinity/shared/easybuild/software/Java/1.8.0_192/lib:/trinity/shared/easybuild/software/Python/3.7.4-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/libffi/3.2.1-GCCcore-8.3.0/lib64:/trinity/shared/easybuild/software/libffi/3.2.1-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/GMP/6.1.2-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/XZ/5.2.4-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/SQLite/3.29.0-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/Tcl/8.6.9-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/libreadline/8.0-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/ncurses/6.1-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/bzip2/1.0.8-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/binutils/2.32-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/zlib/1.2.11-GCCcore-8.3.0/lib:/trinity/shared/easybuild/software/GCCcore/8.3.0/lib/gcc/x86_64-pc-linux-gnu/8.3.0:/trinity/shared/easybuild/software/GCCcore/8.3.0/lib64:/trinity/shared/easybuild/software/GCCcore/8.3.0/lib
>>>>  \
>>>>      
>>>> PATH=/trinity/shared/easybuild/software/Java/1.8.0_192:/trinity/shared/easybuild/software/Java/1.8.0_192/bin:/trinity/shared/easybuild/software/Python/3.7.4-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/XZ/5.2.4-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/SQLite/3.29.0-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/Tcl/8.6.9-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/ncurses/6.1-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/bzip2/1.0.8-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/binutils/2.32-GCCcore-8.3.0/bin:/trinity/shared/easybuild/software/GCCcore/8.3.0/bin:/trinity/shared/easybuild/software/EasyBuild/4.1.1/bin:/trinity/shared/zedat/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/bin/syscfg:/trinity/home/build/.local/bin:/trinity/home/build/bin
>>>>  \
>>>>    /bin/bash -c 'source 
>>>> external/bazel_tools/tools/genrule/genrule-setup.sh; src/package-bazel.sh 
>>>> bazel-out/k8-opt/bin/src/package_nojdk.zip  
>>>> bazel-out/k8-opt/bin/src/embedded_tools_nojdk.zip 
>>>> bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
>>>>  bazel-out/k8-opt/bin/src/install_base_key_nojdk 
>>>> bazel-out/k8-opt/bin/src/main/native/libunix.so 
>>>> bazel-out/k8-opt/bin/src/main/tools/build-runfiles 
>>>> bazel-out/k8-opt/bin/src/main/tools/process-wrapper 
>>>> src/main/tools/jdk.BUILD bazel-out/k8-opt/bin/src/main/tools/linux-sandbox 
>>>> bazel-out/k8-opt/bin/tools/osx/xcode-locator 
>>>> bazel-out/k8-opt/bin/src/main/tools/daemonize')
>>>>  Execution platform: @bazel_tools//platforms:host_platform
>>>>  ESC[32m[1,793 / 1,794]ESC[0m checking cached actions
>>>>  ^MESC[1AESC[Ksrc/package-bazel.sh: line 42: zip: command not found
>>>> 
>>>> Anyone know what sort of zip package is missing here?
>>>> 
>>>> Cheers,
>>>> 
>>>> Loris
>>>> 
>>>> -- 
>>>> Dr. Loris Bennett (Mr.)
>>>> ZEDAT, Freie Universität Berlin         Email [email protected]
>>> 
>> 
> -- 
> Dr. Loris Bennett (Mr.)
> ZEDAT, Freie Universität Berlin         Email [email protected]


-- 
Terje Kvernes
Head sysadmin
Department of Mathematics
University of Oslo




Reply via email to