Comment 2 for bug 703897

Revision history for this message
wvengen (wvengen) wrote :

Thanks for looking into this. At the time I investigated the problem and found that something with an openssl callback didn't work as it should, causing the unknown CA error message. The relevant CA was installed, you can see the locally compiled gt5.0.2 invocation succeeding.

What you mention about version numbers is interesting. And the problem is indeed still occuring on 11.04:
  $ globus-url-copy gsiftp://host/file file:///tmp/q
  error: globus_ftp_client: the server responded with an error
  535 Authentication failed: GSSException: Failure unspecified at GSS-API level [Caused by: Unknown CA]
while an strace shows that the correct files from /etc/grid-security/certificates are found and read. Binaries built from upstream's gt5.0.2 do work still.

Further investigation shows that Ubuntu's libglobus_gssapi_gsi.so.4 is the culprit; when using upstream's libglobus_gssapi_gsi_gcc64dbg.so.0 (LD_LIBRARY_PATH with symlinks) the same binary works:

  $ globus-url-copy gsiftp://host/file file:///tmp/q && wc -l /tmp/q
  error: globus_ftp_client: the server responded with an error
  535 Authentication failed: GSSException: Failure unspecified at GSS-API level [Caused by: Unknown CA]
  $ ldd /usr/bin/globus-url-copy | grep -v '=> \(/usr\)\?/lib'
 linux-vdso.so.1 => (0x00007fffb9cd5000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fa235081000)
  $ mkdir /tmp/foo && cd /tmp/foo
  $ cp /tmp/prefix-gt5.0.2-orig/lib/libglobus_gssapi_gsi_gcc64dbg.so.0 libglobus_gssapi_gsi.so.4
  $ ldd libglobus_gssapi_gsi.so.4 | sed 's!^\s*\(\(.*\)_gcc.*\.so.*\) => not found!ln -s /usr/lib/\2.so.? \1!p;d' >dolink.sh && sh dolink.sh
  $ LD_LIBRARY_PATH=/tmp/foo ldd /usr/bin/globus-url-copy | grep -v '=> \(/usr\)\?/lib'
 linux-vdso.so.1 => (0x00007fffb05ff000)
 libglobus_gssapi_gsi.so.4 => /tmp/foo/libglobus_gssapi_gsi.so.4 (0x00007f87cc4e7000)
 /lib64/ld-linux-x86-64.so.2 (0x00007f87cd5e2000)
  $ LD_LIBRARY_PATH=/tmp/foo globus-url-copy gsiftp://host/file file:///tmp/q && wc -l /tmp/q
  3 /tmp/q

Comparing the source files between Ubuntu's globus-gssapi-gsi-7.5/library/* and /tmp/gt5.0.2-all-source-installer/source-trees/gsi/gssapi/source/library/ did not show any difference, however. I'll see if I can find anything more, but if you have any ideas they would be welcome.