@jhiemstrawisc noticed that if Pelican-specific XRootD plugins are not in the environment, this is not noticed they're used. In some cases (libXrdHttpPelican, libXrdOssS3), this may cause XRootD to fail startup with difficult-to-understand error messages. In other cases (libXrdClPelican), XRootD starts fine and the missing plugin isn't noticed until objects are downloaded.
In the cache configuration code, check for their existence and give a clearer error message.
Note that XRootD automatically adds the major version to the plugin name. So, libXrdHttpPelican.so in the config file will be libXrdHttpPelican-5.so on disk.
Search the dynamic loader paths for the appropriate plugin names according to the rules for the platform. This may include /etc/ld.so.conf and friends on Linux and multiple environment variables.
@jhiemstrawisc noticed that if Pelican-specific XRootD plugins are not in the environment, this is not noticed they're used. In some cases (libXrdHttpPelican, libXrdOssS3), this may cause XRootD to fail startup with difficult-to-understand error messages. In other cases (libXrdClPelican), XRootD starts fine and the missing plugin isn't noticed until objects are downloaded.
In the cache configuration code, check for their existence and give a clearer error message.
Note that XRootD automatically adds the major version to the plugin name. So,
libXrdHttpPelican.soin the config file will belibXrdHttpPelican-5.soon disk.Search the dynamic loader paths for the appropriate plugin names according to the rules for the platform. This may include
/etc/ld.so.confand friends on Linux and multiple environment variables.