xfstests: fix dbtest build
PATCH 1/1 xfstests: fix dbtest build
At least on my x86_64 RHEL5 box, if gdbm-devel is installed, then the xfstests build fails with:
gcc dbtest.c -o dbtest -g -O2 -DDEBUG -I../include -DVERSION=\"1.0.0\" -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -funsigned-char -fno-strict-aliasing -Wall ../lib/.libs/libtest.a dbtest.c: In function 'InitDbmLookup':
dbtest.c:147: warning: cast from pointer to integer of different size
dbtest.c:198: warning: cast from pointer to integer of different size/tmp/ccuekqxe.o: In function `CleanupDbmLookup':/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:304: undefined reference to `dbm_close'/tmp/ccuekqxe.o: In function `DoDbmLookup':/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:220: undefined reference to `dbm_fetch'/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:264: undefined reference to `dbm_fetch'/tmp/ccuekqxe.o: In function `InitDbmLookup':/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:146: undefined reference to `dbm_open'/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:179: undefined reference to `dbm_store'/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:192: undefined reference to `dbm_close'/root/cvs/xfs-cmds-build/xfstests/src/dbtest.c:197: undefined reference to `dbm_open'
collect2: ld returned 1 exit status
gmake[1]: *** [dbtest] Error 1
make: *** [default] Error 2
This patch fixes it for me, but my userspace-fu is weak; does this look ok?
Thanks,
-Eric
xfstests/aclocal.m4 +2 -2
@@ -197,8 +197,8 @@ AC_DEFUN([AC_PACKAGE_WANT_NDBM], AC_DEFUN([AC_PACKAGE_WANT_GDBM], [ AC_CHECK_HEADERS([gdbm/ndbm.h], [ have_db=true ], [ have_db=false ]) - if test $have_db = true -a -f ${libexecdir}${libdirsuffix}/libgdbm.a; then - libgdbm="${libexecdir}${libdirsuffix}/libgdbm.a" + if test $have_db = true; then + libgdbm="-lgdbm" fi AC_SUBST(libgdbm) AC_SUBST(have_db)
Quoted 2 lines · Eric Sandeen
At least on my
x86_64RHEL5 box, if gdbm-devel is installed, then the xfstests build fails with:
Still doesn't build even with libgdbm-dev installed on debian, despite having a /usr/include/gdbm.h. Even when manually including that one it doesn't define DBM. Which of the three headers does actually get used on RHEL?
Quoted 9 lines · Christoph Hellwig
Quoted 2 lines · Eric Sandeen
At least on my
x86_64RHEL5 box, if gdbm-devel is installed, then the xfstests build fails with:Still doesn't build even with libgdbm-dev installed on debian, despite having a
/usr/include/gdbm.h. Even when manually including that one it doesn't define DBM. Which of the three headers does actually get used on RHEL?
hm, looks like:
checking gdbm/ndbm.h usability... yes
checking gdbm/ndbm.h presence... yes
checking for gdbm/ndbm.h... yes
and include/config.h winds up as:
/* Define to 1 if you have the <gdbm/ndbm.h> header file. */ #define HAVE_GDBM_NDBM_H 1
...
/* Define to 1 if you have the <ndbm.h> header file. */ /* #undef HAVE_NDBM_H */
and:
[root@host xfstests]# locate gdbm/ndbm.h /usr/include/gdbm/ndbm.h
[root@host xfstests]# rpm -qf /usr/include/gdbm/ndbm.h gdbm-devel-1.8.0-26.2.1
[root@bear-05 xfstests]#
-Eric