Print

Print


I think RUNPATH is fine - it does mean that users could override the library if they wanted to (and when installing on a host which has xrootd, maybe that's a good thing, ignoring versioning issues?).

$ORIGIN is Unix-specific, and refers to the current library for which external symbols are being resolved. In a "typical" install, setting RUNPATH=$ORIGIN/lib would allow the developer to bundle dependencies into the lib folder. The problem here is (I think) that the extension module (client) is placed in the wrong location with respect to its RUNPATH. Of course it could be that the RUNPATH is wrong, but I'm not so sure. On Scientific Linux the layout on disk is what I expect, the RPATH points to the correct place ( RPATH $ORIGIN/lib64) and given the legacy build chain I am inclined to assume that the issue lies there rather than in a Python packaging platform-dependency, but I could be wrong!

tree
of
site-packages
/home/user/.local/lib/python3.6/site-packages |-- XRootD | |-- __init__.py | |-- __pycache__ | | `-- __init__.cpython-36.pyc | `-- client | |-- __init__.py | |-- __pycache__ | | |-- __init__.cpython-36.pyc | | |-- _version.cpython-36.pyc | | |-- copyprocess.cpython-36.pyc | | |-- env.cpython-36.pyc | | |-- file.cpython-36.pyc | | |-- filesystem.cpython-36.pyc | | |-- finalize.cpython-36.pyc | | |-- flags.cpython-36.pyc | | |-- glob_funcs.cpython-36.pyc | | |-- responses.cpython-36.pyc | | |-- url.cpython-36.pyc | | `-- utils.cpython-36.pyc | |-- _version.py | |-- copyprocess.py | |-- env.py | |-- file.py | |-- filesystem.py | |-- finalize.py | |-- flags.py | |-- glob_funcs.py | |-- responses.py | |-- url.py | `-- utils.py |-- pyxrootd | |-- __init__.py | |-- __pycache__ | | `-- __init__.cpython-36.pyc | |-- client.cpython-36m-x86_64-linux-gnu.so | |-- include | | `-- xrootd | | |-- XProtocol | | | |-- XProtocol.hh | | | `-- XPtypes.hh | | |-- Xrd | | | |-- XrdBuffer.hh | | | |-- XrdJob.hh | | | |-- XrdLink.hh | | | |-- XrdLinkMatch.hh | | | |-- XrdProtocol.hh | | | |-- XrdScheduler.hh | | | `-- XrdTcpMonPin.hh | | |-- XrdCl | | | |-- XrdClAnyObject.hh | | | |-- XrdClBuffer.hh | | | |-- XrdClConstants.hh | | | |-- XrdClCopyProcess.hh | | | |-- XrdClDefaultEnv.hh | | | |-- XrdClEnv.hh | | | |-- XrdClFile.hh | | | |-- XrdClFileSystem.hh | | | |-- XrdClFileSystemUtils.hh | | | |-- XrdClLog.hh | | | |-- XrdClMonitor.hh | | | |-- XrdClOptional.hh | | | |-- XrdClPlugInInterface.hh | | | |-- XrdClPlugInManager.hh | | | |-- XrdClPropertyList.hh | | | |-- XrdClStatus.hh | | | |-- XrdClURL.hh | | | `-- XrdClXRootDResponses.hh | | |-- XrdHttp | | | `-- XrdHttpSecXtractor.hh | | |-- XrdNet | | | |-- XrdNet.hh | | | |-- XrdNetAddr.hh | | | |-- XrdNetAddrInfo.hh | | | |-- XrdNetCmsNotify.hh | | | |-- XrdNetConnect.hh | | | |-- XrdNetOpts.hh | | | |-- XrdNetSockAddr.hh | | | |-- XrdNetSocket.hh | | | `-- XrdNetUtils.hh | | |-- XrdOuc | | | |-- XrdOucBuffer.hh | | | |-- XrdOucCRC.hh | | | |-- XrdOucCacheCM.hh | | | |-- XrdOucCacheStats.hh | | | |-- XrdOucCallBack.hh | | | |-- XrdOucChain.hh | | | |-- XrdOucCompiler.hh | | | |-- XrdOucDLlist.hh | | | |-- XrdOucEnum.hh | | | |-- XrdOucEnv.hh | | | |-- XrdOucErrInfo.hh | | | |-- XrdOucGMap.hh | | | |-- XrdOucHash.hh | | | |-- XrdOucHash.icc | | | |-- XrdOucIOVec.hh | | | |-- XrdOucLock.hh | | | |-- XrdOucName2Name.hh | | | |-- XrdOucPinObject.hh | | | |-- XrdOucPinPath.hh | | | |-- XrdOucRash.hh | | | |-- XrdOucRash.icc | | | |-- XrdOucSFVec.hh | | | |-- XrdOucStream.hh | | | |-- XrdOucString.hh | | | |-- XrdOucTList.hh | | | |-- XrdOucTable.hh | | | |-- XrdOucTokenizer.hh | | | |-- XrdOucTrace.hh | | | |-- XrdOucUtils.hh | | | `-- XrdOuca2x.hh | | |-- XrdSec | | | |-- XrdSecAttr.hh | | | |-- XrdSecEntity.hh | | | |-- XrdSecEntityAttr.hh | | | |-- XrdSecEntityPin.hh | | | `-- XrdSecInterface.hh | | |-- XrdSys | | | |-- XrdSysAtomics.hh | | | |-- XrdSysError.hh | | | |-- XrdSysFD.hh | | | |-- XrdSysHeaders.hh | | | |-- XrdSysLogPI.hh | | | |-- XrdSysLogger.hh | | | |-- XrdSysPageSize.hh | | | |-- XrdSysPlatform.hh | | | |-- XrdSysPlugin.hh | | | |-- XrdSysPthread.hh | | | |-- XrdSysSemWait.hh | | | |-- XrdSysTimer.hh | | | |-- XrdSysXAttr.hh | | | `-- XrdSysXSLock.hh | | |-- XrdVersion.hh | | |-- XrdXml | | | `-- XrdXmlReader.hh | | |-- XrdXrootd | | | |-- XrdXrootdBridge.hh | | | |-- XrdXrootdGStream.hh | | | `-- XrdXrootdMonData.hh | | `-- private | | |-- Xrd | | | `-- XrdPoll.hh | | |-- XrdCl | | | |-- XrdClArg.hh | | | |-- XrdClCtx.hh | | | |-- XrdClFileOperations.hh | | | |-- XrdClFileSystemOperations.hh | | | |-- XrdClFinalOperation.hh | | | |-- XrdClFwd.hh | | | |-- XrdClMessage.hh | | | |-- XrdClOperationHandlers.hh | | | |-- XrdClOperationTimeout.hh | | | |-- XrdClOperations.hh | | | |-- XrdClParallelOperation.hh | | | |-- XrdClPostMaster.hh | | | |-- XrdClPostMasterInterfaces.hh | | | |-- XrdClResponseJob.hh | | | |-- XrdClTransportManager.hh | | | |-- XrdClZipArchive.hh | | | |-- XrdClZipCache.hh | | | `-- XrdClZipOperations.hh | | |-- XrdNet | | | |-- XrdNetBuffer.hh | | | |-- XrdNetIF.hh | | | `-- XrdNetPeer.hh | | |-- XrdOuc | | | |-- XrdOucExport.hh | | | |-- XrdOucGatherConf.hh | | | |-- XrdOucN2NLoader.hh | | | `-- XrdOucPList.hh | | |-- XrdPosix | | | `-- XrdPosixMap.hh | | |-- XrdSecsss | | | `-- XrdSecsssID.hh | | |-- XrdSys | | | `-- XrdSysPriv.hh | | `-- XrdZip | | |-- XrdZipCDFH.hh | | |-- XrdZipEOCD.hh | | |-- XrdZipExtra.hh | | |-- XrdZipLFH.hh | | |-- XrdZipUtils.hh | | |-- XrdZipZIP64EOCD.hh | | `-- XrdZipZIP64EOCDL.hh | |-- lib64 | | |-- libXrdAppUtils.so -> libXrdAppUtils.so.2 | | |-- libXrdAppUtils.so.2 -> libXrdAppUtils.so.2.0.0 | | |-- libXrdAppUtils.so.2.0.0 | | |-- libXrdCl.so -> libXrdCl.so.3 | | |-- libXrdCl.so.3 -> libXrdCl.so.3.0.0 | | |-- libXrdCl.so.3.0.0 | | |-- libXrdClProxyPlugin-5.so | | |-- libXrdCrypto.so -> libXrdCrypto.so.2 | | |-- libXrdCrypto.so.2 -> libXrdCrypto.so.2.0.0 | | |-- libXrdCrypto.so.2.0.0 | | |-- libXrdCryptoLite.so -> libXrdCryptoLite.so.2 | | |-- libXrdCryptoLite.so.2 -> libXrdCryptoLite.so.2.0.0 | | |-- libXrdCryptoLite.so.2.0.0 | | |-- libXrdCryptossl-5.so | | |-- libXrdSec-5.so | | |-- libXrdSecProt-5.so | | |-- libXrdSecgsi-5.so | | |-- libXrdSecgsiAUTHZVO-5.so | | |-- libXrdSecgsiGMAPDN-5.so | | |-- libXrdSeckrb5-5.so | | |-- libXrdSecpwd-5.so | | |-- libXrdSecsss-5.so | | |-- libXrdSecunix-5.so | | |-- libXrdUtils.so -> libXrdUtils.so.3 | | |-- libXrdUtils.so.3 -> libXrdUtils.so.3.0.0 | | |-- libXrdUtils.so.3.0.0 | | |-- libXrdXml.so -> libXrdXml.so.3 | | |-- libXrdXml.so.3 -> libXrdXml.so.3.0.0 | | `-- libXrdXml.so.3.0.0 | `-- share | `-- man | |-- man1 | | `-- xrdadler32.1 | `-- man8 | `-- mpxstats.8 `-- xrootd-5.4.2-py3.6.egg-info |-- METADATA |-- RECORD `-- WHEEL
SL7 Dockerfile FROM scientificlinux/sl:7

RUN yum update -y &&
yum install -y yum-conf-repos &&
yum install -y yum-conf-softwarecollections epel-release &&
yum install -y
cmake3
make
libuuid-devel
libxml2-devel
openssl-devel
systemd-devel
zlib-devel
devtoolset-7-gcc-c++
python3-devel
python3-setuptools
yum clean all &&
python3 -m pip install --no-cache-dir --upgrade pip setuptools wheel

WORKDIR /
RUN useradd -m user
USER user
RUN source scl_source enable devtoolset-7 &&
python3 -m pip install --user --verbose 'xrootd==5.4.2' &&
python3 -m pip list

RUN python3 -m pip list &&
python3 -m pip show xrootd &&
python3 -c 'import XRootD; print(XRootD)' &&
python3 -c 'import pyxrootd; print(pyxrootd)' &&
python3 -c 'from XRootD import client'

Set PATH to pickup virtualenv by default


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <xrootd/xrootd/issues/1668/1090082291@github.com>

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/1668#issuecomment-1090082291", "url": "https://github.com/xrootd/xrootd/issues/1668#issuecomment-1090082291", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1