Bug 4348 - globus-makefile-header generates invalid makefile for Index Service bindings
: globus-makefile-header generates invalid makefile for Index Service bindings
: Toolkit Internals
: development
: PC Linux
: P3 normal
: 4.0.7
Assigned To:
  Show dependency treegraph
Reported: 2006-04-17 04:56 by
Modified: 2008-02-20 10:04 (History)



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

Description From 2006-04-17 04:56:09
globus-makefile-header generates invalid makefile for Index Service bindings

I call globus-makefile-header which includes index_service_bindings.
It generate invalid makefile. The generated makefile causes compile errors.

$ globus-makefile-header --flavor=gcc32dbgpthr \
    globus_common globus_c_ws_messaging index_service_bindings

nclude/\$(GLOBUS_FLAVOR_NAME)/wsrf/services -g -D_REENTRANT -Wall
GLOBUS_LIBS = -lpthread

  - backslash characters are appeared.
  - Unknown variable $GLOBUS_FLAVOR_NAME is appeared.

I drop index_service_bindings module by argument, above incorrect
Makefile was not appeared.

Machine : Pentium 4, Red Hat Linux 9.

I installed GT4 Index Service C bindings by following commands.
(On Apr 14 2006)

$ cvs co -r globus_4_0_branch packaging
$ fait_accompli/installer.sh

$ export GLOBUS_LOCATION=$PWD/gt402tmp
$ cd gt4.0.2-all-source-installer
$ ./configure --prefix=$GLOBUS_LOCATION --enable-prewsmds
$ make 
$ make install
$ make globus_c_wsrf_core_bindings-thr
$ make globus_handler_ws_addressing-thr

$ $GLOBUS_LOCATION/bin/globus-wsrf-cgen -no-service
    -s index_service -flavor gcc32dbg -d $PWD/bindings

$ $GLOBUS_LOCATION/sbin/gpt-build
    $PWD/bindings/index_service_bindings-1.2.tar.gz gcc32dbgpthr

The install was successful. 

In addition, Globus Toolkit 4.0.1 package of globus-makefile-header
and Index Service bindings are working well.
------- Comment #1 From 2006-11-13 14:02:14 -------
So line 505 of globus-makefile-header from an installed GT 4.0.3 (from binary)
on Mac OS 10.4.8 looks like this:

        $value =~ s/\$GLOBUS_FLAVOR_NAME/$flavor/g;

I think that is necessary, but not sufficient. I find that if I add
the following line right after that one

        $value =~ s/\\\$\(GLOBUS_FLAVOR_NAME\)/$flavor/g;

then I do not get "\$(GLOBUS_FLAVOR_NAME)" in the output from
globus-makefile-header for the GLOBUS_CFLAGS definition.
------- Comment #2 From 2008-02-20 10:04:32 -------
Fixed in 4.0 branch and trunk.