Skip to contentSkip to conversation

Problem building xfsprogs

DISCUSSION [email protected] 5 participants 17 messages Jul 22, 2014 – Jul 23, 2014

lore
Share & tools
lore
#0 lore raw

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

[scameron@localhost xfsprogs]$ git log --oneline | head -1 ba24eb7 logprint: Fix printing of AGF and AGI buffers [scameron@localhost xfsprogs]$ git pull
Already up-to-date.
[scameron@localhost xfsprogs]$ git diff [scameron@localhost xfsprogs]$ ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for gcc... gcc
checking for C compiler default output file name... a.out

[...snip...]

checking for library containing blkid_probe_all... -lblkid checking for blkid_probe_get_topology... yes
checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: include/platform_defs.h is unchanged config.status: executing libtool commands
[scameron@localhost xfsprogs]$ make
Building include
Building libxfs
gmake[2]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

Any ideas what's wrong here?

-- steve

#1 lore raw

[cc [email protected] - list for XFS issues]

Quoted 16 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

[scameron@localhost xfsprogs]$ git log --oneline | head -1 ba24eb7 logprint: Fix printing of AGF and AGI buffers [scameron@localhost xfsprogs]$ git pull
Already up-to-date.
[scameron@localhost xfsprogs]$ git diff [scameron@localhost xfsprogs]$ ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for gcc... gcc
checking for C compiler default output file name... a.out

[...snip...]

Quoted 16 lines

checking for library containing blkid_probe_all... -lblkid checking for blkid_probe_get_topology... yes checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status config.status: creating include/builddefs config.status: creating include/platform_defs.h config.status: include/platform_defs.h is unchanged config.status: executing libtool commands [scameron@localhost xfsprogs]$ make
Building include

Nothing built in the include directory - is this a clean build area?

Quoted 6 lines

Building libxfs
gmake[2]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

Any ideas what's wrong here?

The automatic dependency generation failed to generate the .ltdep file. But it can't be a clean build area, because the libxfs build rule is:

default: crc32selftest ltdepend $(LTLIBRARY)

and I don't see the crc32selftest rule being executed before the dependencies are generated. It shoul dlook something like:

$ make
....
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
Building include
    [LN]     xfs
    [LN]     disk
Building libxfs
    [CC]     gen_crc32table
    [GENERATE] crc32table.h
    [TEST]    CRC32
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 131 usec
crc32c: tests passed, 225944 bytes in 131 usec
    [CC]     cache.lo
....

So the first thing I'd do is run 'make realclean; make' to restart the build for a clean workarea first. If that doesn't fix the problem, then I'll need to know versions of libtool, gcc, etc that you are using and you'll need to post the output of "make realclean; make Q=" so we can see the command line that is actually failing.

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#2 lore raw
Quoted 36 lines · Dave Chinner

[cc [email protected] - list for XFS issues]

Quoted 16 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

[scameron@localhost xfsprogs]$ git log --oneline | head -1 ba24eb7 logprint: Fix printing of AGF and AGI buffers [scameron@localhost xfsprogs]$ git pull
Already up-to-date.
[scameron@localhost xfsprogs]$ git diff [scameron@localhost xfsprogs]$ ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for gcc... gcc
checking for C compiler default output file name... a.out

[...snip...]

Quoted 16 lines

checking for library containing blkid_probe_all... -lblkid checking for blkid_probe_get_topology... yes checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status config.status: creating include/builddefs config.status: creating include/platform_defs.h config.status: include/platform_defs.h is unchanged config.status: executing libtool commands [scameron@localhost xfsprogs]$ make
Building include

Quoted 1 line

Nothing built in the include directory - is this a clean build area?

Well, it was originally clean, but I did try the build several times (not sure why I thought trying it again might help, but in any case I suppose the subsequent attempts may not have been considered clean.)

So, I just tried a fresh checkout with the same results:

[relliott@msablackburn ~]$ rm -fr xfsprogs
[relliott@msablackburn ~]$ git clone git://oss.sgi.com/xfs/cmds/xfsprogs
Initialized empty Git repository in /home/relliott/xfsprogs/.git/
remote: Counting objects: 14359, done.
remote: Compressing objects: 100% (5042/5042), done.
remote: Total 14359 (delta 11622), reused 11396 (delta 9306)
Receiving objects: 100% (14359/14359), 4.43 MiB | 1.34 MiB/s, done.
Resolving deltas: 100% (11622/11622), done.
[relliott@msablackburn ~]$ cd xfsprogs
[relliott@msablackburn xfsprogs]$ make
libtoolize -c libtoolize -n -i >/dev/null 2>/dev/null && echo -i -f
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `.'.
libtoolize: copying file `./config.guess'
libtoolize: copying file `./config.sub'
libtoolize: copying file `./install-sh'
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
cp include/install-sh .
aclocal -I m4
autoconf
./configure $LOCAL_CONFIGURE_OPTIONS
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-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 ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok checking how to run the C preprocessor... gcc -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 dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... 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 ISO C89... (cached) none needed
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 ISO C89... (cached) none needed
checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes
checking for awk... /bin/awk
checking for sort... /bin/sort
checking whether ln -s works... yes
checking for msgfmt... /usr/bin/msgfmt
checking for msgmerge... /usr/bin/msgmerge
checking for xgettext... /usr/bin/xgettext
checking for rpm... /bin/rpm
checking for rpmbuild... /usr/bin/rpmbuild
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking for lio_listio... no
checking for lio_listio in -lrt... yes
checking uuid.h usability... yes
checking uuid.h presence... yes
checking for uuid.h... yes
checking sys/uuid.h usability... no
checking sys/uuid.h presence... no
checking for sys/uuid.h... no
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_compare... no
checking for uuid_compare in -luuid... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_mutex_init in -lpthread... yes
checking for fadvise ... yes
checking for madvise ... yes
checking for mincore ... yes
checking for sendfile ... yes
checking for getmntent ... yes
checking for getmntinfo ... no
checking for fallocate... yes
checking for fiemap... yes
checking for preadv... yes
checking for sync_file_range... yes
checking for library containing blkid_probe_all... -lblkid
checking for blkid_probe_get_topology... yes
checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
Building include
[LN] xfs
[LN] disk
Building libxfs

    [CC]     gen_crc32table
    [GENERATE] crc32table.h
    [TEST]    CRC32

CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 173 usec
crc32c: tests passed, 225944 bytes in 167 usec
gmake[3]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. gmake[2]: *** [libxfs] Error 2
make[1]: *** [default] Error 2
make: *** [default] Error 2
[relliott@msablackburn xfsprogs]$
[relliott@msablackburn xfsprogs]$ git log --oneline | head ba24eb7 logprint: Fix printing of AGF and AGI buffers
a14d409 quota: fix NULL pointer dereference in report_f
ed350fc libxcmd: make all comparisons using realpath'd paths 6bf4721 repair: copy, don't clear, stripe geometry in backup SB b6ad854 xfsprogs: update debian packaging for next release 1a05f91 xfsprogs: add a watch file into the debian packaging 642d23d xfsprogs: v3.2.1 release
fb3b519 xfsprogs: update polish translation
1fe7b0b repair: handle uncorrected corruptions in phase 2 cee99cf libxfs: clear the buffer error while the buffer is locked [relliott@msablackburn xfsprogs]$

Quoted 36 lines
Quoted 7 lines

Building libxfs
gmake[2]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

Any ideas what's wrong here?

The automatic dependency generation failed to generate the .ltdep file. But it can't be a clean build area, because the libxfs build rule is:

default: crc32selftest ltdepend $(LTLIBRARY)

and I don't see the crc32selftest rule being executed before the dependencies are generated. It shoul dlook something like:

$ make
....
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
Building include
    [LN]     xfs
    [LN]     disk
Building libxfs
    [CC]     gen_crc32table
    [GENERATE] crc32table.h
    [TEST]    CRC32
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 131 usec
crc32c: tests passed, 225944 bytes in 131 usec
    [CC]     cache.lo
....
Quoted 1 line

So the first thing I'd do is run 'make realclean; make'

That fails the same way for me.

Quoted 5 lines

to restart
the build for a clean workarea first. If that doesn't fix the problem, then I'll need to know versions of libtool, gcc, etc that you are using and you'll need to post the output of "make realclean; make Q=" so we can see the command line that is actually failing.

Ok.

[relliott@msablackburn xfsprogs]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[relliott@msablackburn xfsprogs]$ libtool --version ltmain.sh (GNU libtool) 2.2.6b
Written by Gordon Matzigkeit <[email protected]>, 1996

Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[relliott@msablackburn xfsprogs]$ cat /etc/*-release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Red Hat Enterprise Linux Server release 6.5 (Santiago)
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[relliott@msablackburn xfsprogs]$ uname -a
Linux msablackburn.americas.hpqcorp.net 3.16.0-rc5+ #170 SMP Tue Jul 22 13:42:21 CDT 2014 x86_64 x86_64 x86_64 GNU/Linux [relliott@msablackburn xfsprogs]$

[relliott@msablackburn xfsprogs]$ make realclean; make Q=
Cleaning include
Cleaning libxfs
Cleaning libxlog
Cleaning libxcmd
Cleaning libhandle
Cleaning libdisk
Cleaning copy
Cleaning db
Cleaning estimate
Cleaning fsck
Cleaning fsr
Cleaning growfs
Cleaning io
Cleaning logprint
Cleaning mkfs
Cleaning quota
Cleaning mdrestore
Cleaning repair
Cleaning rtcp
Cleaning m4
Cleaning man
Cleaning man3
Cleaning man5
Cleaning man8
Cleaning doc
Cleaning po
Cleaning debian
libtoolize -c libtoolize -n -i >/dev/null 2>/dev/null && echo -i -f
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `.'.
libtoolize: copying file `./config.guess'
libtoolize: copying file `./config.sub'
libtoolize: copying file `./install-sh'
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
cp include/install-sh .
aclocal -I m4
autoconf
./configure $LOCAL_CONFIGURE_OPTIONS
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-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 ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -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 dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... 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 ISO C89... (cached) none needed
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 ISO C89... (cached) none needed
checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes
checking for awk... /bin/awk
checking for sort... /bin/sort
checking whether ln -s works... yes
checking for msgfmt... /usr/bin/msgfmt
checking for msgmerge... /usr/bin/msgmerge
checking for xgettext... /usr/bin/xgettext
checking for rpm... /bin/rpm
checking for rpmbuild... /usr/bin/rpmbuild
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking for lio_listio... no
checking for lio_listio in -lrt... yes
checking uuid.h usability... yes
checking uuid.h presence... yes
checking for uuid.h... yes
checking sys/uuid.h usability... no
checking sys/uuid.h presence... no
checking for sys/uuid.h... no
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_compare... no
checking for uuid_compare in -luuid... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_mutex_init in -lpthread... yes
checking for fadvise ... yes
checking for madvise ... yes
checking for mincore ... yes
checking for sendfile ... yes
checking for getmntent ... yes
checking for getmntinfo ... no
checking for fallocate... yes
checking for fiemap... yes
checking for preadv... yes
checking for sync_file_range... yes
checking for library containing blkid_probe_all... -lblkid
checking for blkid_probe_get_topology... yes
checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
make --no-print-directory Q= -C . default
/usr/bin/gmake --no-print-directory Q= include libxfs libxlog libxcmd libhandle libdisk copy db estimate fsck fsr growfs io logprint mkfs quota mdrestore repair rtcp m4 man doc po debian Building include
/usr/bin/gmake --no-print-directory Q= -q -C include || /usr/bin/gmake --no-print-directory Q= -C include
[LN] xfs
ln -s . xfs
[LN] disk
ln -s . disk
Building libxfs
/usr/bin/gmake --no-print-directory Q= -q -C libxfs || /usr/bin/gmake --no-print-directory Q= -C libxfs
[CC] gen_crc32table
gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -o gen_crc32table gen_crc32table.c
[GENERATE] crc32table.h
./gen_crc32table > crc32table.h

    [TEST]    CRC32

gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -D CRC32_SELFTEST=1 crc32.c -o crc32selftest
./crc32selftest
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 166 usec
crc32c: tests passed, 225944 bytes in 173 usec
gmake[3]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. gmake[2]: *** [libxfs] Error 2
make[1]: *** [default] Error 2
make: *** [default] Error 2
[relliott@msablackburn xfsprogs]$

Thanks.

-- steve

#3 lore raw
Quoted 20 lines · On Tue, Jul 22, 2014 at 04:09:51PM -0500, [email protected] wrote:
Quoted 1 line · Dave Chinner

Nothing built in the include directory - is this a clean build area?

Well, it was originally clean, but I did try the build several times (not sure why I thought trying it again might help, but in any case I suppose the subsequent attempts may not have been considered clean.)

So, I just tried a fresh checkout with the same results:

[relliott@msablackburn ~]$ rm -fr xfsprogs [relliott@msablackburn ~]$ git clone git://oss.sgi.com/xfs/cmds/xfsprogs
Initialized empty Git repository in /home/relliott/xfsprogs/.git/
remote: Counting objects: 14359, done.
remote: Compressing objects: 100% (5042/5042), done.
remote: Total 14359 (delta 11622), reused 11396 (delta 9306) Receiving objects: 100% (14359/14359), 4.43 MiB | 1.34 MiB/s, done. Resolving deltas: 100% (11622/11622), done. [relliott@msablackburn ~]$ cd xfsprogs [relliott@msablackburn xfsprogs]$ make

....

Quoted 4 lines

checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes

So, the $MAKEDEP variable should be fine....

Quoted 1 line

[relliott@msablackburn xfsprogs]$ make realclean; make Q=

...

Quoted 129 lines

aclocal -I m4
autoconf
./configure $LOCAL_CONFIGURE_OPTIONS
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-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 ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -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 dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... 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 ISO C89... (cached) none needed
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 ISO C89... (cached) none needed
checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes
checking for awk... /bin/awk
checking for sort... /bin/sort
checking whether ln -s works... yes
checking for msgfmt... /usr/bin/msgfmt
checking for msgmerge... /usr/bin/msgmerge
checking for xgettext... /usr/bin/xgettext
checking for rpm... /bin/rpm
checking for rpmbuild... /usr/bin/rpmbuild
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking for lio_listio... no
checking for lio_listio in -lrt... yes
checking uuid.h usability... yes
checking uuid.h presence... yes
checking for uuid.h... yes
checking sys/uuid.h usability... no
checking sys/uuid.h presence... no
checking for sys/uuid.h... no
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_compare... no
checking for uuid_compare in -luuid... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_mutex_init in -lpthread... yes
checking for fadvise ... yes
checking for madvise ... yes
checking for mincore ... yes
checking for sendfile ... yes
checking for getmntent ... yes
checking for getmntinfo ... no
checking for fallocate... yes
checking for fiemap... yes
checking for preadv... yes
checking for sync_file_range... yes
checking for library containing blkid_probe_all... -lblkid
checking for blkid_probe_get_topology... yes
checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
make --no-print-directory Q= -C . default
/usr/bin/gmake --no-print-directory Q= include libxfs libxlog libxcmd libhandle libdisk copy db estimate fsck fsr growfs io logprint mkfs quota mdrestore repair rtcp m4 man doc po debian Building include
/usr/bin/gmake --no-print-directory Q= -q -C include || /usr/bin/gmake --no-print-directory Q= -C include
[LN] xfs
ln -s . xfs

Quoted 8 lines

[LN] disk
ln -s . disk
Building libxfs
/usr/bin/gmake --no-print-directory Q= -q -C libxfs || /usr/bin/gmake --no-print-directory Q= -C libxfs
[CC] gen_crc32table
gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -o gen_crc32table gen_crc32table.c
[GENERATE] crc32table.h
./gen_crc32table > crc32table.h

But it's not running the dependency generation rule here, which is what generates the .ltdep file.

Can you please attach the built include/builddefs and include/platform_defs.h files that autoconf built?

Also, what version of autoconf are you running?

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#4 lore raw
Quoted 169 lines · Dave Chinner
Quoted 20 lines · On Tue, Jul 22, 2014 at 04:09:51PM -0500, [email protected] wrote:
Quoted 1 line · Dave Chinner

Nothing built in the include directory - is this a clean build area?

Well, it was originally clean, but I did try the build several times (not sure why I thought trying it again might help, but in any case I suppose the subsequent attempts may not have been considered clean.)

So, I just tried a fresh checkout with the same results:

[relliott@msablackburn ~]$ rm -fr xfsprogs [relliott@msablackburn ~]$ git clone git://oss.sgi.com/xfs/cmds/xfsprogs
Initialized empty Git repository in /home/relliott/xfsprogs/.git/
remote: Counting objects: 14359, done.
remote: Compressing objects: 100% (5042/5042), done.
remote: Total 14359 (delta 11622), reused 11396 (delta 9306) Receiving objects: 100% (14359/14359), 4.43 MiB | 1.34 MiB/s, done. Resolving deltas: 100% (11622/11622), done. [relliott@msablackburn ~]$ cd xfsprogs [relliott@msablackburn xfsprogs]$ make

....

Quoted 4 lines

checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes

So, the $MAKEDEP variable should be fine....

Quoted 1 line

[relliott@msablackburn xfsprogs]$ make realclean; make Q=

...

Quoted 129 lines

aclocal -I m4
autoconf
./configure $LOCAL_CONFIGURE_OPTIONS
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-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 ISO C89... none needed
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -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 dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... 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 ISO C89... (cached) none needed
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 ISO C89... (cached) none needed
checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes
checking for awk... /bin/awk
checking for sort... /bin/sort
checking whether ln -s works... yes
checking for msgfmt... /usr/bin/msgfmt
checking for msgmerge... /usr/bin/msgmerge
checking for xgettext... /usr/bin/xgettext
checking for rpm... /bin/rpm
checking for rpmbuild... /usr/bin/rpmbuild
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking for lio_listio... no
checking for lio_listio in -lrt... yes
checking uuid.h usability... yes
checking uuid.h presence... yes
checking for uuid.h... yes
checking sys/uuid.h usability... no
checking sys/uuid.h presence... no
checking for sys/uuid.h... no
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_compare... no
checking for uuid_compare in -luuid... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_mutex_init in -lpthread... yes
checking for fadvise ... yes
checking for madvise ... yes
checking for mincore ... yes
checking for sendfile ... yes
checking for getmntent ... yes
checking for getmntinfo ... no
checking for fallocate... yes
checking for fiemap... yes
checking for preadv... yes
checking for sync_file_range... yes
checking for library containing blkid_probe_all... -lblkid
checking for blkid_probe_get_topology... yes
checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
make --no-print-directory Q= -C . default
/usr/bin/gmake --no-print-directory Q= include libxfs libxlog libxcmd libhandle libdisk copy db estimate fsck fsr growfs io logprint mkfs quota mdrestore repair rtcp m4 man doc po debian Building include
/usr/bin/gmake --no-print-directory Q= -q -C include || /usr/bin/gmake --no-print-directory Q= -C include
[LN] xfs
ln -s . xfs

Quoted 8 lines

[LN] disk
ln -s . disk
Building libxfs
/usr/bin/gmake --no-print-directory Q= -q -C libxfs || /usr/bin/gmake --no-print-directory Q= -C libxfs
[CC] gen_crc32table
gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -o gen_crc32table gen_crc32table.c
[GENERATE] crc32table.h
./gen_crc32table > crc32table.h

Quoted 5 lines

But it's not running the dependency generation rule here, which is what generates the .ltdep file.

Can you please attach the built include/builddefs and include/platform_defs.h files that autoconf built?

Attached.

Quoted 2 lines

Also, what version of autoconf are you running?

[relliott@msablackburn include]$ autoconf --version autoconf (GNU Autoconf) 2.63
Copyright (C) 2008 Free Software Foundation, Inc. License GPLv2+: GNU GPL version 2 or later
<http://gnu.org/licenses/old-licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Written by David J. MacKenzie and Akim Demaille.
[relliott@msablackburn include]$

-- steve

#
# Copyright (c) 2004-2006 Silicon Graphics, Inc.
# All Rights Reserved.
#
# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it would be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write the Free Software Foundation,
# Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
#
# include/builddefs.  Generated from builddefs.in by configure.
#

ifndef _BUILDDEFS_INCLUDED_
_BUILDDEFS_INCLUDED_ = 1

DEBUG = -DDEBUG
OPTIMIZER = -g -O2
MALLOCLIB =
LOADERFLAGS =
LTLDFLAGS =
CFLAGS = -g -O2

LIBRT = -lrt
LIBUUID = -luuid
LIBPTHREAD = -lpthread
LIBTERMCAP =
LIBEDITLINE =
LIBREADLINE =
LIBBLKID = -lblkid
LIBXFS = $(TOPDIR)/libxfs/libxfs.la
LIBXCMD = $(TOPDIR)/libxcmd/libxcmd.la
LIBXLOG = $(TOPDIR)/libxlog/libxlog.la
LIBDISK = $(TOPDIR)/libdisk/libdisk.la
LIBHANDLE = $(TOPDIR)/libhandle/libhandle.la

PKG_NAME = xfsprogs
PKG_USER = relliott
PKG_GROUP = relliott
PKG_RELEASE = 1
PKG_VERSION = 3.2.1
PKG_PLATFORM = srcv
PKG_DISTRIBUTION= Linux

prefix = /usr
exec_prefix = ${prefix}
datarootdir = ${prefix}/share
top_builddir = ..

PKG_SBIN_DIR = ${exec_prefix}/sbin
PKG_ROOT_SBIN_DIR = /sbin
PKG_ROOT_LIB_DIR= /lib64
PKG_LIB_DIR = ${exec_prefix}/lib64
PKG_INC_DIR = ${prefix}/include/xfs
DK_INC_DIR = ${prefix}/include/disk
PKG_MAN_DIR = ${datarootdir}/man
PKG_DOC_DIR = ${datarootdir}/doc/xfsprogs
PKG_LOCALE_DIR = ${datarootdir}/locale

CC = gcc
AWK = /bin/awk
SED = /bin/sed
TAR = /bin/tar
ZIP = /bin/gzip
MAKE = /usr/bin/gmake
ECHO = echo
SORT = /bin/sort
LN_S = ln -s
SHELL = /bin/sh
LIBTOOL = $(SHELL) $(top_builddir)/libtool
MAKEDEPEND = gcc -MM

MSGFMT = /usr/bin/msgfmt
MSGMERGE = /usr/bin/msgmerge
XGETTEXT = /usr/bin/xgettext
LOCALIZED_FILES = $(TOPDIR)/./copy/xfs_copy.c $(TOPDIR)/./repair/dir2.c $(TOPDIR)/./repair/incore.c $(TOPDIR)/./repair/phase7.c $(TOPDIR)/./repair/threads.c $(TOPDIR)/./repair/phase6.c $(TOPDIR)/./repair/xfs_repair.c $(TOPDIR)/./repair/avl64.c $(TOPDIR)/./repair/incore_bmc.c $(TOPDIR)/./repair/attr_repair.c $(TOPDIR)/./repair/agheader.c $(TOPDIR)/./repair/progress.c $(TOPDIR)/./repair/phase2.c $(TOPDIR)/./repair/btree.c $(TOPDIR)/./repair/dinode.c $(TOPDIR)/./repair/globals.c $(TOPDIR)/./repair/phase4.c $(TOPDIR)/./repair/incore_ino.c $(TOPDIR)/./repair/incore_ext.c $(TOPDIR)/./repair/phase3.c $(TOPDIR)/./repair/dino_chunks.c $(TOPDIR)/./repair/phase1.c $(TOPDIR)/./repair/prefetch.c $(TOPDIR)/./repair/sb.c $(TOPDIR)/./repair/init.c $(TOPDIR)/./repair/versions.c $(TOPDIR)/./repair/rt.c $(TOPDIR)/./repair/avl.c $(TOPDIR)/./repair/phase5.c $(TOPDIR)/./repair/scan.c $(TOPDIR)/./repair/bmap.c $(TOPDIR)/./rtcp/xfs_rtcp.c $(TOPDIR)/./libxlog/xfs_log_recover.c $(TOPDIR)/./libxlog/util.c $(TOPDIR)/./logprint/log_print_trans.c $(TOPDIR)/./logprint/log_copy.c $(TOPDIR)/./logprint/logprint.c $(TOPDIR)/./logprint/log_dump.c $(TOPDIR)/./logprint/log_print_all.c $(TOPDIR)/./logprint/log_misc.c $(TOPDIR)/./libxfs/xfs_inode_fork.c $(TOPDIR)/./libxfs/gen_crc32table.c $(TOPDIR)/./libxfs/xfs_attr_leaf.c $(TOPDIR)/./libxfs/xfs_da_btree.c $(TOPDIR)/./libxfs/xfs_dir2.c $(TOPDIR)/./libxfs/trans.c $(TOPDIR)/./libxfs/xfs_sb.c $(TOPDIR)/./libxfs/xfs_dir2_data.c $(TOPDIR)/./libxfs/xfs_ialloc_btree.c $(TOPDIR)/./libxfs/xfs_ialloc.c $(TOPDIR)/./libxfs/xfs_inode_buf.c $(TOPDIR)/./libxfs/xfs_symlink_remote.c $(TOPDIR)/./libxfs/xfs_bmap.c $(TOPDIR)/./libxfs/xfs_btree.c $(TOPDIR)/./libxfs/xfs_log_rlimit.c $(TOPDIR)/./libxfs/xfs_rtbitmap.c $(TOPDIR)/./libxfs/xfs_alloc_btree.c $(TOPDIR)/./libxfs/xfs_dir2_block.c $(TOPDIR)/./libxfs/xfs_bmap_btree.c $(TOPDIR)/./libxfs/xfs_dir2_node.c $(TOPDIR)/./libxfs/darwin.c $(TOPDIR)/./libxfs/xfs_dir2_sf.c $(TOPDIR)/./libxfs/util.c $(TOPDIR)/./libxfs/radix-tree.c $(TOPDIR)/./libxfs/logitem.c $(TOPDIR)/./libxfs/linux.c $(TOPDIR)/./libxfs/freebsd.c $(TOPDIR)/./libxfs/xfs_alloc.c $(TOPDIR)/./libxfs/xfs_dir2_leaf.c $(TOPDIR)/./libxfs/xfs_dquot_buf.c $(TOPDIR)/./libxfs/xfs_attr.c $(TOPDIR)/./libxfs/init.c $(TOPDIR)/./libxfs/xfs_trans_resv.c $(TOPDIR)/./libxfs/crc32.c $(TOPDIR)/./libxfs/kmem.c $(TOPDIR)/./libxfs/rdwr.c $(TOPDIR)/./libxfs/xfs_attr_remote.c $(TOPDIR)/./libxfs/irix.c $(TOPDIR)/./libxfs/cache.c $(TOPDIR)/./growfs/xfs_growfs.c $(TOPDIR)/./libhandle/jdm.c $(TOPDIR)/./libhandle/handle.c $(TOPDIR)/./libxcmd/help.c $(TOPDIR)/./libxcmd/input.c $(TOPDIR)/./libxcmd/paths.c $(TOPDIR)/./libxcmd/quit.c $(TOPDIR)/./libxcmd/command.c $(TOPDIR)/./libxcmd/projects.c $(TOPDIR)/./estimate/xfs_estimate.c $(TOPDIR)/./libdisk/xvm.c $(TOPDIR)/./libdisk/fstype.c $(TOPDIR)/./libdisk/evms.c $(TOPDIR)/./libdisk/pttype.c $(TOPDIR)/./libdisk/md.c $(TOPDIR)/./libdisk/drivers.c $(TOPDIR)/./libdisk/lvm.c $(TOPDIR)/./libdisk/dm.c $(TOPDIR)/./db/help.c $(TOPDIR)/./db/symlink.c $(TOPDIR)/./db/dir2.c $(TOPDIR)/./db/field.c $(TOPDIR)/./db/type.c $(TOPDIR)/./db/debug.c $(TOPDIR)/./db/sig.c $(TOPDIR)/./db/convert.c $(TOPDIR)/./db/text.c $(TOPDIR)/./db/check.c $(TOPDIR)/./db/strvec.c $(TOPDIR)/./db/flist.c $(TOPDIR)/./db/input.c $(TOPDIR)/./db/io.c $(TOPDIR)/./db/btblock.c $(TOPDIR)/./db/attrset.c $(TOPDIR)/./db/agi.c $(TOPDIR)/./db/fprint.c $(TOPDIR)/./db/dquot.c $(TOPDIR)/./db/attrshort.c $(TOPDIR)/./db/bmroot.c $(TOPDIR)/./db/output.c $(TOPDIR)/./db/inode.c $(TOPDIR)/./db/quit.c $(TOPDIR)/./db/agf.c $(TOPDIR)/./db/hash.c $(TOPDIR)/./db/echo.c $(TOPDIR)/./db/agfl.c $(TOPDIR)/./db/write.c $(TOPDIR)/./db/command.c $(TOPDIR)/./db/print.c $(TOPDIR)/./db/freesp.c $(TOPDIR)/./db/block.c $(TOPDIR)/./db/sb.c $(TOPDIR)/./db/init.c $(TOPDIR)/./db/metadump.c $(TOPDIR)/./db/malloc.c $(TOPDIR)/./db/bit.c $(TOPDIR)/./db/addr.c $(TOPDIR)/./db/frag.c $(TOPDIR)/./db/attr.c $(TOPDIR)/./db/bmap.c $(TOPDIR)/./db/dir2sf.c $(TOPDIR)/./db/faddr.c $(TOPDIR)/./mdrestore/xfs_mdrestore.c $(TOPDIR)/./quota/free.c $(TOPDIR)/./quota/quot.c $(TOPDIR)/./quota/quota.c $(TOPDIR)/./quota/state.c $(TOPDIR)/./quota/edit.c $(TOPDIR)/./quota/darwin.c $(TOPDIR)/./quota/util.c $(TOPDIR)/./quota/project.c $(TOPDIR)/./quota/path.c $(TOPDIR)/./quota/linux.c $(TOPDIR)/./quota/report.c $(TOPDIR)/./quota/freebsd.c $(TOPDIR)/./quota/init.c $(TOPDIR)/./quota/irix.c $(TOPDIR)/./mkfs/maxtrres.c $(TOPDIR)/./mkfs/xfs_mkfs.c $(TOPDIR)/./mkfs/fstyp.c $(TOPDIR)/./mkfs/proto.c $(TOPDIR)/./io/parent.c $(TOPDIR)/./io/seek.c $(TOPDIR)/./io/file.c $(TOPDIR)/./io/madvise.c $(TOPDIR)/./io/resblks.c $(TOPDIR)/./io/freeze.c $(TOPDIR)/./io/fsync.c $(TOPDIR)/./io/mmap.c $(TOPDIR)/./io/fadvise.c $(TOPDIR)/./io/prealloc.c $(TOPDIR)/./io/inject.c $(TOPDIR)/./io/fiemap.c $(TOPDIR)/./io/sendfile.c $(TOPDIR)/./io/pwrite.c $(TOPDIR)/./io/link.c $(TOPDIR)/./io/getrusage.c $(TOPDIR)/./io/sync_file_range.c $(TOPDIR)/./io/pread.c $(TOPDIR)/./io/readdir.c $(TOPDIR)/./io/shutdown.c $(TOPDIR)/./io/mincore.c $(TOPDIR)/./io/open.c $(TOPDIR)/./io/init.c $(TOPDIR)/./io/imap.c $(TOPDIR)/./io/truncate.c $(TOPDIR)/./io/attr.c $(TOPDIR)/./io/bmap.c $(TOPDIR)/./fsr/xfs_fsr.c

RPM = /bin/rpm
RPMBUILD = /usr/bin/rpmbuild
RPM_VERSION = 4

ENABLE_SHARED = yes
ENABLE_GETTEXT = yes
ENABLE_EDITLINE = no
ENABLE_READLINE = no
ENABLE_BLKID = yes

HAVE_ZIPPED_MANPAGES = false

HAVE_FADVISE = yes
HAVE_MADVISE = yes
HAVE_MINCORE = yes
HAVE_SENDFILE = yes
HAVE_GETMNTENT = yes
HAVE_GETMNTINFO =
HAVE_FALLOCATE = yes
HAVE_FIEMAP = yes
HAVE_PREADV = yes
HAVE_SYNC_FILE_RANGE = yes
HAVE_READDIR = yes

GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall
# -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-decl

ifeq ($(PKG_PLATFORM),linux)
PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS) ifeq ($(HAVE_UMODE_T),yes)
PCFLAGS += -DHAVE_UMODE_T
endif
DEPENDFLAGS = -D__linux__
endif
ifeq ($(PKG_PLATFORM),gnukfreebsd)
PCFLAGS = -D_GNU_SOURCE $(GCCFLAGS)
endif
ifeq ($(PKG_PLATFORM),darwin)
PCFLAGS = -traditional-cpp $(GCCFLAGS)
DEPENDFLAGS = -D__APPLE__
endif
ifeq ($(PKG_PLATFORM),irix)
PLDLIBS = -ldisk -lgen
DEPENDFLAGS = -D__sgi__
endif
ifeq ($(PKG_PLATFORM),freebsd)
PLDLIBS = -L/usr/local/lib -lintl
PCFLAGS = -I/usr/local/include $(GCCFLAGS)
DEPENDFLAGS = -D__FreeBSD__
endif

GCFLAGS = $(OPTIMIZER) $(DEBUG) \
	  -DVERSION=\"$(PKG_VERSION)\" -DLOCALEDIR=\"$(PKG_LOCALE_DIR)\"  \
	  -DPACKAGE=\"$(PKG_NAME)\" -I$(TOPDIR)/include

ifeq ($(ENABLE_GETTEXT),yes)
GCFLAGS += -DENABLE_GETTEXT
endif

# First, Global, Platform, Local CFLAGS CFLAGS += $(FCFLAGS) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)

include $(TOPDIR)/include/buildmacros

endif

#
# For targets that should always be rebuilt,

# define a target that is never up-to-date.
# Targets needing this should depend on $(_FORCE)
_FORCE = __force_build

/* include/platform_defs.h. Generated from platform_defs.h.in by configure. */ /*
* Copyright (c) 2000-2005 Silicon Graphics, Inc.
* All Rights Reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it would be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA *
* @configure_input@
*/
#ifndef __XFS_PLATFORM_DEFS_H__
#define __XFS_PLATFORM_DEFS_H__

#include <stdio.h>
#include <errno.h>
#include <fcntl.h>
#include <stdarg.h>
#include <assert.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <unistd.h>
#include <pthread.h>
#include <ctype.h>
#include <sys/types.h>
#include <limits.h>
#include <stdbool.h>

#define HAVE___U32 1
#ifdef HAVE___U32
#include <asm/types.h>
#else
typedef unsigned char __u8;
typedef signed char __s8;
typedef unsigned short __u16;
typedef signed short __s16;
typedef unsigned int __u32;
typedef signed int __s32;
typedef unsigned long long int __u64;
typedef signed long long int __s64;
#endif

#ifdef __CHECKER__
#define __bitwise __attribute__((bitwise))
#define __force __attribute__((force))
#else
#define __bitwise
#define __force
#endif

typedef __u16 __bitwise __le16;
typedef __u32 __bitwise __le32;
typedef __u64 __bitwise __le64;

typedef __u16 __bitwise __be16;
typedef __u32 __bitwise __be32;
typedef __u64 __bitwise __be64;

typedef struct filldir filldir_t;

#if defined(__linux__)
#include <xfs/linux.h>
#elif defined(__FreeBSD__)
#include <xfs/freebsd.h>
#elif defined(__FreeBSD_kernel__)
#include <xfs/gnukfreebsd.h>
#elif defined(__APPLE__)
#include <xfs/darwin.h>
#elif defined(__sgi__) || defined(__sgi)
#include <xfs/irix.h>
#else

# error unknown platform... have fun porting!
#endif

/* long and pointer must be either 32 bit or 64 bit */ #define SIZEOF_LONG 8
#define SIZEOF_CHAR_P 8
#define BITS_PER_LONG (SIZEOF_LONG * CHAR_BIT)

/* Check if __psint_t is set to something meaningful */ /* #undef HAVE___PSINT_T */
#ifndef HAVE___PSINT_T

# if (SIZEOF_CHAR_P * CHAR_BIT) == 32
typedef int __psint_t;
# elif (SIZEOF_CHAR_P * CHAR_BIT) == 64
#  if BITS_PER_LONG == 64
typedef long __psint_t;
#  else
/* This is a very strange architecture, which has 64 bit pointers but */
/* not 64 bit longs.  So, just punt here and assume long long is OK.  */
typedef long long __psint_t;
#  endif
# else
#  error Unknown pointer size
# endif
#endif

/* Check if __psunsigned_t is set to something meaningful */ /* #undef HAVE___PSUNSIGNED_T */
#ifndef HAVE___PSUNSIGNED_T

# if (SIZEOF_CHAR_P * CHAR_BIT) == 32
typedef unsigned int __psunsigned_t;
# elif (SIZEOF_CHAR_P * CHAR_BIT) == 64
#  if BITS_PER_LONG == 64
typedef long __psunsigned_t;
#  else
/* This is a very strange architecture, which has 64 bit pointers but */
/* not 64 bit longs.  So, just punt here and assume long long is OK.  */
typedef unsigned long long __psunsigned_t;
#  endif
# else
#  error Unknown pointer size
# endif
#endif

/* Check whether to define umode_t ourselves. */
#ifndef HAVE_UMODE_T
typedef unsigned short umode_t;
#endif

/* Define if you want gettext (I18N) support */
/* #undef ENABLE_GETTEXT */
#ifdef ENABLE_GETTEXT

# include <libintl.h>
# define _(x)                   gettext(x)
# define N_(x)			 x
#else
# define _(x)                   (x)
# define N_(x)			 x
# define textdomain(d)          do { } while (0)
# define bindtextdomain(d,dir)  do { } while (0)
#endif
#include <locale.h>

#ifdef DEBUG

# define ASSERT(EX)	assert(EX)
#else
# define ASSERT(EX)	((void) 0)
#endif

/*
* sparse kernel source annotations
*/
#ifndef __user
#define __user
#endif

#define IRIX_DEV_BITSMAJOR      14
#define IRIX_DEV_BITSMINOR      18
#define IRIX_DEV_MAXMAJ         0x1ff
#define IRIX_DEV_MAXMIN         0x3ffff
#define IRIX_DEV_MAJOR(dev)	((int)(((unsigned)(dev) >> IRIX_DEV_BITSMINOR) \
					& IRIX_DEV_MAXMAJ))
#define IRIX_DEV_MINOR(dev)	((int)((dev) & IRIX_DEV_MAXMIN))
#define IRIX_MKDEV(major,minor)	((xfs_dev_t)(((major) << IRIX_DEV_BITSMINOR) \
					| (minor&IRIX_DEV_MAXMIN)))

#define IRIX_DEV_TO_KDEVT(dev) makedev(IRIX_DEV_MAJOR(dev),IRIX_DEV_MINOR(dev))

/* ARM old ABI has some weird alignment/padding */ #if defined(__arm__) && !defined(__ARM_EABI__) #define __arch_pack __attribute__((packed)) #else
#define __arch_pack
#endif

#ifndef min
#define min(a,b) (((a)<(b))?(a):(b))
#define max(a,b) (((a)>(b))?(a):(b))
#endif

#endif /* __XFS_PLATFORM_DEFS_H__ */

#5 lore raw
Quoted 3 lines · On Wed, Jul 23, 2014 at 09:01:18AM -0500, [email protected] wrote:
Quoted 2 lines · Dave Chinner

Can you please attach the built include/builddefs and include/platform_defs.h files that autoconf built?

.....

Quoted 7 lines

PKG_NAME = xfsprogs
PKG_USER = relliott
PKG_GROUP = relliott
PKG_RELEASE = 1
PKG_VERSION = 3.2.1
PKG_PLATFORM = srcv

I'd say that's your problem right there - your system is not identifying itself as a linux machine according to autoconf. i.e. that should say "linux", not "srcv". That'll make the rest of the makefiles behave strangely, as nothing that is conditional for the linux build to work will be added or run.

I guess we now need to look into why autoconf is giving this result. Can you look in the autoconf output and config.* files to see why it's coming up with this platform?

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#6 lore raw
In reply to [email protected]

So you're on rhel6... I build xfstests there all the time, weird.

On 7/22/14, 4:09 PM, [email protected] wrote:
...

Quoted 4 lines

checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... no

I get "yes" here - why wouldn't -static work?

Quoted 30 lines

checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... 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 ISO C89... (cached) none needed
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 ISO C89... (cached) none needed
checking for gmake... /usr/bin/gmake
checking for tar... /bin/tar
checking for gzip... /bin/gzip
checking whether gcc -MM is supported... yes
checking for awk... /bin/awk
checking for sort... /bin/sort
checking whether ln -s works... yes
checking for msgfmt... /usr/bin/msgfmt
checking for msgmerge... /usr/bin/msgmerge
checking for xgettext... /usr/bin/xgettext
checking for rpm... /bin/rpm
checking for rpmbuild... /usr/bin/rpmbuild

Quoted 8 lines

checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking for lio_listio... no
checking for lio_listio in -lrt... yes
checking uuid.h usability... yes
checking uuid.h presence... yes
checking for uuid.h... yes

and here I get

+checking uuid.h usability... no
+checking uuid.h presence... no
+checking for uuid.h... no

Quoted 40 lines

checking sys/uuid.h usability... no
checking sys/uuid.h presence... no
checking for sys/uuid.h... no
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_compare... no
checking for uuid_compare in -luuid... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_mutex_init in -lpthread... yes
checking for fadvise ... yes
checking for madvise ... yes
checking for mincore ... yes
checking for sendfile ... yes
checking for getmntent ... yes
checking for getmntinfo ... no
checking for fallocate... yes
checking for fiemap... yes
checking for preadv... yes
checking for sync_file_range... yes
checking for library containing blkid_probe_all... -lblkid
checking for blkid_probe_get_topology... yes
checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
make --no-print-directory Q= -C . default
/usr/bin/gmake --no-print-directory Q= include libxfs libxlog libxcmd libhandle libdisk copy db estimate fsck fsr growfs io logprint mkfs quota mdrestore repair rtcp m4 man doc po debian Building include
/usr/bin/gmake --no-print-directory Q= -q -C include || /usr/bin/gmake --no-print-directory Q= -C include
[LN] xfs

Quoted 8 lines

ln -s . xfs
[LN] disk
ln -s . disk
Building libxfs
/usr/bin/gmake --no-print-directory Q= -q -C libxfs || /usr/bin/gmake --no-print-directory Q= -C libxfs
[CC] gen_crc32table
gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -o gen_crc32table gen_crc32table.c
[GENERATE] crc32table.h

mine is building w/ some different flags:

+gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET
_BITS=64 -funsigned-char -fno-strict-aliasing -Wall -o gen_crc32table gen_crc32table.c

those flags should have been picked up from include/builddefs -

ifeq ($(PKG_PLATFORM),linux)
PCFLAGS = -D_GNU_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_FILE_OFFSET_BITS=64 $(GCCFLAGS)
...

GCCFLAGS = -funsigned-char -fno-strict-aliasing -Wall

Quoted 12 lines

./gen_crc32table > crc32table.h

    [TEST]    CRC32

gcc -g -O2 -I. -g -O2 -DNDEBUG -DVERSION=\"3.2.1\" -DLOCALEDIR=\"/usr/share/locale\" -DPACKAGE=\"xfsprogs\" -I../include -DENABLE_GETTEXT -D CRC32_SELFTEST=1 crc32.c -o crc32selftest
./crc32selftest
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 166 usec
crc32c: tests passed, 225944 bytes in 173 usec
gmake[3]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. gmake[2]: *** [libxfs] Error 2
make[1]: *** [default] Error 2
make: *** [default] Error 2
[relliott@msablackburn xfsprogs]$

and I get past here just fine. :(

TBH, the quickest path may be to grab xfsprogs.src.rpm from Rawhide
http://kojipkgs.fedoraproject.org/packages/xfsprogs/3.2.1/1.fc20/src/xfsprogs-3.2.1-1.fc20.src.rpm
rpmbuild --rebuild that, and install the 3 packages it creates. That should get you over the xfsprogs hump.

But it'd be nice to know why your build fails, still...

-Eric

Quoted 3 lines

Thanks.

-- steve

#7 lore raw
In reply to Dave Chinner

I have just recently gone through the process of attempting to build and run xfstests based on the current sources from oss.sgi.com. Not having exactly the correct packages and kernel version creates problems. The build on FEDORA fails complaining about too many symlinks, I was successful on SUSE V 13 updated to kernel v3.15 and adding the following packages before attempting git and the build:

git gcc libtool automake make gettext-tools libattr-devel libacl-devel libuuid-devel ncurses-devel quota indent libcap-progs btrfsprogs

I then git and built xfsprogs followed by xfsdump and finally xfstests

After adding the fsgqa group and user the appropriate definitions of TEST_DEV and SCRATCH_DEV the quick test (./check -g quick) runs with 5 errors on xfs and one error on ext4.

If you just want xfstest to run - you may want to start with SUSE and the procedure above.

Martin Furuhjlem

Quoted 84 lines · Dave Chinner

[cc [email protected] - list for XFS issues]

Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running

into this:

Quoted 14 lines

[scameron@localhost xfsprogs]$ git log --oneline | head -1 ba24eb7 logprint: Fix printing of AGF and AGI buffers [scameron@localhost xfsprogs]$ git pull
Already up-to-date.
[scameron@localhost xfsprogs]$ git diff [scameron@localhost xfsprogs]$ ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for gcc... gcc
checking for C compiler default output file name... a.out

[...snip...]

Quoted 16 lines

checking for library containing blkid_probe_all... -lblkid checking for blkid_probe_get_topology... yes checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status config.status: creating include/builddefs config.status: creating include/platform_defs.h config.status: include/platform_defs.h is unchanged config.status: executing libtool commands [scameron@localhost xfsprogs]$ make
Building include

Nothing built in the include directory - is this a clean build area?

Quoted 2 lines

Building libxfs
gmake[2]: *** No rule to make target .ltdep', needed by ltdepend'.

Stop.

Quoted 4 lines

gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

Any ideas what's wrong here?

The automatic dependency generation failed to generate the .ltdep file. But it can't be a clean build area, because the libxfs build rule is:

default: crc32selftest ltdepend $(LTLIBRARY)

and I don't see the crc32selftest rule being executed before the dependencies are generated. It shoul dlook something like:

$ make
....
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
Building include
    [LN]     xfs
    [LN]     disk
Building libxfs
    [CC]     gen_crc32table
    [GENERATE] crc32table.h
    [TEST]    CRC32
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 131 usec
crc32c: tests passed, 225944 bytes in 131 usec
    [CC]     cache.lo
....

So the first thing I'd do is run 'make realclean; make' to restart the build for a clean workarea first. If that doesn't fix the problem, then I'll need to know versions of libtool, gcc, etc that you are using and you'll need to post the output of "make realclean; make Q=" so we can see the command line that is actually failing.

Cheers,

Quoted 10 lines

Dave.
--
Dave Chinner
[email protected]
--
To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to [email protected]
More majordomo info at
https://urldefense.proofpoint.com/v1/url?u=http://vger.kernel.org/majordomo-info.html&k=2a4Akkj3oY%2FOkjwft1MTMw%3D%3D%0A&r=jY8ozfSdJMiFQxJbqMIFvF4Q5MYg6nOaolSGt082e48%3D%0A&m=bI0%2F1zZckAg2ytRBSMleHvthTKGuNDtYaUYrC%2BGOuV4%3D%0A&s=7e28774591d3b095daa0b053b597ecb5e73203b4a403132664165f44ac3aaa49

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#8 lore raw
Quoted 2 lines · Martin Furuhjelm

I have just recently gone through the process of attempting to build and run xfstests based on the current sources from oss.sgi.com <http://oss.sgi.com>.
Not having exactly the correct packages and kernel version creates problems. The build on FEDORA fails complaining about too many symlinks, I was successful on SUSE V 13 updated to kernel v3.15 and adding the following packages before attempting git and the build:

FWIW, on fedora, simply:

# yum install xfsprogs xfsprogs-devel xfsprogs-qa-devel

should be enough (along w/ the other dependencies like libuuid, libacl, etc) to build xfstests.

-Eric

Quoted 111 lines

git gcc libtool automake make gettext-tools libattr-devel libacl-devel libuuid-devel ncurses-devel quota indent libcap-progs btrfsprogs

I then git and built xfsprogs followed by xfsdump and finally xfstests

After adding the fsgqa group and user the appropriate definitions of TEST_DEV and SCRATCH_DEV the quick test (./check -g quick) runs with 5 errors on xfs and one error on ext4.

If you just want xfstest to run - you may want to start with SUSE and the procedure above.

Martin Furuhjlem

On Tue, Jul 22, 2014 at 2:56 PM, Dave Chinner <[email protected] <mailto:[email protected]>> wrote:

[cc [email protected] <mailto:[email protected]> - list for XFS issues]

On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] <mailto:[email protected]> wrote:
>
> I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:
>
> [scameron@localhost xfsprogs]$ git log --oneline | head -1
> ba24eb7 logprint: Fix printing of AGF and AGI buffers
> [scameron@localhost xfsprogs]$ git pull
> Already up-to-date.
> [scameron@localhost xfsprogs]$ git diff
> [scameron@localhost xfsprogs]$ ./configure
> checking build system type... x86_64-unknown-linux-gnu
> checking host system type... x86_64-unknown-linux-gnu
> checking for gcc... gcc
> checking for C compiler default output file name... a.out
>
> [...snip...]
>
> checking for library containing blkid_probe_all... -lblkid
> checking for blkid_probe_get_topology... yes
> checking for readdir... yes
> checking size of long... 8
> checking size of char *... 8
> checking for __psint_t ... no
> checking for __psunsigned_t ... no
> checking for __u32 ... yes
> checking for umode_t... yes
> configure: creating ./config.status
> config.status: creating include/builddefs
> config.status: creating include/platform_defs.h
> config.status: include/platform_defs.h is unchanged
> config.status: executing libtool commands
> [scameron@localhost xfsprogs]$ make
> Building include

Nothing built in the include directory - is this a clean build area?

> Building libxfs
> gmake[2]: *** No rule to make target .ltdep', needed by ltdepend'. Stop. > gmake[1]: *** [libxfs] Error 2
> make: *** [default] Error 2
>
> Any ideas what's wrong here?

The automatic dependency generation failed to generate the .ltdep file. But it can't be a clean build area, because the libxfs build rule is:

default: crc32selftest ltdepend $(LTLIBRARY)

and I don't see the crc32selftest rule being executed before the dependencies are generated. It shoul dlook something like:

$ make
....
configure: creating ./config.status config.status: creating include/builddefs config.status: creating include/platform_defs.h config.status: executing libtool commands Building include
[LN] xfs
[LN] disk
Building libxfs
[CC] gen_crc32table
[GENERATE] crc32table.h
[TEST] CRC32
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 131 usec
crc32c: tests passed, 225944 bytes in 131 usec
[CC] cache.lo
....

So the first thing I'd do is run 'make realclean; make' to restart the build for a clean workarea first. If that doesn't fix the problem, then I'll need to know versions of libtool, gcc, etc that you are using and you'll need to post the output of "make realclean; make Q=" so we can see the command line that is actually failing.

Cheers,

Dave.
--
Dave Chinner
[email protected] <mailto:[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to [email protected] <mailto:[email protected]>
More majordomo info at https://urldefense.proofpoint.com/v1/url?u=http://vger.kernel.org/majordomo-info.html&k=2a4Akkj3oY%2FOkjwft1MTMw%3D%3D%0A&r=jY8ozfSdJMiFQxJbqMIFvF4Q5MYg6nOaolSGt082e48%3D%0A&m=bI0%2F1zZckAg2ytRBSMleHvthTKGuNDtYaUYrC%2BGOuV4%3D%0A&s=7e28774591d3b095daa0b053b597ecb5e73203b4a403132664165f44ac3aaa49

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#9 lore raw
In reply to Martin Furuhjelm
Quoted 10 lines · Martin Furuhjelm

I have just recently gone through the process of attempting to build and run xfstests based on the current sources from oss.sgi.com. Not having exactly the correct packages and kernel version creates problems. The build on FEDORA fails complaining about too many symlinks, I was successful on SUSE V 13 updated to kernel v3.15 and adding the following packages before attempting git and the build:

git gcc libtool automake make gettext-tools libattr-devel libacl-devel libuuid-devel ncurses-devel quota indent libcap-progs btrfsprogs

Quoted 8 lines

I then git and built xfsprogs followed by xfsdump and finally xfstests

After adding the fsgqa group and user the appropriate definitions of TEST_DEV and SCRATCH_DEV the quick test (./check -g quick) runs with 5 errors on xfs and one error on ext4.

If you just want xfstest to run - you may want to start with SUSE and the procedure above.

Thanks,

Actually I want to run it with 3.16.0-rc5+ which is to say, with Christoph Hellwig's scsi-mq.4 tree along with ~150 patches to the hpsa driver applied on top of that. Basically, I'm trying to gain confidence in a fairly massive set of driver changes by testing with xfstests (among other things, of course).

-- steve

Quoted 99 lines

Martin Furuhjlem

Quoted 94 lines · Dave Chinner

[cc [email protected] - list for XFS issues]

Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running

into this:

Quoted 14 lines

[scameron@localhost xfsprogs]$ git log --oneline | head -1 ba24eb7 logprint: Fix printing of AGF and AGI buffers [scameron@localhost xfsprogs]$ git pull
Already up-to-date.
[scameron@localhost xfsprogs]$ git diff [scameron@localhost xfsprogs]$ ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for gcc... gcc
checking for C compiler default output file name... a.out

[...snip...]

Quoted 16 lines

checking for library containing blkid_probe_all... -lblkid checking for blkid_probe_get_topology... yes checking for readdir... yes
checking size of long... 8
checking size of char *... 8
checking for __psint_t ... no
checking for __psunsigned_t ... no
checking for __u32 ... yes
checking for umode_t... yes
configure: creating ./config.status config.status: creating include/builddefs config.status: creating include/platform_defs.h config.status: include/platform_defs.h is unchanged config.status: executing libtool commands [scameron@localhost xfsprogs]$ make
Building include

Nothing built in the include directory - is this a clean build area?

Quoted 2 lines

Building libxfs
gmake[2]: *** No rule to make target .ltdep', needed by ltdepend'.

Stop.

Quoted 4 lines

gmake[1]: *** [libxfs] Error 2
make: *** [default] Error 2

Any ideas what's wrong here?

The automatic dependency generation failed to generate the .ltdep file. But it can't be a clean build area, because the libxfs build rule is:

default: crc32selftest ltdepend $(LTLIBRARY)

and I don't see the crc32selftest rule being executed before the dependencies are generated. It shoul dlook something like:

$ make
....
configure: creating ./config.status
config.status: creating include/builddefs
config.status: creating include/platform_defs.h
config.status: executing libtool commands
Building include
    [LN]     xfs
    [LN]     disk
Building libxfs
    [CC]     gen_crc32table
    [GENERATE] crc32table.h
    [TEST]    CRC32
CRC_LE_BITS = 32
crc32: tests passed, 225944 bytes in 131 usec
crc32c: tests passed, 225944 bytes in 131 usec
    [CC]     cache.lo
....

So the first thing I'd do is run 'make realclean; make' to restart the build for a clean workarea first. If that doesn't fix the problem, then I'll need to know versions of libtool, gcc, etc that you are using and you'll need to post the output of "make realclean; make Q=" so we can see the command line that is actually failing.

Cheers,

Dave.
--
Dave Chinner
[email protected]
--
To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to [email protected]
More majordomo info at
https://urldefense.proofpoint.com/v1/url?u=http://vger.kernel.org/majordomo-info.html&k=2a4Akkj3oY%2FOkjwft1MTMw%3D%3D%0A&r=jY8ozfSdJMiFQxJbqMIFvF4Q5MYg6nOaolSGt082e48%3D%0A&m=bI0%2F1zZckAg2ytRBSMleHvthTKGuNDtYaUYrC%2BGOuV4%3D%0A&s=7e28774591d3b095daa0b053b597ecb5e73203b4a403132664165f44ac3aaa49

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#10 lore raw
In reply to Martin Furuhjelm
Quoted 10 lines · Martin Furuhjelm

I have just recently gone through the process of attempting to build and run xfstests based on the current sources from oss.sgi.com. Not having exactly the correct packages and kernel version creates problems. The build on FEDORA fails complaining about too many symlinks, I was successful on SUSE V 13 updated to kernel v3.15 and adding the following packages before attempting git and the build:

git gcc libtool automake make gettext-tools libattr-devel libacl-devel libuuid-devel ncurses-devel quota indent libcap-progs btrfsprogs

Quoted 8 lines

I then git and built xfsprogs followed by xfsdump and finally xfstests

After adding the fsgqa group and user the appropriate definitions of TEST_DEV and SCRATCH_DEV the quick test (./check -g quick) runs with 5 errors on xfs and one error on ext4.

If you just want xfstest to run - you may want to start with SUSE and the procedure above.

Perhaps it would be good to document that in the INSTALL file? Can you write a patch to do that, please?

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#11 lore raw
In reply to [email protected]
Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

What distribution are you building on? I had a frustrating enough time getting it to build on Ubuntu and Debian systems a while back (not xfstests' fault; sometimes the distro doesn't ship all of the header files or have recent enough libraries) that I created xfstests-bld which does a hermetic build of xfstests. That way, it doesn't depend on anything getting shipped by the distribution.

It's also useful if you are running in a very restrictive run-time environment, such as what you might find in a highly opimized cloud data center, and you can't depend on any shared libraries, etc. Or if you need to do a build for an embedded platform where again, you can't depend on anything getting provided by the distribution.

Anyway, give it a try and see if it helps,

git://git.kernel.org/pub/scm/fs/ext2/xfstests-bld.git

If you have any problems, let me know!

- Ted

#12 lore raw
Quoted 10 lines · Theodore Ts'o
Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

What distribution are you building on? I had a frustrating enough time getting it to build on Ubuntu and Debian systems a while back (not xfstests' fault; sometimes the distro doesn't ship all of the header files or have recent enough libraries) that I created xfstests-bld which does a hermetic build of xfstests. That way, it doesn't depend on anything getting shipped by the distribution.

That doesn't help us triage or fix up the problems people have, Ted. xfstests needs to run on lots of different distros - even ones that are years old - and so we need to understand and fix these problems, not work around them.

Perhaps you could spend some time and send patches to document the build/installation procedure that you use so we can improve the process for everyone?

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#13 lore raw
Quoted 12 lines · Dave Chinner
Quoted 10 lines · Theodore Ts'o
Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

What distribution are you building on? I had a frustrating enough time getting it to build on Ubuntu and Debian systems a while back (not xfstests' fault; sometimes the distro doesn't ship all of the header files or have recent enough libraries) that I created xfstests-bld which does a hermetic build of xfstests. That way, it doesn't depend on anything getting shipped by the distribution.

Quoted 8 lines

That doesn't help us triage or fix up the problems people have, Ted. xfstests needs to run on lots of different distros - even ones that are years old - and so we need to understand and fix these problems, not work around them.

Perhaps you could spend some time and send patches to document the build/installation procedure that you use so we can improve the process for everyone?

Xfstests depends on external libraries which might not be there, or might be out of date. Or the xfsprogs might be out of date, or again, non-existent. Do you really want to try to make xfststs work in such an environment?

The only solution would be to either try to radically restrict which tests run if various bits of infrastructure which xfstests depends on aren't there (which means you don't get as much testing done, which is certainly non-ideal), or you need to be willing to (optionally) build various libaries and other support programs as part of the xfstests build.

I didn't bother sending patches that would do any of this, because I assumed they would have been rejected with extreme prejudice. Was I wrong?

Are you really interested in making xfstests not depend on *anything* (not xfsprogs, not the aio, acl, xattr, or quota library, etc., etc) being available in its build-time and run-time environment? Because that's the problem I needed to solve.

Cheers,

- Ted

#14 lore raw
Quoted 18 lines · Theodore Ts'o
Quoted 17 lines · Dave Chinner
Quoted 10 lines · Theodore Ts'o
Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

What distribution are you building on? I had a frustrating enough time getting it to build on Ubuntu and Debian systems a while back (not xfstests' fault; sometimes the distro doesn't ship all of the header files or have recent enough libraries) that I created xfstests-bld which does a hermetic build of xfstests. That way, it doesn't depend on anything getting shipped by the distribution.

That doesn't help us triage or fix up the problems people have, Ted. xfstests needs to run on lots of different distros - even ones that are years old - and so we need to understand and fix these problems, not work around them.

Quoted 6 lines
Quoted 3 lines

Perhaps you could spend some time and send patches to document the build/installation procedure that you use so we can improve the process for everyone?

Xfstests depends on external libraries which might not be there, or might be out of date.

Yup, that's why we have:

a) autoconf
b) _requires_* rules
c) output filters

So that xfstests works in as wide a range of environments as possible. We've been doing this since xfstests was first created - it even works on different OSes, not just different Linux distros...

Quoted 3 lines

Or the xfsprogs might be out of date, or again, non-existent. Do you really want to try to make xfststs work in such an environment?

I didn't say that. I'm not sure how you made the leap from being asked "can you document the build dependencies you needed to solve" to "lets make xfstests run without any external dependencies". I'm trying to get someone to document the build dependencies in the INSTALL file, not trying to justify the existence of your xfstests fork ;)

Cheers,

Dave.

Signature · 2 lines
Dave Chinner
[email protected]
#15 lore raw
Quoted 7 lines · Dave Chinner

I didn't say that. I'm not sure how you made the leap from being asked "can you document the build dependencies you needed to solve" to "lets make xfstests run without any external dependencies". I'm trying to get someone to document the build dependencies in the INSTALL file, not trying to justify the existence of your xfstests fork ;)

It's not a fork. If you look at xfstests-bld, it is an infrastructure which pulls in via get the latest version of xfstests, and builds it in a hermetic environment. Think of it as a distribution independent packaging infrastructure for xfstests.

It's as much of a fork as Red Hat's varoius source rpms. And like many packaging setups, it can be far more convenient for people to use the package build scripts than to try to build various source packages from scratch, and having to worry about all of the various dependencies.

Regards,

- Ted

#16 lore raw
In reply to Theodore Ts'o
Quoted 5 lines · Theodore Ts'o
Quoted 2 lines · On Tue, Jul 22, 2014 at 11:06:41AM -0500, [email protected] wrote:

I'm trying to build xfsprogs (in order to run xfstests), and I'm running into this:

What distribution are you building on?

RHEL 6 update 5 on x86_64, which I would think is not considered to be anything exotic.

[relliott@msablackburn include]$ cat /etc/*-release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch Red Hat Enterprise Linux Server release 6.5 (Santiago)
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[relliott@msablackburn include]$

But, I am not running the usual kernel, but this one

git://git.infradead.org/users/hch/scsi.git

from this branch:

remotes/origin/scsi-mq.4

with a ton of patches to the hpsa driver (not that xfsprogs should care about that.).

Quoted 13 lines

I had a frustrating enough
time getting it to build on Ubuntu and Debian systems a while back (not xfstests' fault; sometimes the distro doesn't ship all of the header files or have recent enough libraries) that I created xfstests-bld which does a hermetic build of xfstests. That way, it doesn't depend on anything getting shipped by the distribution.

It's also useful if you are running in a very restrictive run-time environment, such as what you might find in a highly opimized cloud data center, and you can't depend on any shared libraries, etc. Or if you need to do a build for an embedded platform where again, you can't depend on anything getting provided by the distribution.

Quoted 5 lines

Anyway, give it a try and see if it helps,

git://git.kernel.org/pub/scm/fs/ext2/xfstests-bld.git

If you have any problems, let me know!

Thanks. If other avenues don't work out it is something to try.

-- steve