Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compilation error on Solaris-11, use XrdCl logging #87

Merged
merged 6 commits into from
Feb 24, 2014

Conversation

alja
Copy link
Contributor

@alja alja commented Feb 24, 2014

XrdFileCache had its own implementation of logging which had unsupported format of variadic macro (##operator). This caused compilation error on Soalris-11 (see #81).
With this pull request I removed XrdFileCache implementation of logging and used XrdCl::Log.

@ljanyst ljanyst merged commit 070d4be into xrootd:master Feb 24, 2014
@ljanyst
Copy link
Contributor

ljanyst commented Feb 24, 2014

Hi Alja,

thanks! There are still some linking issues on MacOSX:

https://buggybrain.net/tools/zerobin/?136aa9009342e30b#8rHVeUDNNvO27UhytntdpSJLYH2h0aaqZ/KoztsY+AE=

Cheers,
Lukasz

@ljanyst
Copy link
Contributor

ljanyst commented Feb 24, 2014

The lib is underlinked:

]==> ldd -r libXrdFileCache.so
    linux-vdso.so.1 =>  (0x00007fff9635b000)
    libXrdCl.so.1 => /home/ljanyst/Projects/xroot/code/master/build/src/XrdCl/libXrdCl.so.1 (0x00007f43e10d1000)
    libXrdUtils.so.1 => /home/ljanyst/Projects/xroot/code/master/build/src/libXrdUtils.so.1 (0x00007f43e0e57000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f43e0c17000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f43e0913000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f43e06fc000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f43e0334000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f43e0130000)
    libevent-2.0.so.5 => /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5 (0x00007f43dfeeb000)
    libevent_pthreads-2.0.so.5 => /usr/lib/x86_64-linux-gnu/libevent_pthreads-2.0.so.5 (0x00007f43dfce8000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f43dfae0000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f43e15b3000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f43df7db000)
    libevent_core-2.0.so.5 => /usr/lib/x86_64-linux-gnu/libevent_core-2.0.so.5 (0x00007f43df5b2000)
undefined symbol: _ZTV9XrdOssSys    (./libXrdFileCache.so)
undefined symbol: OssEroute (./libXrdFileCache.so)
undefined symbol: _ZN9XrdOssSysC1Ev (./libXrdFileCache.so)
undefined symbol: _ZN9XrdOssSys4InitEP12XrdSysLoggerPKc (./libXrdFileCache.so)

@alja
Copy link
Contributor Author

alja commented Feb 24, 2014

I have fixed the link error on OSX. Can you please send me the error messages in Solaris build?
Thanks, a.

@ljanyst
Copy link
Contributor

ljanyst commented Feb 24, 2014

@alja
Copy link
Contributor Author

alja commented Feb 25, 2014

@abh3
In the filecache code I used flock() to lock cache info file in case someone else outside of xrootd application wants to read it: https://github.com/alja/xrootd/blob/filecache-3/src/XrdFileCache/XrdFileCacheInfo.cc#L104

Solaris build now fails because flock is not portable. I made a wrapper which fixes the problem https://github.com/alja/xrootd/compare/portable_flock.
Before I send new pull request, I would like to be sure that this use case is not already covered in xrootd. Maybe it exist for example if two xrootd servers are running on same machine. Just double checking.

Thanks,
Alja

@xrootd-dev
Copy link

Hi Alja,

Indeed, the class you are looking for that will what you want in a
portable way is called XrdOucSxeq.hh in src/XrdOuc.

Andy

On Tue, 25 Feb 2014, Alja Mrak-Tadel wrote:

@abh3
In the filecache code I used flock() to lock cache info file in case someone else outside of xrootd application wants to read it: https://github.com/alja/xrootd/blob/filecache-3/src/XrdFileCache/XrdFileCacheInfo.cc#L104

Solaris build now fails because flock is not portable. I made a wrapper which fixes the problem https://github.com/alja/xrootd/compare/portable_flock.
Before I send new pull request, I would like to be sure that this use case is not already covered in xrootd. Maybe it exist for example if two xrootd servers are running on same machine. Just double checking.

Thanks,
Alja


Reply to this email directly or view it on GitHub:
#87 (comment)

########################################################################
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

alja referenced this pull request in alja/xrootd Apr 1, 2014
Modifier class to handle coherent process modifications
@alja alja deleted the filecache-3-fix-build branch April 20, 2017 21:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants