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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions