Difference: ClientApiCppDoc (2 vs. 3)

Revision 32011-06-15 - AlviseDorigo

Line: 1 to 1
 
META TOPICPARENT name="DevelopersDocumentation"
Added:
>
>

[ WORK IN PROGRESS ]

Preliminaries: build machine configuration

 Before developing a CREAM's CLI you must configure properly a SL5_64bit machine with EPEL repositories and basic EMI1 software. Instructions are here:

http://wiki.italiangrid.org/twiki/bin/view/CREAM/SystemAdministratorGuideForEMI1#1_3_Installation .

Here are summarized all the steps described in the link above plus some more rpm to install and other settings:

Changed:
<
<

>
>
\rm /etc/yum.repos.d/dag.repo
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://emisoft.web.cern.ch/emisoft/dist/EMI/1/sl5/x86_64/base/emi-release-1.0.0-1.sl5.noarch.rpm
yum -y install ./emi-release-1.0.0-1.sl5.noarch.rpm
wget http://repository.egi.eu/sw/production/cas/1/current/repo-files/egi-trustanchors.repo -O /etc/yum.repos.d/egi-trustanchors.repo
wget http://forge.cnaf.infn.it/frs/download.php/101/disable_yum.sh
chmod +x [[http://disable_yum.sh/][disable_yum.sh]]
./ [[http://forge.cnaf.infn.it/frs/download.php/101/disable_yum.sh][disable_yum.sh]]
yum clean all; yum update all
yum -y install yum-protectbase.noarch
yum -y install ca-policy-egi-core
yum -y install glite-ce-cream-client-api-c.x86_64
yum -y install glite-lbjp-common-gsoap-plugin
yum -y install boost-devel
yum -y install voms-devel voms-clients
 
Deleted:
<
<
  1. \rm /etc/yum.repos.d/dag.repo
  2. rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
  3. wget http://emisoft.web.cern.ch/emisoft/dist/EMI/1/sl5/x86_64/base/emi-release-1.0.0-1.sl5.noarch.rpm
  4. yum -y install ./emi-release-1.0.0-1.sl5.noarch.rpm
  5. wget http://repository.egi.eu/sw/production/cas/1/current/repo-files/egi-trustanchors.repo -O /etc/yum.repos.d/egi-trustanchors.repo
  6. wget http://forge.cnaf.infn.it/frs/download.php/101/disable_yum.sh
  7. chmod +x disable_yum.sh
  8. ./ disable_yum.sh
  9. yum clean all; yum update all
  10. yum -y install yum-protectbase.noarch
  11. yum -y install ca-policy-egi-core
  12. yum -y install glite-ce-cream-client-api-c.x86_64
  13. yum -y install glite-lbjp-common-gsoap-plugin
  14. yum -y install boost-devel
  15. yum -y install voms-devel voms-clients
 Then, download, build and install gSOAP 2.7.6b from this URL:

https://etics-repository.cern.ch/repository/download/registered/externals/gsoap/2.7.6b/src/

Now create these symlinks:

Changed:
<
<
  • ln -s /usr/lib64/liblog4cpp.so.4 /usr/lib64/liblog4cpp.so
  • ln -s /usr/lib64/libclassad.so.1 /usr/lib64/libclassad.so
  • ln -s /usr/lib64/libclassad_ns.so.1 /usr/lib64/libclassad_ns.so
  • ln -s /usr/lib64/libcares.so.2 /usr/lib64/libcares.so
  • ln -s /usr/lib64/libglobus_common.so.0 /usr/lib64/libglobus_common.so
  • ln -s /usr/lib64/libglobus_gsi_callback.so.0 /usr/lib64/libglobus_gsi_callback.so
  • ln -s /usr/lib64/libglobus_gssapi_gsi.so.4 /usr/lib64/libglobus_gssapi_gsi.so
  • ln -s /usr/lib64/libglobus_gsi_credential.so.1 /usr/lib64/libglobus_gsi_credential.so
  • ln -s /usr/lib64/libltdl.so.3 /usr/lib64/libltdl.so
  • ln -s /usr/lib64/libglobus_oldgaa.so.0 /usr/lib64/libglobus_oldgaa.so
  • ln -s /usr/lib64/libglobus_proxy_ssl.so.1 /usr/lib64/libglobus_proxy_ssl.so
  • ln -s /usr/lib64/libglobus_openssl_error.so.0 /usr/lib64/libglobus_openssl_error.so
  • ln -s /usr/lib64/libglobus_gsi_proxy_core.so.0 /usr/lib64/libglobus_gsi_proxy_core.so
  • ln -s /usr/lib64/libglobus_gsi_cert_utils.so.0 /usr/lib64/libglobus_gsi_cert_utils.so
  • ln -s /usr/lib64/libglobus_gsi_sysconfig.so.1 /usr/lib64/libglobus_gsi_sysconfig.so
  • ln -s /usr/lib64/libglobus_openssl.so.0 /usr/lib64/libglobus_openssl.so
In the attachments you can find small examples that explain how to use the CREAM Client API C++. You must build them by issuing the commands:
>
>
ln -s /usr/lib64/liblog4cpp.so.4 /usr/lib64/liblog4cpp.so
ln -s /usr/lib64/libclassad.so.1 /usr/lib64/libclassad.so
ln -s /usr/lib64/libclassad_ns.so.1 /usr/lib64/libclassad_ns.so
ln -s /usr/lib64/libcares.so.2 /usr/lib64/libcares.so
ln -s /usr/lib64/libglobus_common.so.0 /usr/lib64/libglobus_common.so
ln -s /usr/lib64/libglobus_gsi_callback.so.0 /usr/lib64/libglobus_gsi_callback.so
ln -s /usr/lib64/libglobus_gssapi_gsi.so.4 /usr/lib64/libglobus_gssapi_gsi.so
ln -s /usr/lib64/libglobus_gsi_credential.so.1 /usr/lib64/libglobus_gsi_credential.so
ln -s /usr/lib64/libltdl.so.3 /usr/lib64/libltdl.so
ln -s /usr/lib64/libglobus_oldgaa.so.0 /usr/lib64/libglobus_oldgaa.so
ln -s /usr/lib64/libglobus_proxy_ssl.so.1 /usr/lib64/libglobus_proxy_ssl.so
ln -s /usr/lib64/libglobus_openssl_error.so.0 /usr/lib64/libglobus_openssl_error.so
ln -s /usr/lib64/libglobus_gsi_proxy_core.so.0 /usr/lib64/libglobus_gsi_proxy_core.so
ln -s /usr/lib64/libglobus_gsi_cert_utils.so.0 /usr/lib64/libglobus_gsi_cert_utils.so
ln -s /usr/lib64/libglobus_gsi_sysconfig.so.1 /usr/lib64/libglobus_gsi_sysconfig.so
ln -s /usr/lib64/libglobus_openssl.so.0 /usr/lib64/libglobus_openssl.so
 
Changed:
<
<
COMPILATION: g++ -c -I/usr/local/include <EXAMPLE>.cpp
>
>
 
Changed:
<
<
LINKING:
>
>
In the attachments you can find small examples that explain how to use the CREAM Client API C++. You must build them by issuing the commands:
 
Changed:
<
<
g++ -o <EXAMPLE> <EXAMPLE>.o -lglite_security_gsoap_plugin_276b -lglite_ce_cream_client_soap -lglite_ce_cream_client_util /usr/local/lib/libgsoap++.a -lboost_thread -llog4cpp -lvomsapi -lclassad_ns -lgridsite -lboost_regex
>
>

CLI Development

COMPILATION:
g++ -c -I/usr/local/include <EXAMPLE>.cpp
LINKING:
g++ -o <EXAMPLE> <EXAMPLE>.o -lglite_security_gsoap_plugin_276b \
   -lglite_ce_cream_client_soap -lglite_ce_cream_client_util \
   /usr/local/lib/libgsoap++.a -lboost_thread -llog4cpp \
   -lvomsapi -lclassad_ns -lgridsite -lboost_regex
  [ TO BE CONTINUED ... ]

-- AlviseDorigo - 2011-06-14

Added:
>
>
META FILEATTACHMENT attachment="tryDelegate.cpp" attr="" comment="" date="1308121380" name="tryDelegate.cpp" path="tryDelegate.cpp" size="1341" user="AlviseDorigo" version="1"
META FILEATTACHMENT attachment="tryRegister.cpp" attr="" comment="" date="1308121380" name="tryRegister.cpp" path="tryRegister.cpp" size="3636" user="AlviseDorigo" version="1"
META FILEATTACHMENT attachment="tryStart.cpp" attr="" comment="" date="1308121380" name="tryStart.cpp" path="tryStart.cpp" size="4747" user="AlviseDorigo" version="1"
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback