#7 configure fails - does not find libmhash

closed
5
2006-01-09
2005-11-22
bds45701
No

I am try to install aide-CVS-20051122 with mhash-0.9.2
without success. The configure fails and indicates it
cannot find the mhash library which was successfully
built and loaded into /usr/local/lib. I am working in
AIX 5.1. The relevent content of the config.log file is:

configure:8797: checking for mhash_get_block_size in
-lmhash
configure:8827: gcc -o conftest -g -O2 -static -static
conftest.c -lmhash -lz >&5
collect2: library libmhash not found
configure:8833: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE "aide"
| #define VERSION "post-0.11-rc2"
| #define YYTEXT_POINTER 1
| #define HAVE_SYSLOG 1
| #define BIG_ENDIAN_HOST 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_USHORT 1
| #define HAVE_ULONG 1
| #define SIZEOF_UNSIGNED_SHORT 2
| #define SIZEOF_UNSIGNED_INT 4
| #define SIZEOF_UNSIGNED_LONG 4
| #define SIZEOF_UNSIGNED_LONG_LONG 8
| #define STDC_HEADERS 1
| #define HAVE_READDIR 1
| #define HAVE_READDIR_R
| #define HAVE_USTAT 1
| #define HAVE_MMAP 1
| #define HAVE_SNPRINTF 1
| #define HAVE_VSNPRINTF 1
| #define HAVE_SYSLOG_H 1
| #define HAVE_USTAT_H 1
| #define AIDE_IDENT "aide"
| #define AIDE_SYSLOG_FACILITY LOG_LOCAL0
| #define AIDE_LOGOPT LOG_CONS
| #define SYSLOG_PRIORITY LOG_NOTICE
| #define _LARGEFILE_SOURCE 1
| #define _LARGEFILE64_SOURCE 1
| #define _FILE_OFFSET_BITS 64
| #define AIDE_LSTAT_FUNC lstat64
| #define AIDE_STAT_FUNC stat64
| #define AIDE_FSTAT_FUNC fstat64
| #define AIDE_STAT_TYPE stat64
| #define AIDE_INO_TYPE ino64_t
| #define AIDE_OFF_TYPE off64_t
| #define AIDE_BLKCNT_TYPE blkcnt64_t
| #define AIDE_READDIR_FUNC readdir64
| #define AIDE_READDIR_R_FUNC readdir64_r
| #define AIDE_DIRENT_TYPE dirent
| #define CONFIG_FILE "/usr/local/etc/aide.conf"
| #define DEFAULT_DB "/usr/local/etc/aide.db"
| #define DEFAULT_DB_OUT "/usr/local/etc/aide.db.new"
| #define HAVE_ZLIB_H 1
| #define HAVE_LIBZ 1
| #define WITH_ZLIB 1
| #define HAVE_REGEXEC 1
| #define HAVE_REGCOMP 1
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an
error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return
type of a gcc2
| builtin and then its argument prototype would
still apply. */
| char mhash_get_block_size ();
| int
| main ()
| {
| mhash_get_block_size ();
| ;
| return 0;
ac_cv_env_CPPFLAGS_set=''
configure:8859: result: no
configure:8870: error: You must have libmhash properly
installed.

Any pointers???????

Thanks.

Brian

Discussion

    • assigned_to: nobody --> rvdb
    • status: open --> pending
     
  • Logged In: YES
    user_id=330646

    Did you build libmhash as a static library? Please check if
    you have libmhash.a in /usr/local/lib

     
  • bds45701
    bds45701
    2005-11-23

    Logged In: YES
    user_id=1385761

    I have followed pointers regarding static for mhash and
    placed links to appropriate files in /usr/lib for mhash
    files in /usr/local/lib. I can now run configure. However,
    it now fails on the make. the output from the make is below:

    =============== make output ================

    # make clean
    Making clean in doc
    test -z "*~" || rm -f *~
    Target "clean" is up to date.
    Making clean in src
    test -z "aide" || rm -f aide
    test -z "conf_yacc.h conf_yacc.c conf_lex.c db_lex.c
    *~" || rm -f conf_yacc.h conf_yacc.c conf_lex.c db_lex.c *~
    rm -f *.o
    Target "clean" is up to date.
    Making clean in .
    test -z "*~" || rm -f *~
    Target "clean-am" is up to date.
    Target "clean" is up to date.
    # make
    make all-recursive
    Making all in src
    bison -y -d -p conf -o conf_yacc.c
    /home/shapiro/aide-CVS-20051122/src/conf_yacc.y
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT conf_yacc.o -MD -MP -MF
    ".deps/conf_yacc.Tpo" -c -o conf_yacc.o conf_yacc.c; then
    mv -f ".deps/conf_yacc.Tpo" ".deps/conf_yacc.Po"; else rm -f
    ".deps/conf_yacc.Tpo"; exit 1; fi
    flex -l -Pconf -oconf_lex.c
    /home/shapiro/aide-CVS-20051122/src/conf_lex.l
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT conf_lex2.o -MD -MP -MF
    ".deps/conf_lex2.Tpo" -c -o conf_lex2.o conf_lex2.c; then
    mv -f ".deps/conf_lex2.Tpo" ".deps/conf_lex2.Po"; else rm -f
    ".deps/conf_lex2.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT getopt.o -MD -MP -MF
    ".deps/getopt.Tpo" -c -o getopt.o getopt.c; then mv -f
    ".deps/getopt.Tpo" ".deps/getopt.Po"; else rm -f
    ".deps/getopt.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT getopt1.o -MD -MP -MF
    ".deps/getopt1.Tpo" -c -o getopt1.o getopt1.c; then mv -f
    ".deps/getopt1.Tpo" ".deps/getopt1.Po"; else rm -f
    ".deps/getopt1.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT gnu_regex.o -MD -MP -MF
    ".deps/gnu_regex.Tpo" -c -o gnu_regex.o gnu_regex.c; then
    mv -f ".deps/gnu_regex.Tpo" ".deps/gnu_regex.Po"; else rm -f
    ".deps/gnu_regex.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT error.o -MD -MP -MF
    ".deps/error.Tpo" -c -o error.o error.c; then mv -f
    ".deps/error.Tpo" ".deps/error.Po"; else rm -f
    ".deps/error.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT md.o -MD -MP -MF ".deps/md.Tpo"
    -c -o md.o md.c; then mv -f ".deps/md.Tpo" ".deps/md.Po";
    else rm -f ".deps/md.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT db.o -MD -MP -MF ".deps/db.Tpo"
    -c -o db.o db.c; then mv -f ".deps/db.Tpo" ".deps/db.Po";
    else rm -f ".deps/db.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT commandconf.o -MD -MP -MF
    ".deps/commandconf.Tpo" -c -o commandconf.o commandconf.c;
    then mv -f ".deps/commandconf.Tpo" ".deps/commandconf.Po";
    else rm -f ".deps/commandconf.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT db_file.o -MD -MP -MF
    ".deps/db_file.Tpo" -c -o db_file.o db_file.c; then mv -f
    ".deps/db_file.Tpo" ".deps/db_file.Po"; else rm -f
    ".deps/db_file.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT db_disk.o -MD -MP -MF
    ".deps/db_disk.Tpo" -c -o db_disk.o db_disk.c; then mv -f
    ".deps/db_disk.Tpo" ".deps/db_disk.Po"; else rm -f
    ".deps/db_disk.Tpo"; exit 1; fi
    flex -Pdb -odb_lex.c
    /home/shapiro/aide-CVS-20051122/src/db_lex.l
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT db_lex2.o -MD -MP -MF
    ".deps/db_lex2.Tpo" -c -o db_lex2.o db_lex2.c; then mv -f
    ".deps/db_lex2.Tpo" ".deps/db_lex2.Po"; else rm -f
    ".deps/db_lex2.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT db_sql.o -MD -MP -MF
    ".deps/db_sql.Tpo" -c -o db_sql.o db_sql.c; then mv -f
    ".deps/db_sql.Tpo" ".deps/db_sql.Po"; else rm -f
    ".deps/db_sql.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT gen_list.o -MD -MP -MF
    ".deps/gen_list.Tpo" -c -o gen_list.o gen_list.c; then mv
    -f ".deps/gen_list.Tpo" ".deps/gen_list.Po"; else rm -f
    ".deps/gen_list.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT list.o -MD -MP -MF
    ".deps/list.Tpo" -c -o list.o list.c; then mv -f
    ".deps/list.Tpo" ".deps/list.Po"; else rm -f
    ".deps/list.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT do_md.o -MD -MP -MF
    ".deps/do_md.Tpo" -c -o do_md.o do_md.c; then mv -f
    ".deps/do_md.Tpo" ".deps/do_md.Po"; else rm -f
    ".deps/do_md.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT base64.o -MD -MP -MF
    ".deps/base64.Tpo" -c -o base64.o base64.c; then mv -f
    ".deps/base64.Tpo" ".deps/base64.Po"; else rm -f
    ".deps/base64.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT symboltable.o -MD -MP -MF
    ".deps/symboltable.Tpo" -c -o symboltable.o symboltable.c;
    then mv -f ".deps/symboltable.Tpo" ".deps/symboltable.Po";
    else rm -f ".deps/symboltable.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT compare_db.o -MD -MP -MF
    ".deps/compare_db.Tpo" -c -o compare_db.o compare_db.c;
    then mv -f ".deps/compare_db.Tpo" ".deps/compare_db.Po";
    else rm -f ".deps/compare_db.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT be.o -MD -MP -MF ".deps/be.Tpo"
    -c -o be.o be.c; then mv -f ".deps/be.Tpo" ".deps/be.Po";
    else rm -f ".deps/be.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT util.o -MD -MP -MF
    ".deps/util.Tpo" -c -o util.o util.c; then mv -f
    ".deps/util.Tpo" ".deps/util.Po"; else rm -f
    ".deps/util.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT snprintf.o -MD -MP -MF
    ".deps/snprintf.Tpo" -c -o snprintf.o snprintf.c; then mv
    -f ".deps/snprintf.Tpo" ".deps/snprintf.Po"; else rm -f
    ".deps/snprintf.Tpo"; exit 1; fi
    if gcc -DHAVE_CONFIG_H -I.
    -I/home/shapiro/aide-CVS-20051122/src -I..
    -I/home/shapiro/aide-CVS-20051122/include -static -g -O2
    -static -g -O2 -static -MT aide.o -MD -MP -MF
    ".deps/aide.Tpo" -c -o aide.o aide.c; then mv -f
    ".deps/aide.Tpo" ".deps/aide.Po"; else rm -f
    ".deps/aide.Tpo"; exit 1; fi
    gcc -g -O2 -static -g -O2 -static -static -o aide
    conf_yacc.o conf_lex2.o getopt.o getopt1.o gnu_regex.o
    error.o md.o db.o commandconf.o db_file.o db_disk.o
    db_lex2.o db_sql.o gen_list.o list.o do_md.o base64.o
    symboltable.o compare_db.o be.o util.o snprintf.o aide.o
    -lmhash -lz
    ld: 0711-224 WARNING: Duplicate symbol: optarg
    ld: 0711-224 WARNING: Duplicate symbol: optopt
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain
    more information.
    ld: 0711-317 ERROR: Undefined symbol: .readdir64_r
    collect2: ld returned 8 exit status
    make: 1254-004 The error code from the last command is 1.

    Stop.
    make: 1254-004 The error code from the last command is 1.

    Stop.
    make: 1254-004 The error code from the last command is 2.

    Stop.
    #

    ============= end make output =============

    now it appears that I am missing something. I suspect that
    the .readdir64_r reference above is in a library I do not
    have. Any hints? I am guessing at glibc but don't know for
    sure. also, it appears that this lib does not exist for aix
    5.1 if that is what it is (no one has done a port (:O ).
    Please advise if I might be on the right path.

    thanks.

    Brian

     
  • bds45701
    bds45701
    2005-11-23

    • status: pending --> open
     
  • Logged In: YES
    user_id=330646

    You are missing the readdir64_r() function. I'll have to add
    a seperate check for that in configure. For now, you can
    edit config.h and set:

    #define AIDE_READDIR_R_FUNC readdir_r

     
    • status: open --> pending
     
    • status: pending --> closed
     
  • Logged In: YES
    user_id=1312539

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).