Skip to content

Loading precompiled binaries from cvmfs is not possible? #72

@Ni-Langguth

Description

@Ni-Langguth

I published two test packages (using ali-bot) to one of our cvmfs test repositories using the aliPublish.conf file below and manually published the BASE/1.0 file below to the same location as the test packages: /cvmfs/sft-nightlies-test.cern.ch/lcg/bits/x86_64-el9-gcc13-opt/Modules/modulefiles, as instructed in the documentation.

Then I added the path to my MODULEPATH, checked with module avail whether the modules were available and tried loading/unloading with module load and module unload, which worked:

export MODULEPATH="/cvmfs/sft-nightlies-test.cern.ch/lcg/bits/x86_64-el9-gcc13-opt/Modules/modulefiles:$MODULEPATH"
[nlanggut@pcepsft17 bits]$ module avail
---------------- /cvmfs/sft-nightlies-test.cern.ch/lcg/bits/x86_64-el9-gcc13-opt/Modules/modulefiles -----------------
alibuild-recipe-tools/0.2.5-1  BASE/1.0  ninja/fortran-v1.11.1.g9-1  

------------------------------------------- /usr/share/Modules/modulefiles -------------------------------------------
dot  module-git  module-info  modules  null  use.own  

Key:
modulepath  
[nlanggut@pcepsft17 bits]$ module load ninja/fortran-v1.11.1.g9-1 
Loading ninja/fortran-v1.11.1.g9-1
  Loading requirement: BASE/1.0
[nlanggut@pcepsft17 bits]$ which ninja
/cvmfs/sft-nightlies-test.cern.ch/lcg/bits/x86_64-el9-gcc13-opt/Packages/ninja/fortran-v1.11.1.g9-1/bin/ninja
[nlanggut@pcepsft17 bits]$ module unload ninja/fortran-v1.11.1.g9-1 
Unloading ninja/fortran-v1.11.1.g9-1
  Unloading useless requirement: BASE/1.0

Then I tried doing the same with bits, specifying my architecture manually and querying which modules were available with bits q, trying to load a module with bits load, which is where I ran into an issue:

[nlanggut@pcepsft17 bits]$ bits -a x86_64-el9-gcc13-opt q
VO_ALICE@BASE::1.0
VO_ALICE@alibuild-recipe-tools::0.2.5-1
VO_ALICE@BASE::1.0
VO_ALICE@ninja::fortran-v1.11.1.g9-1
[nlanggut@pcepsft17 bits]$ bits -a x86_64-el9-gcc13-opt load VO_ALICE@ninja::fortran-v1.11.1.g9-1
Use bits list to list loaded modules.
Loading ninja/fortran-v1.11.1.g9-1
  Loading requirement: BASE/1.0
PATH=/afs/cern.ch/user/n/nlanggut/bits/bits/sw/x86_64-el9-gcc13-opt/ninja/fortran-v1.11.1.g9-1/bin:/afs/cern.ch/user/n/nlanggut/.cargo/bin:/afs/cern.ch/user/n/nlanggut/scripts:/afs/cern.ch/user/n/nlanggut/.cargo/bin:/afs/cern.ch/user/n/nlanggut/.local/bin:/afs/cern.ch/user/n/nlanggut/bin:/usr/sue/bin:/usr/share/Modules/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin:/opt/puppetlabs/bin; export PATH;
__MODULES_LMALTNAME=BASE/1.0\&as\|BASE/default\&as\|BASE/latest:ninja/fortran-v1.11.1.g9-1\&as\|ninja/default\&as\|ninja/latest; export __MODULES_LMALTNAME;
__MODULES_LMPREREQ=ninja/fortran-v1.11.1.g9-1\&BASE/1.0; export __MODULES_LMPREREQ;
_LMFILES_=/afs/cern.ch/user/n/nlanggut/bits/bits/sw/MODULES/x86_64-el9-gcc13-opt/BASE/1.0:/cvmfs/sft-nightlies-test.cern.ch/lcg/bits/x86_64-el9-gcc13-opt/Modules/modulefiles/ninja/fortran-v1.11.1.g9-1; export _LMFILES_;
LOADEDMODULES=BASE/1.0:ninja/fortran-v1.11.1.g9-1; export LOADEDMODULES;
BASEDIR=/afs/cern.ch/user/n/nlanggut/bits/bits/sw/x86_64-el9-gcc13-opt; export BASEDIR;
__MODULES_LMTAG=BASE/1.0\&auto-loaded; export __MODULES_LMTAG;
test 0;
[nlanggut@pcepsft17 bits]$ bits -a x86_64-el9-gcc13-opt list
No Modulefiles Currently Loaded.
[nlanggut@pcepsft17 bits]$ which ninja
/usr/bin/which: no ninja in (/afs/cern.ch/user/n/nlanggut/.cargo/bin:/afs/cern.ch/user/n/nlanggut/scripts:/afs/cern.ch/user/n/nlanggut/.cargo/bin:/afs/cern.ch/user/n/nlanggut/.local/bin:/afs/cern.ch/user/n/nlanggut/bin:/usr/sue/bin:/usr/share/Modules/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin:/opt/puppetlabs/bin)

aliPublish.conf

---
s3_endpoint_url: https://s3.cern.ch
s3_bucket: bucketofpieces
base_url: https://s3.cern.ch/bucketofpieces/
base_prefix: TARS

http_ssl_verify: True

architectures:
  x86_64-el9-gcc13-opt:
    CVMFS: x86_64-el9-gcc13-opt
include:
  ninja: True

cvmfs_repository: sft-nightlies-test.cern.ch
cvmfs_package_dir: /cvmfs/sft-nightlies-test.cern.ch/lcg/bits/%(arch)s/Packages/%(package)s/%(version)s
cvmfs_modulefile: /cvmfs/sft-nightlies-test.cern.ch/lcg/bits/%(arch)s/Modules/modulefiles/%(package)s/%(version)s

BASE/1.0

#%Module1.0#####################################################################
##
## lcg.bits - versions modulefile
##

proc ModulesHelp { } {
        global version
        puts stderr "Common base module for LCG modules."
}

set     version         1.0

module-whatis   "ALICE versions module for ALICE software."

set base_path [string map "Modules/modulefiles/BASE/$version Packages" $ModulesCurrentModulefile]
if { $base_path == $ModulesCurrentModulefile } {
  set base_path /cvmfs/sft-nightlies-test.cern.ch/lcg/bits/x86_64-el9-gcc13-opt/Packages
}

## -- BASE DIRECTORYS --
setenv          BASEDIR              $base_path

set     osname          [uname sysname]
set     osarchitecture  [uname machine]

if { $osarchitecture == "x86_64" } {
        setenv  ALICE_TARGET       linuxx8664gcc
        setenv  ALICE_TARGET_EXT   linuxx8664gcc
        setenv  SYSTEM_LIBPATH     lib64
} elseif { $osarchitecture == "i686" } {
        setenv  ALICE_TARGET    linux
        setenv  ALICE_TARGET_EXT   linux
        setenv  SYSTEM_LIBPATH     lib
} else {
        puts stderr "\tYour architecture is $osarchitecture. Please use x86_64 or i686 architecture"
        break
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions