On Wed, Nov 16, 2011 at 12:00, Stuart Martin <[email protected]> wrote:

Hi

> On behalf of the Globus Toolkit 5.2 development team I am pleased to announce 
> the 1st *Beta* version for GT 5.2. We are calling this release GT 5.1.3.  GT 
> 5.1.3 is now feature complete.  The next release will be GT 5.2.0.  So, the 
> time is now to jump in and test this 5.1.3 release and report any problems.  
> We're hoping to release GT 5.2.0 by the end of November.

Just tried building on Mac OS X 10.6.8 and ran into a few problems:

$ ./configure --prefix=$HOME/gt-5.1.3 --with-flavor=gcc64dbg
checking build system type... i386-apple-darwin10.8.0
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.site
$

configure is recognising my system as 32bit. It is however, 64bit capable:

$ sysctl -n hw.cpu64bit_capable
1
$

and as I am requesting a 64bit flavour this could cause problems with
incorrect flags being passed to the compiler. This can be fixed with
updating to a more recent config.guess and config.sub from upstream
(the current version is about 5 years old),
<http://git.savannah.gnu.org/cgit/config.git/tree/>, and updating it
throughout the tree:

$ rm config.guess config.sub
$ wget http://git.savannah.gnu.org/cgit/config.git/plain/config.guess
$ wget http://git.savannah.gnu.org/cgit/config.git/plain/config.sub
$ find . -name config.guess -exec cp config.guess {} \;
$ find . -name config.sub -exec cp config.sub {} \;

With these in place the 64bit system is correctly identified:

$ ./configure --prefix=$HOME/gt-5.1.3 --with-flavor=gcc64dbg
checking build system type... x86_64-apple-darwin10.8.0
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.site
$

The next problem comes when running 'make'

$ make
<snip>
Making install in perl
Making install in scripts
test -z "/Users/ram/gt-5.1.3/sbin" || ../.././install-sh -c -d
"/Users/ram/gt-5.1.3/sbin"
/bin/sh: ../.././install-sh: Permission denied
gnumake[4]: *** [install-sbinSCRIPTS] Error 126
gnumake[3]: *** [install-am] Error 2
gnumake[2]: *** [install-recursive] Error 1
make[1]: *** [install-recursive] Error 1
make[1]: Nothing to be done for `install-man'.
DYLD_LIBRARY_PATH=/Users/ram/gt-5.1.3/lib
/Users/ram/gt-5.1.3/sbin/gpt-build
-srcdir=./source-trees/core/source gcc64dbg
/bin/sh: /Users/ram/gt-5.1.3/sbin/gpt-build: No such file or directory
make: *** [globus_core-only] Error 127
$

the problem here is that the install-sh script is not executable.
After ,arking all the install-sh scripts as executable, i.e. with
something like:

$ find . -name install-sh -exec chmod +x {} \;

this gets further, but then fails, in gssapi-openssh, with:

/usr/bin/gcc -g   -m64 -fno-common  -Wall -g -m64 -fno-common -Wall
-Wall -Wpointer-arith -Wsign-compare -Wformat-security
-Wno-pointer-sign -fno-strict-aliasing -fno-builtin-memset
-fstack-protector-all  -I. -I.. -I. -I./..  -I/include/globus -I/
-no-cpp-precomp -I/Users/ram/gt-5.1.3/include/globus
-I/Users/ram/gt-5.1.3/include/globus/gcc64dbg -no-cpp-precomp
-I/Users/ram/gt-5.1.3/include/globus
-I/Users/ram/gt-5.1.3/include/globus/
-I/Users/ram/gt-5.1.3/include/globus  -DHAVE_CONFIG_H -c port-tun.c
port-tun.c:111:20: error: /net/if.h: Input/output error
port-tun.c: In function ‘sys_tun_open’:
port-tun.c:120: error: storage size of ‘ifr’ isn’t known
port-tun.c:174: error: invalid application of ‘sizeof’ to incomplete
type ‘struct ifreq’
port-tun.c:176: error: ‘IFF_UP’ undeclared (first use in this function)
port-tun.c:176: error: (Each undeclared identifier is reported only once
port-tun.c:176: error: for each function it appears in.)
port-tun.c:178: error: invalid application of ‘sizeof’ to incomplete
type ‘struct ifreq’
port-tun.c:120: warning: unused variable ‘ifr’
gnumake[2]: *** [port-tun.o] Error 1
gnumake[1]: *** [openbsd-compat/libopenbsd-compat.a] Error 2

ERROR: Build has failed
make: *** [gsi_openssh-only] Error 2
$

This appears to be related to the -I/include/globus and -I/ being
passed to the compiler. Looking at
source-trees/gssapi-openssh/openssh/openbsd-compat/Makefile, the
CPPFLAGS are defined as:

CPPFLAGS=-I. -I.. -I$(srcdir) -I$(srcdir)/..
-I${prefix}/include/globus -I${includedir}/${GLOBUS_FLAVOR_NAME}
-no-cpp-precomp -I/Users/ram/gt-5.1.3/include/globus
-I/Users/ram/gt-5.1.3/include/globus/gcc64dbg -no-cpp-precomp
-I/Users/ram/gt-5.1.3/include/globus
-I/Users/ram/gt-5.1.3/include/globus/
-I/Users/ram/gt-5.1.3/include/globus  -DHAVE_CONFIG_H

but it appears that this Makefile doesn't have values for ${prefix},
${includedir}, and ${GLOBUS_FLAVOR_NAME} set, so the
"-I/include/globus -I/" is a direct result of this. Simply removing
"-I${prefix}/include/globus -I${includedir}/${GLOBUS_FLAVOR_NAME}"
from the CPPFLAGS line in the Makefile allows me to complete the
build.

What is the best way to report these issues to the appropriate people
to ensure they get fixed for the next release?

Cheers

Adam

Reply via email to