Bug 3215 - RLS client portability improvements
: RLS client portability improvements
Status: RESOLVED FIXED
: Replica Location
RLS
: development
: RS/6000 AIX
: P3 normal
: ---
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2005-04-22 19:14 by
Modified: 2006-05-31 19:47 (History)


Attachments
Patch described above (3.58 KB, patch)
2005-04-22 19:15, Mats Rynge
Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-04-22 19:14:48
I will attach a patch which does the following to improve portability of the
rls
client code:

 - Moved globus includes above system includes. The general
   rule is that you need at least globus_config.h (usually 
   included from globus_common.h or any other globus header
   file) before any system headers in order to take advantage
   of the platform detection globus_core has done.

 - Included signal.h in globus_rls_client.h. This is needed
   for sigset on MacOS X.

 - Changed C++ style comments to C style. Picky compilers 
   (Visual Age for AIX in this case) do not allow C++
   comments in C code.
------- Comment #1 From 2005-04-22 19:15:17 -------
Created an attachment (id=587) [details]
Patch described above
------- Comment #2 From 2005-04-23 22:52:37 -------
MacOS X still doesn't work:

make[2]: Entering directory
`/Users/condor/execute/dir_397/userdir/globus-installer/source-trees/replica/rls/client'
/usr/bin/gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"globus_rls_client\"
-DVERSION=\"4.0\"  -I.
-I/Users/condor/execute/dir_397/userdir/globus-installer/source-trees/replica/rls/client
./library  -I/Users/condor/execute/dir_397/userdir/install/include
-I/Users/condor/execute/dir_397/userdir/install/include/gcc32dbg -I/sw/include
-no-cpp-precomp -I/sw/include  -g   -fno-common -I/sw/include -DBIND_8_COMPAT
-Wall -c cli.c
cli.c: In function `main':
cli.c:293: warning: implicit declaration of function `sigset'
cli.c:399: warning: control reaches end of non-void function
gcc: ./library: linker input file unused because linking not done
/bin/sh /Users/condor/execute/dir_397/userdir/install/sbin/libtool-gcc32dbg
--mode=link /usr/bin/gcc  -g   -fno-common -I/sw/include -DBIND_8_COMPAT -Wall 
-L/Users/condor/execute/dir_397/userdir/install/lib -L/sw/lib -L/sw/lib -o
globus-rls-cli -L/Users/condor/execute/dir_397/userdir/install/lib  cli.o
./library/libglobus_rls_client_gcc32dbg.la -lglobus_io_gcc32dbg
-lglobus_xio_gcc32dbg -lgssapi_error_gcc32dbg -lglobus_gss_assist_gcc32dbg
-lglobus_gssapi_gsi_gcc32dbg -lglobus_gsi_proxy_core_gcc32dbg
-lglobus_gsi_credential_gcc32dbg -lglobus_gsi_callback_gcc32dbg
-lglobus_oldgaa_gcc32dbg -lglobus_gsi_sysconfig_gcc32dbg
-lglobus_gsi_cert_utils_gcc32dbg -lglobus_openssl_gcc32dbg
-lglobus_openssl_error_gcc32dbg -lglobus_callout_gcc32dbg
-lglobus_proxy_ssl_gcc32dbg -lglobus_common_gcc32dbg -lssl_gcc32dbg
-lcrypto_gcc32dbg -lltdl_gcc32dbg   -lm  
mkdir .libs
/usr/bin/gcc -g -fno-common -I/sw/include -DBIND_8_COMPAT -Wall -o
.libs/globus-rls-cli cli.o  -L/Users/condor/execute/dir_397/userdir/install/lib
-L/sw/lib ./library/.libs/libglobus_rls_client_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_io_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_xio_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libgssapi_error_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gss_assist_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gssapi_gsi_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gsi_proxy_core_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gsi_credential_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gsi_callback_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_oldgaa_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gsi_sysconfig_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_gsi_cert_utils_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_openssl_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_openssl_error_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_callout_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_proxy_ssl_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libglobus_common_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libssl_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libcrypto_gcc32dbg.dylib
/Users/condor/execute/dir_397/userdir/install/lib/libltdl_gcc32dbg.dylib -lm
ld: Undefined symbols:
_sigset
make[2]: *** [globus-rls-cli] Error 1


I'll look at this later on.
------- Comment #3 From 2005-04-25 18:40:00 -------
Aha, sigset is not a POSIX interface. See

  http://www.geocenter.com/news/xserve_portingNotes.html

I recommend switching to sigaction.
------- Comment #4 From 2006-05-31 19:47:10 -------
OK. Mats' efforts are now reflected in the CVS repository! :-) I've committed
to globus_4_0_branch and trunk.

As for the sigset/sigaction issue. That is being tracked in bug 2601.
------- Comment #5 From 2006-05-31 19:50:03 -------
Subject: Re:  RLS client portability improvements

I am on vacation now. I will be back in the office on Thursday, June 8th. I
will read all pending emails then.