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