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