i tried it once more on a really up-to-date x86 gentoo installation.
the first error has gone but i''m still stuck with the second one. if
i disable the utilities with --disable-utils in configure then
compilation ends with success. there are some errors and warnings
when running autogen.sh and configure:
./autogen.sh:
Checking for a complete tree...
checking for automake-1.7 1.7.8... found 1.7.9
checking for autoconf 2.57... found 2.59
Running aclocal-1.7 -I /usr/local/src/lustre-1.6b0/build/autoconf -
I /usr/local/src/lustre-1.6b0/lnet/autoconf -I /usr/local/src/
lustre-1.6b0/portals/autoconf -I /usr/local/src/lustre-1.6b0/lustre/
autoconf -I /usr/local/src/lustre-1.6b0/snmp/autoconf...
Running autoheader...
Running automake-1.7...
automake-1.7: mkfs_lustre_OBJECTS should not be defined
automake-1.7: mount_lustre_OBJECTS should not be defined
automake-1.7: tunefs_lustre_OBJECTS should not be defined
Running autoconf...
Running autogen for libsysio...
/usr/share/aclocal/libmikmod.m4:11: warning: underquoted definition
of AM_PATH_LIBMIKMOD
run info ''(automake)Extending aclocal''
or see http://sources.redhat.com/automake/automake.html#Extending-
aclocal
/usr/share/aclocal/audiofile.m4:12: warning: underquoted definition
of AM_PATH_AUDIOFILE
/usr/share/aclocal/ao.m4:9: warning: underquoted definition of
XIPH_PATH_AO
./configure --with-linux=/usr/src/linux-2.6.12:
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for external Portals... checking location of portals... no
external portals
checking for Lustre Portals... checking location of Lustre portals...
disable Lustre portals
checking whether to build Cray XT3 features... no
checking whether to build BGL features... no
checking for ranlib... ranlib
checking for buggy compiler... no known problems
checking for unsigned long long... yes
checking size of unsigned long long... 8
---> size SIZEOF
---> size SIZEOF 8
checking if gcc accepts -m64... no
checking location of libsysio... internal
checking for ./libsysio/src/rmdir.c... yes
checking for ./snmp/lustre-snmp.c... yes
checking whether to build docs... no
checking whether to build utilities... yes
checking whether to install init scripts... no
checking whether to build Lustre tests... yes
checking whether to build Lustre server support... yes
checking whether to build Lustre client support... yes
checking whether to build kernel modules... yes (linux-gnu)
checking for Linux sources... /usr/src/linux-2.6.12
checking for /usr/src/linux-2.6.12... yes
checking for Linux objects dir... /usr/src/linux-2.6.12
checking for /boot/kernel.h... no
checking for /var/adm/running-kernel.h... no
checking for /usr/src/linux-2.6.12/.config... yes
checking for /usr/src/linux-2.6.12/include/linux/autoconf.h... yes
checking for /usr/src/linux-2.6.12/include/linux/version.h... yes
checking for /usr/src/linux-2.6.12/include/linux/config.h... yes
checking if you are running user mode linux for i686... no (asm
doesn''t point at asm-um)
checking for /usr/src/linux-2.6.12/include/linux/namei.h... yes
checking if you are using Linux 2.6... yes
checking for external module build support... yes
checking that modules can be built at all... yes
checking for Linux release... 2.6.12
checking for Lustre release... 2.6.12_200604301746
checking if Linux was built with CONFIG_MODULES... yes
checking if Linux was built with CONFIG_MODVERSIONS... no
checking if Linux was built with CONFIG_PREEMPT... no
checking if Linux was built with CONFIG_KALLSYMS... yes
checking if Linux was built with CONFIG_KMOD... yes
checking for zero-copy TCP support... no (no kernel support)
checking if kernel defines cpu_online()... yes
checking if kernel defines cpumask_t... yes
checking for CPU affinity support... yes
checking for QsNet sources... /usr/src/linux-2.6.12
checking if quadrics kernel headers are present... no
checking whether to enable GM support... no
checking whether to enable OpenIB support... no
checking whether to enable Cisco/TopSpin IB support... no
checking whether to enable Voltaire IB support... no
checking whether to enable Infinicon support... no
checking whether to enable OpenIB gen2 support... no
checking if RapidArray kernel headers are present... no
checking for Portals API headers... no
checking if struct page has a list field... no
checking if task_struct has a sighand field... yes
checking if kernel exports show_task... yes
checking whether to enable ldiskfs... yes
checking whether to enable quilt for making ldiskfs... yes
checking for patch... /usr/bin/patch
checking for quilt... /usr/bin/quilt
checking which backing filesystem to use... ldiskfs
checking which ldiskfs series to use... 2.6.12-vanilla.series
checking whether to enable pinger support... yes
checking whether to enable quota support... yes
checking if struct kiobuf has a dovary field... no
checking if kernel offers cond_resched... yes
checking if zap_pag_range with vma parameter... yes
checking if kernel defines PDE... yes
checking if kernel passes struct file to direct_IO... no
checking if kernel has mm_inline.h header... no
checking if struct inode has i_alloc_sem... yes
checking if kernel defines register_cache()... no
checking if kernel defines grab_cache_page_nowait_gfp()... no
checking if kernel has old single-device dev_set_rdonly... no
checking whether filemap_fdatawrite() is defined... yes
checking if struct statfs has a f_namelen field... yes
checking if kernel offers page_mapped... yes
checking if struct file_operations has an unlocked_ioctl field... yes
checking for exported filemap_populate... yes
checking for d_add_unique... yes
checking whether to build Lustre library... yes
checking whether to build liblustre tests... yes
checking whether to build mpitests... no
configure: Enabling Lustre configure options for libsysio
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking asm/types.h usability... yes
checking asm/types.h presence... yes
checking for asm/types.h... yes
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking for gethostbyname... yes
checking for socket... yes
checking for connect... yes
checking for /proc/sys... yes
checking linux/version.h usability... yes
checking linux/version.h presence... yes
checking for linux/version.h... yes
checking for spinlock_t... yes
checking for strnlen... yes
checking whether to enable readline support... yes
checking for readline in -lreadline... yes
checking if efence debugging support is requested... no
checking if libwrap support is requested... no
checking whether to use libpthread for lnet library... checking for
pthread_create in -lpthread... yes
yes
checking whether to initialize libsysio... yes
checking whether to use /dev/urandom for liblustre... yes
checking for cap_get_proc in -lcap... yes
checking for Portals API headers... no
checking whether to build usocklnd... yes
checking maximum OBD ioctl size... 8192 bytes
checking asm/page.h usability... yes
checking asm/page.h presence... yes
checking for asm/page.h... yes
checking sys/user.h usability... yes
checking sys/user.h presence... yes
checking for sys/user.h... yes
checking for stdint.h... (cached) yes
checking linux/quota.h usability... yes
checking linux/quota.h presence... yes
checking for linux/quota.h... yes
checking xtio.h usability... no
checking xtio.h presence... no
checking for xtio.h... no
checking file.h usability... no
checking file.h presence... no
checking for file.h... no
checking linux/types.h usability... yes
checking linux/types.h presence... yes
checking for linux/types.h... yes
checking for sys/types.h... (cached) yes
checking linux/unistd.h usability... yes
checking linux/unistd.h presence... yes
checking for linux/unistd.h... yes
checking for unistd.h... (cached) yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking catamount/data.h usability... no
checking catamount/data.h presence... no
checking for catamount/data.h... no
checking for inet_ntoa... yes
checking linux/xattr_acl.h usability... no
checking linux/xattr_acl.h presence... yes
configure: WARNING: linux/xattr_acl.h: present but cannot be compiled
configure: WARNING: linux/xattr_acl.h: check for missing
prerequisite headers?
configure: WARNING: linux/xattr_acl.h: see the Autoconf documentation
configure: WARNING: linux/xattr_acl.h: section "Present But
Cannot Be Compiled"
configure: WARNING: linux/xattr_acl.h: proceeding with the
preprocessor''s result
configure: WARNING: linux/xattr_acl.h: in the future, the compiler
will take precedence
configure: WARNING: ##
------------------------------------------- ##
configure: WARNING: ## Report this to https://
bugzilla.lustre.org/ ##
configure: WARNING: ##
------------------------------------------- ##
checking for linux/xattr_acl.h... yes
checking whether to try to build SNMP support... auto
checking for net-snmp-config... net-snmp-config
checking net-snmp/net-snmp-config.h usability... yes
checking net-snmp/net-snmp-config.h presence... yes
checking for net-snmp/net-snmp-config.h... yes
checking for register_mib... yes
checking for SNMP support... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating autoMakefile
config.status: creating build/autoMakefile
config.status: creating build/autoconf/Makefile
config.status: creating build/Rules
config.status: creating build/lustre.spec
config.status: creating lnet/Kernelenv
config.status: creating lnet/Makefile
config.status: creating lnet/autoMakefile
config.status: creating lnet/autoconf/Makefile
config.status: creating lnet/doc/Makefile
config.status: creating lnet/include/Makefile
config.status: creating lnet/include/libcfs/Makefile
config.status: creating lnet/include/libcfs/linux/Makefile
config.status: creating lnet/include/lnet/Makefile
config.status: creating lnet/include/lnet/linux/Makefile
config.status: creating lnet/klnds/Makefile
config.status: creating lnet/klnds/autoMakefile
config.status: creating lnet/klnds/gmlnd/Makefile
config.status: creating lnet/klnds/gmlnd/autoMakefile
config.status: creating lnet/klnds/openiblnd/Makefile
config.status: creating lnet/klnds/openiblnd/autoMakefile
config.status: creating lnet/klnds/o2iblnd/Makefile
config.status: creating lnet/klnds/o2iblnd/autoMakefile
config.status: creating lnet/klnds/ciblnd/Makefile
config.status: creating lnet/klnds/ciblnd/autoMakefile
config.status: creating lnet/klnds/iiblnd/Makefile
config.status: creating lnet/klnds/iiblnd/autoMakefile
config.status: creating lnet/klnds/viblnd/Makefile
config.status: creating lnet/klnds/viblnd/autoMakefile
config.status: creating lnet/klnds/qswlnd/Makefile
config.status: creating lnet/klnds/qswlnd/autoMakefile
config.status: creating lnet/klnds/ralnd/Makefile
config.status: creating lnet/klnds/ralnd/autoMakefile
config.status: creating lnet/klnds/socklnd/Makefile
config.status: creating lnet/klnds/socklnd/autoMakefile
config.status: creating lnet/klnds/ptllnd/Makefile
config.status: creating lnet/klnds/ptllnd/autoMakefile
config.status: creating lnet/libcfs/Makefile
config.status: creating lnet/libcfs/autoMakefile
config.status: creating lnet/libcfs/linux/Makefile
config.status: creating lnet/lnet/Makefile
config.status: creating lnet/lnet/autoMakefile
config.status: creating lnet/tests/Makefile
config.status: creating lnet/tests/autoMakefile
config.status: creating lnet/ulnds/Makefile
config.status: creating lnet/ulnds/autoMakefile
config.status: creating lnet/ulnds/socklnd/Makefile
config.status: creating lnet/ulnds/ptllnd/Makefile
config.status: creating lnet/utils/Makefile
config.status: creating lustre/Makefile
config.status: creating lustre/autoMakefile
config.status: creating lustre/autoconf/Makefile
config.status: creating lustre/conf/Makefile
config.status: creating lustre/doc/Makefile
config.status: creating lustre/include/Makefile
config.status: creating lustre/include/linux/Makefile
config.status: creating lustre/include/linux/lustre_ver.h
config.status: creating lustre/include/lustre/Makefile
config.status: creating lustre/kernel_patches/targets/2.6-suse.target
config.status: creating lustre/kernel_patches/targets/2.6-vanilla.target
config.status: creating lustre/kernel_patches/targets/2.6-rhel4.target
config.status: creating lustre/kernel_patches/targets/hp_pnnl-2.4.target
config.status: creating lustre/kernel_patches/targets/rh-2.4.target
config.status: creating lustre/kernel_patches/targets/rhel-2.4.target
config.status: creating lustre/kernel_patches/targets/
suse-2.4.21-2.target
config.status: creating lustre/kernel_patches/targets/sles-2.4.target
config.status: creating lustre/ldiskfs/Makefile
config.status: creating lustre/ldiskfs/autoMakefile
config.status: creating lustre/ldlm/Makefile
config.status: creating lustre/liblustre/Makefile
config.status: creating lustre/liblustre/tests/Makefile
config.status: creating lustre/llite/Makefile
config.status: creating lustre/llite/autoMakefile
config.status: creating lustre/lov/Makefile
config.status: creating lustre/lov/autoMakefile
config.status: creating lustre/lvfs/Makefile
config.status: creating lustre/lvfs/autoMakefile
config.status: creating lustre/mdc/Makefile
config.status: creating lustre/mdc/autoMakefile
config.status: creating lustre/mds/Makefile
config.status: creating lustre/mds/autoMakefile
config.status: creating lustre/obdclass/Makefile
config.status: creating lustre/obdclass/autoMakefile
config.status: creating lustre/obdecho/Makefile
config.status: creating lustre/obdecho/autoMakefile
config.status: creating lustre/obdfilter/Makefile
config.status: creating lustre/obdfilter/autoMakefile
config.status: creating lustre/osc/Makefile
config.status: creating lustre/osc/autoMakefile
config.status: creating lustre/ost/Makefile
config.status: creating lustre/ost/autoMakefile
config.status: creating lustre/mgc/Makefile
config.status: creating lustre/mgc/autoMakefile
config.status: creating lustre/mgs/Makefile
config.status: creating lustre/mgs/autoMakefile
config.status: creating lustre/ptlrpc/Makefile
config.status: creating lustre/ptlrpc/autoMakefile
config.status: creating lustre/quota/Makefile
config.status: creating lustre/quota/autoMakefile
config.status: creating lustre/scripts/Makefile
config.status: creating lustre/scripts/version_tag.pl
config.status: creating lustre/tests/Makefile
config.status: creating lustre/utils/Lustre/Makefile
config.status: creating lustre/utils/Makefile
config.status: creating snmp/Makefile
config.status: creating snmp/autoconf/Makefile
config.status: creating config.h
config.status: executing depfiles commands
configure: configuring in libsysio
configure: running /bin/sh ''./configure'' --prefix=/usr
''--with-
linux=/usr/src/linux-2.6.12'' --with-lustre-hack --with-sockets --
cache-file=/dev/null --srcdir=.
checking build system type... i686-pc-linux
checking host system type... i686-pc-linux
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ANSI C... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for ranlib... ranlib
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking whether stat file-mode macros are broken... no
checking whether time.h and sys/time.h may both be included... yes
Using sysio library directory /usr/local/src/lustre-1.6b0/libsysio/lib
checking whether _LARGEFILE64_SOURCE definition is required... yes
checking for alpha linux... no
checking for __st_ino... no
checking for st_gen... no
checking whether .text pseudo-op must be used... no
checking for assembler global-symbol directive... .globl
checking for .set assembler directive... yes
checking for assembler .weak directive... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating tests/Makefile
config.status: executing depfiles commands
CC: gcc
LD:
CPPFLAGS: -include $(top_builddir)/config.h -I$(top_builddir)/
lnet/include -I$(top_srcdir)/lnet/include -I$(top_builddir)/lustre/
include -I$(top_srcdir)/lustre/include
LLCPPFLAGS: -D__arch_lib__ -D_LARGEFILE64_SOURCE=1
CFLAGS: -g -O2
EXTRA_KCFLAGS: -include /usr/local/src/lustre-1.6b0/config.h -g -I/
usr/local/src/lustre-1.6b0/lnet/include -I/usr/local/src/lustre-1.6b0/
lustre/include
LLCFLAGS: -g -Wall -fPIC
Type ''make'' to build Lustre.
i''m not sure about the importance of those errors.
i also looked at the source. there are indeed conflicting type
definitions for mm_segment_t and others in the lustre source and the
official vanilla 2.6.12 source. the include files in my /usr/include
have the same definition as in /usr/src/linux-2.6.12 and defer from
the ones in lustre. is this really an issue or do i just have a
problem with my setup and the two definitions should not be included
at the same time?
anselm
On Apr 28, 2006, at 7:56 PM, Felix, Evan J wrote:
> This almost looks like configure failed to setup paths to your Linux
> source tree. When you ran configure did you notice any errors when it
> looked for the source tree? Also are you specifying one to the
> configure script with --with-Linux?
>
> Evan
>
> -----Original Message-----
> From: lustre-discuss-bounces@clusterfs.com
> [mailto:lustre-discuss-bounces@clusterfs.com] On Behalf Of Anselm
> Strauss
> Sent: Thursday, April 27, 2006 9:11 AM
> To: lustre-discuss@clusterfs.com
> Subject: [Lustre-discuss] build errors
>
> hi.
>
> i tried to compile lustre-1.6b0 for a gentoo amd64 system. i''m
using a
> plain vanilla 2.6.12 kernel and gcc 3.4.5. i patched the kernel
> with the
> 2.6.12-vanilla.series file. trying to compile lustre afterwards
> gives me
> the following error:
>
>
> test -d CVS || exit 0; \
> list=""; for mod in $list; do \
> perl ./build/kabi -v archive $HOME/nonfree $mod || exit $?; \ done
> make all-recursive
> make[1]: Entering directory `/usr/src/lustre-1.6b0''
> Making all in .
> make[2]: Entering directory `/usr/src/lustre-1.6b0''
> make sources -C lnet
> make[3]: Entering directory `/usr/src/lustre-1.6b0/lnet''
> make sources -C libcfs
> make[4]: Entering directory `/usr/src/lustre-1.6b0/lnet/libcfs''
> make[4]: Nothing to be done for `sources''.
> make[4]: Leaving directory `/usr/src/lustre-1.6b0/lnet/libcfs''
> make[3]: Leaving directory `/usr/src/lustre-1.6b0/lnet''
> make sources -C lustre
> make[3]: Entering directory `/usr/src/lustre-1.6b0/lustre''
> make sources -C ldiskfs
> make sources -C lvfs
> make[4]: Entering directory `/usr/src/lustre-1.6b0/lustre/ldiskfs''
> rm -rf linux-stage linux sources
> perl ../lustre/scripts/version_tag.pl .. .. > tmpver mkdir -p
> linux-stage/fs/ext3 linux-stage/include/linux
> cp linux-stage/fs/ext3
> cp: missing destination file
> Try `cp --help'' for more information.
> make[4]: *** [sources] Error 1
> make[4]: Leaving directory `/usr/src/lustre-1.6b0/lustre/ldiskfs''
> make[3]: *** [ldiskfs-sources] Error 2
> make[3]: *** Waiting for unfinished jobs....
> make[4]: Entering directory `/usr/src/lustre-1.6b0/lustre/lvfs''
> make[4]: `sources'' is up to date.
> make[4]: Leaving directory `/usr/src/lustre-1.6b0/lustre/lvfs''
> echo "#define LUSTRE_RELEASE 2.6.12_lustre_1.6b0_200604271757"
>>
> tmpver
> cmp -s ../lustre/include/linux/lustre_build_version.h tmpver \
> 2> /dev/null
> && \
> rm -f tmpver
> || \
> mv tmpver ../lustre/include/linux/
> lustre_build_version.h
> make[3]: Leaving directory `/usr/src/lustre-1.6b0/lustre''
> make[2]: *** [all-sources] Error 2
> make[2]: Leaving directory `/usr/src/lustre-1.6b0''
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/usr/src/lustre-1.6b0''
> make: *** [all] Error 2
>
>
> as there is a big gap between the "cp" and its argument, i assume
the
> first argument of cp is blank where it shouldn''t.
> disabling ldiskfs with --disable-ldiskfs in configure brings me a bit
> further, but there is still a build error:
>
>
> make[4]: Entering directory `/usr/src/lustre-1.6b0/lustre/utils''
> ...
> In file included from /usr/include/asm/processor.h:7,
> from /usr/include/linux/spinlock.h:16,
> from /usr/include/linux/quota.h:40,
> from ../../lustre/include/lustre/lustre_user.h:19,
> from ../../lustre/include/linux/lustre_idl.h:58,
> from ../../lustre/include/linux/lustre_ver.h:4,
> from mount_lustre.c:37:
> /usr/include/asm-x86_64/processor.h:386: error: syntax error before
> "void"
> In file included from obdctl.h:10,
> from mount_lustre.c:38:
> ../../lustre/include/liblustre.h:155: error: conflicting types for
> ''mm_segment_t''
> /usr/include/asm-x86_64/mmsegment.h:6: error: previous declaration of
> ''mm_segment_t'' was here
> ../../lustre/include/liblustre.h:190: error: conflicting types for
> ''set_bit''
> /usr/include/asm-x86_64/bitops.h:29: error: previous definition of
> ''set_bit'' was here
> ../../lustre/include/liblustre.h:202: error: conflicting types for
> ''clear_bit''
> /usr/include/asm-x86_64/bitops.h:64: error: previous definition of
> ''clear_bit'' was here
> ../../lustre/include/liblustre.h:212: error: syntax error before
''?''
> token
> ../../lustre/include/liblustre.h:217: error: syntax error before
''(''
> token
> ../../lustre/include/liblustre.h:217: error: syntax error before
> "unsigned"
> ../../lustre/include/liblustre.h:222: error: syntax error before
''(''
> token
> ../../lustre/include/liblustre.h:222: error: syntax error before
> "unsigned"
> ../../lustre/include/liblustre.h:227: error: syntax error before
''(''
> token
> ../../lustre/include/liblustre.h:298: error: conflicting types for
> ''spinlock_t''
> /usr/include/asm-x86_64/spinlock.h:21: error: previous declaration of
> ''spinlock_t'' was here
>
>
> so the type definition for mm_segment_t and others in my kernel
> source is different than in the lustre source?
>
> any ideas?
>
>
> cheers,
> anselm strauss
> _______________________________________________
> Lustre-discuss mailing list
> Lustre-discuss@clusterfs.com
> https://mail.clusterfs.com/mailman/listinfo/lustre-discuss