Print

Print


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