Skip to content

Problem with rucio upload / python3-gfal2 libs in the dune-workflow Spack environment #1045

@StevenCTimm

Description

@StevenCTimm

Attempts to test rucio upload with the spack environment found in

. /cvmfs/dune.opensciencegrid.org/spack/setup-env.sh
spack env activate dune-workflow

cause the rucio upload to fail with the following error:

So there appears to be a problem with rucio upload in the dune-workflow spack environment. Both calling Justin-rucio-upload or doing rucio upload from the CLI I get the problem: 2025-12-18 13:45:55,290 ERROR One dependency is missing.
Details: Missing dependency : gfal2
1:49
That is the case even though the gfal2.so is sitting there in site-packages just like it ought to be.
1:49
and I've verified that it's in the PYTHONPATH
1:50
now a straight import in the spack environment gives:
1:50
[dunepro@duneopsgpvm01 ~]$ python3
Python 3.13.5 (main, Nov 10 2025, 13:19:03) [GCC 12.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import gfal2
SystemError: type Boost.Python.enum has the Py_TPFLAGS_HAVE_GC flag but has no traverse function
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "", line 1, in
import gfal2
SystemError: initialization of gfal2 raised unreported exception

Comparing this to a non-spack situation and the older spack 0.21 environment which used python 3.9

51
whereas with python 3.9 (system python on alma9) I can do the following:
1:52
(ruciov38_3) python3
Python 3.9.23 (main, Aug 19 2025, 00:00:00)
[GCC 11.5.0 20240719 (Red Hat 11.5.0-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.

import gfal2

1:53
and with the version 0.21.2.dev0 of spack which was the one in larsoft.opensciencegrid.org/spack-packages
1:54
that also brings up a python 3.9 and that is also happy.
1:55
So: python3-gfal2 rpm is actually built against python 3.9, system python on EL9 (edited)
1:56
it's not clear to me where Spack gets it from
1:58
but wherever it is, it's got an issue with the boost once it gets to python 3.13.5

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