Hi,

there is a small problem when:
   * DB4 and PVFS2 are aready installed in the same (non-default) directory
   * trying to compile a newer PVFS2 version, using the already installed DB4 
(e.g. CVS)

(I tested this with the CVS version as of 26/09/2006)

configure:

2 [lo-03-02]~/work/pvfs2/pvfs2-cvs/build/ib|> head config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ../../configure --disable-karma --prefix=/data/home/dries/inst/nompi 
--enable-shared
--enable-static --enable-epoll --with-db=/data/home/dries/inst/nompi 
LDFLAGS=-Wl,-rpath
-Wl,/apps/prod/openib/x86_64/ibgd/driver/infinihost/lib 
-L/apps/prod/gcc/3.4.4/lib64
-L/apps/prod/gcc/3.4.4/lib CXXFLAGS=-L/apps/prod/gcc/3.4.4/lib64  
-L/apps/prod/gcc/3.4.4/lib
CFLAGS=-L/apps/prod/gcc/3.4.4/lib64  -L/apps/prod/gcc/3.4.4/lib
--with-kernel=/data/home/dries/work/kernel/login-tree/ --enable-mmap-racache 
--enable-epoll
--with-ib=/apps/prod/openib/x86_64/ibgd/driver/infinihost

The CFLAGS / CXXFLAGS -L stuff is needed because of a libtool bug on mixed 
AMD64/x86 platforms

Note the --with-db=/data/home/dries/inst/nompi, which is also the directory 
where an older version
of PVFS2 is already installed.

Trying to make gives this error:

2 [lo-03-02]~/work/pvfs2/pvfs2-cvs/build/ib|> make V=1
gcc -D__GEN_POSIX_LOCKING__ -D__PVFS2_JOB_THREADED__ -D__PVFS2_TROVE_THREADED__
-D__PVFS2_TROVE_AIO_THREADED__ -I/data/home/dries/inst/nompi/include/ 
-D__PVFS2_TROVE_SUPPORT__
-D__PVFS2_SERVER__ -D__STATIC_FLOWPROTO_BMI_CACHE__ -L/apps/prod/gcc/3.4.4/lib64
-L/apps/prod/gcc/3.4.4/lib -D__PVFS2_USE_EPOLL__ -DGOSSIP_ENABLE_BACKTRACE
-D__STATIC_METHOD_BMI_TCP__ -D__STATIC_FLOWPROTO_MULTIQUEUE__ 
-D_FILE_OFFSET_BITS=64
-D_LARGEFILE64_SOURCE -I . -I ../../include -I include -I ../.. 
-I../../src/client/sysint
-I../../src/common/misc -I../../src/common/quickhash 
-I../../src/common/quicklist
-I../../src/common/id-generator -I../../src/common/gossip 
-I../../src/common/gen-locks
-I../../src/io/trove -I../../src/io/bmi -I../../src/io/description 
-I../../src/io/buffer
-I../../src/io/job -I../../src/io/dev -I../../src/proto
-DPVFS2_VERSION="\"1.5.1pre1-2006-09-26-152419\"" -D__STATIC_METHOD_BMI_IB__ 
-DUSE_MMAP_RA_CACHE
-pipe -Wall -Wstrict-prototypes   -I../../../../src/server 
../../src/server/pvfs2-server.c -c -o
src/server/pvfs2-server-server.o
In file included from ../../src/proto/pvfs2-req-proto.h:15,
                 from ../../src/io/job/job.h:18,
                 from ../../src/server/pvfs2-server.c:28:
../../src/proto/pvfs2-attr.h:56: error: parse error before "PVFS_flags"
../../src/proto/pvfs2-attr.h:56: warning: no semicolon at end of struct or union
../../src/proto/pvfs2-attr.h:74: error: field `hint' has incomplete type
make: *** [src/server/pvfs2-server-server.o] Error 1


Note that the first include directory specified is: 
-I/data/home/dries/inst/nompi/include/,
This gets there because of:

SERVERCFLAGS = -D__GEN_POSIX_LOCKING__ -D__PVFS2_JOB_THREADED__ \
-D__PVFS2_TROVE_THREADED__ @MISC_TROVE_FLAGS@ @DB_CFLAGS@ \
-D__PVFS2_TROVE_SUPPORT__ -D__PVFS2_SERVER__

(with @DB_CFLAGS@ getting replaced by -I/data/home/dries/inst/nompi/include)

and the compile line for the objects is:

$(ADMINOBJS_SERVER): %.o: %.c
        $(Q) "  CC              $@"
        $(E) $(CC) $(SERVERCFLAGS) $(CFLAGS) $(call modcflags,$<) $< -c -o $@


This makes the compiler use the OLD PVFS2 headers as opposed to the new, 
causing the
build to fail.

Solution: adding -I $(srcdir)/include to SERVERCFLAGS or causing this flag to 
be earlier on the
compiler command line by other means.


  Greetings,
  Dries




Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

_______________________________________________
Pvfs2-users mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-users

Reply via email to