Hello,
We have encountered what looks like a bug while building Xrootd that
seems to be triggered by having a long git tag.
Here is a build log snippet:
Building CXX object
src/CMakeFiles/XrdFileCache.dir/XrdFileCache/XrdFileCacheFactory.cc.o
[ 97%] [ 97%] [ 97%] [ 97%] Building CXX object
src/CMakeFiles/XrdFileCache.dir/XrdFileCache/XrdFileCacheIOEntireFile.cc.o
Building CXX object
src/CMakeFiles/XrdFileCache.dir/XrdFileCache/XrdFileCacheIOFileBlock.cc.o
Building CXX object
src/CMakeFiles/XrdFileCache.dir/XrdFileCache/XrdFileCachePrefetch.cc.o
Building CXX object
src/CMakeFiles/XrdFileCache.dir/XrdFileCache/XrdFileCacheInfo.cc.o
Linking CXX executable xrdadler32
Linking CXX shared library libXrdPosixPreload.so
Linking CXX shared library libXrdSecgsi.so
[ 97%] Built target XrdPosixPreload
[ 97%] Built target xrdadler32
[ 97%] Built target XrdSecgsi
Linking CXX executable xrdfs
Scanning dependencies of target XrdSecgsiGMAPDN
[ 97%] Building CXX object
src/CMakeFiles/XrdSecgsiGMAPDN.dir/XrdSecgsi/XrdSecgsiGMAPFunDN.cc.o
Linking CXX shared library libXrdFfs.so
/lsst/home/lsstsw/build/xrootd/src/XrdFileCache/XrdFileCacheFactory.cc:49:
error: initializer-string for array of chars is too long
[ 97%] Built target xrdfs
[ 97%] Built target XrdFfs
make[2]: ***
[src/CMakeFiles/XrdFileCache.dir/XrdFileCache/XrdFileCacheFactory.cc.o]
Error 1
make[2]: *** Waiting for unfinished jobs....
The tag we are using is: 4.0.0rc3-qsClient2.lsst1 , which is 24
characters. XrdFileCacheFactory.cc:49 has a line that uses the
XrdVERSIONINFO macro, which apparently joins strings together based on a
discovered git tag. It's interesting that the length limit was only hit
when compiling XrdFileCacheFactory.cc -- I'm sure the macro was
referenced in many parts of code that successfully compiled.
Ideally, I think the code should be robust enough to handle
arbitrarily-long tags. But realistically, I think a warning and some
creative tag shortening: "SomebodysReallyReallyLongTag" -->
"SomebodysRe...gTag" would suffice, and be simpler to implement.
I'm not positive that the issue exists on the mainline xrootd--if there
have been updates to the tag/version handling, I should certainly pull a
new version. The version I'm using is in my repository on github:
wangd/xrootd, tag: qsClient2 (but re-tagged to the long string above).
Have a nice day,
-Daniel
########################################################################
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
|