Hi all,

 

Finally I got C WS Core examples of Counter Service and BlogService running
perfectly on my Grid nodes. Below is some summary of the process.

Counter Service:

    Client:

1.      download all the source files from website and set the environment

export GLOBUS_LOCATION=/usr/local/globus-4.0.5

source $GLOBUS_LOCATION/etc/globus-user-env.sh

 

2.      generate your own makefile header and run make

The command-line for using globus-makefile-header for this example is:

globus-makefile-header --flavor=FLAVOR globus_c_wsrf_sample_counter_bindings

Where FLAVOR is typically gcc32dbg (on linux systems) or vendorcc32dbg (some
unix systems without gcc).

There is a bug in globus-makefile-header which causes it to leave \\ in some
header path elements. Filter those out with 

globus-makefile-header --flavor=gcc32dbg
globus_c_wsrf_sample_counter_bindings | sed -e 's:\\::g' > makefile_header

This will complain if the bindings package isn't installed.

The Makefile requires the GLOBUS_FLAVOR_NAME macro to be defined, so the
command to build the examples is:

make -f Makefile.example GLOBUS_FLAVOR_NAME=gcc32dbg

3.      run

a.      start container: $GLOBUS_LOCATION/bin/globus-wsc-container -port
8080
b.      run counter client: ./create-count
<https://debiangrid002:8080/wsrf/services/CounterService>
https://debianGrid002:8080/wsrf/services/CounterService counter.xml

note:

1.      if gcc32dbg is not installed, run

gpt-build --nosrc gcc32dbg

2.      if the above instructions don't work, maybe you're hitting this bug:

 <http://bugzilla.globus.org/> http://bugzilla.globus.org/
bugzilla/show_bug.cgi?id=4659. In brief, that bug causes the packaging
system to omit generated headers from the binary installers.

 

Some possible solutions:

- Upgrade to 4.0.4 or higher which contain a workaround for this bug

(4.0.6 is the current):  <http://www.globus.org/ftppub/gt4/4.0/4.0.6/>
http://www.globus.org/ftppub/gt4/4.0/4.0.6/

installers/bin/

- Build GT 4.0.x from a source installer

 

Blog Service:

    Client(dir: /usr/local/globus-4.0.1/share/schema/tutorials/blog):

1. export GLOBUS_LOCATION=/usr/local/globus-4.0.1

2. source $GLOBUS_LOCATION/etc/globus-user-env.sh

3. Generate Service Bndings:

$GLOBUS_LOCATION/bin/globus-wsrf-cgen -no-service -s blog_client -flavor
gcc32dbg -d bindings blog_service.wsdl 

4. Build Client Bindings:

$GLOBUS_LOCATION/sbin/gpt-build bindings/blog_client_bindings-1.2.tar.gz
gcc32dbg 

5. $GLOBUS_LOCATION/bin/globus-makefile-header --flavor=gcc32dbg
blog_client_bindings > BlogClientMakefile.include 

6. make 

7. $./create-blog https://debianGrid002:32768/wsrf/service/BlogService test
ade erp.xml

 

    Server(dir: /usr/local/globus-4.0.1/share/schema/tutorials/blog):

1. export GLOBUS_LOCATION=/usr/local/globus-4.0.1

2. source $GLOBUS_LOCATION/etc/globus-user-env.sh

3. $GLOBUS_LOCATION/bin/globus-wsrf-cgen -no-client -s blog_service -flavor
gcc32dbg -d bindings blog_service.wsdl 

4. copy the implemented BlogService_skeleton.c to bindings/BlogService

5. make dist

6. $GLOBUS_LOCATION/sbin/gpt-build bindings/blog_service_bindings-1.2.tar.gz
gcc32dbg 

7. $GLOBUS_LOCATION/bin/globus-wsc-container

Output:

Contact:  <https://debiangrid002:32768/> https://debianGrid002:32768/

    note:

1.      if you got some errors as below when generating Client/Service
Bindings,

output:

Creating Bindings Package

Error: Failed to configure build package

       See /usr/local/globus-4.0.1/share/schema/tutorials/blog/ 

bindings/configure.log for further info

configure.log:

/usr/local/globus-4.0.1/bin/globus-wsrf-cgen: line 447: ./ 

configure: No such file or directory

then try:

Download:

 
<http://www.globus.org/ftppub/gt4/4.0/4.0.1/gpt/gpt-3.2autotools2004-src.tar
.gz>
http://www.globus.org/ftppub/gt4/4.0/4.0.1/gpt/gpt-3.2autotools2004-src.tar.
gz

 

tar zxf gpt-3.2autotools2004-src.tar.gz

cd gpt-3.2autotools2004

./build_gpt

 

Download:

 
<http://www.globus.org/ftppub/gt4/4.0/4.0.0/gpt/autotools-for-gpt3.2autotool
s2004.tar.gz>
http://www.globus.org/ftppub/gt4/4.0/4.0.0/gpt/autotools-for-gpt3.2autotools
2004.tar.gz

 

tar zxf autotools-for-gpt3.2autotools2004.tar.gz

./install-autotools PATH

 

with PATH being where you want the patched autotools to be installed

 

Then add that PATH to your $PATH environment variable, and you should be
able to build the source package.

 

My Globus configuration:

Debian 3.1 r0a "Sarge"

Globus 4.0.5 Binary

$GLOBUS_LOCATION=/usr/local/globus-4.0.1

 

Regards,

Denny Yin

Reply via email to