reiser4progs 的 configure 问题及解决方法。

来源:互联网 发布:三国志2017挂机软件 编辑:程序博客网 时间:2024/06/05 17:45

reiser4progs 运行 ./configure 时 遇到 libaal version 1.0.5 = No 后, 停止了运行。

此时我从网上下载了很多libaal 源码测试, 均通不过。 此时用 ldconfig 查看, 好像libaal 也对。

哪问题到底出在哪里呢? 我甚至阅读了些configue 的一些代码, 一头雾水, 不过也猜到可能不是libaal 本身问题,而是其它环境问题。

后来实验及参考资料发现,安装其它三个文件, 具体哪个未进一步确认。 下面贴上具体操作过程及结果。

由此说明, 有时候,错误报的不一定很准确。 造成误报的原因是因为多种原因都可能引起这个结果。

很心酸啊,花了一整天时间,有了这点收获。来之不易。

[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]# ./configure --prefix=/opt/reiser4progs --with-libaal=/opt/libaalchecking build system type... x86_64-unknown-linuxchecking host system type... x86_64-unknown-linuxchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking whether to enable maintainer-specific portions of Makefiles... nochecking for style of include used by make... GNUchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables... checking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ANSI C... none neededchecking dependency style of gcc... gcc3checking for uuid_generate in -luuid... noconfigure: WARNING: libuuid could not be found which is required for the --with-uuidchecking for readline in -lreadline... noconfigure: WARNING: GNU Readline could not be found which is required for the --with-readline    checking for gcc... (cached) gccchecking whether we are using the GNU C compiler... (cached) yeschecking whether gcc accepts -g... (cached) yeschecking for gcc option to accept ANSI C... (cached) none neededchecking dependency style of gcc... (cached) gcc3checking how to run the C preprocessor... gcc -Echecking for a BSD-compatible install... /usr/bin/install -cchecking whether ln -s works... yeschecking whether make sets $(MAKE)... (cached) yeschecking for ranlib... ranlibchecking for gawk... (cached) gawkchecking for a sed that does not truncate output... /bin/sedchecking for egrep... grep -Echecking for ld used by gcc... /usr/bin/ldchecking if the linker (/usr/bin/ld) is GNU ld... yeschecking for /usr/bin/ld option to reload object files... -rchecking for BSD-compatible nm... /usr/bin/nm -Bchecking how to recognise dependent libraries... pass_allchecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking dlfcn.h usability... yeschecking dlfcn.h presence... yeschecking for dlfcn.h... yeschecking for g++... g++checking whether we are using the GNU C++ compiler... yeschecking whether g++ accepts -g... yeschecking dependency style of g++... gcc3checking how to run the C++ preprocessor... g++ -Echecking for g77... nochecking for f77... nochecking for xlf... nochecking for frt... nochecking for pgf77... nochecking for fort77... nochecking for fl32... nochecking for af77... nochecking for f90... nochecking for xlf90... nochecking for pgf90... nochecking for epcf90... nochecking for f95... nochecking for fort... nochecking for xlf95... nochecking for ifc... nochecking for efc... nochecking for pgf95... nochecking for lf95... nochecking for gfortran... nochecking whether we are using the GNU Fortran 77 compiler... nochecking whether  accepts -g... nochecking the maximum length of command line arguments... 32768checking command to parse /usr/bin/nm -B output from gcc object... okchecking for objdir... .libschecking for ar... archecking for ranlib... (cached) ranlibchecking for strip... stripchecking if gcc static flag  works... yeschecking if gcc supports -fno-rtti -fno-exceptions... nochecking for gcc option to produce PIC... -fPICchecking if gcc PIC flag -fPIC works... yeschecking if gcc supports -c -o file.o... yeschecking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking whether -lc should be explicitly linked in... nochecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yeschecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... yesconfigure: creating libtoolappending configuration tag "CXX" to libtoolchecking for ld used by g++... /usr/bin/ld -m elf_x86_64checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking for g++ option to produce PIC... -fPICchecking if g++ PIC flag -fPIC works... yeschecking if g++ supports -c -o file.o... yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yesappending configuration tag "F77" to libtoolchecking for dirent.h that defines DIR... yeschecking for library containing opendir... none requiredchecking for ANSI C header files... (cached) yeschecking printf.h usability... yeschecking printf.h presence... yeschecking for printf.h... yeschecking errno.h usability... yeschecking errno.h presence... yeschecking for errno.h... yeschecking fcntl.h usability... yeschecking fcntl.h presence... yeschecking for fcntl.h... yeschecking mntent.h usability... yeschecking mntent.h presence... yeschecking for mntent.h... yeschecking for stdint.h... (cached) yeschecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking sys/ioctl.h usability... yeschecking sys/ioctl.h presence... yeschecking for sys/ioctl.h... yeschecking sys/mount.h usability... yeschecking sys/mount.h presence... yeschecking for sys/mount.h... yeschecking sys/vfs.h usability... yeschecking sys/vfs.h presence... yeschecking for sys/vfs.h... yeschecking for unistd.h... (cached) yeschecking whether byte ordering is bigendian... nochecking for an ANSI C-conforming const... yeschecking for inline... inlinechecking for size_t... yeschecking for struct stat.st_rdev... yeschecking whether gcc needs -traditional... nochecking whether lstat dereferences a symlink specified with a trailing slash... yeschecking whether stat accepts an empty string... nochecking for register_printf_function... yeschecking for statfs... yeschecking for getmntent... yeschecking for hasmntopt... yeschecking for memset... yeschecking for strerror... yeschecking for strtol... yeschecking for time... yeschecking for uname... yeschecking for sysconf... yeschecking whether -falign-loops works... yeschecking whether -Wuninitialized works... yeschecking whether -Wno-unused-parameter works... yeschecking whether -Wredundant-decls works... yeschecking for special C compiler options needed for large files... nochecking for _FILE_OFFSET_BITS value needed for large files... nochecking for _LARGE_FILES value needed for large files... noconfigure: WARNING: Can't detect right _FILE_OFFSET_BITS. Will be forced to 64bit.checking for off_t... yeschecking size of off_t... 8checking for aal_device_open in -laal... yeschecking aal/libaal.h usability... yeschecking aal/libaal.h presence... yeschecking for aal/libaal.h... yeschecking for libaal version = 1.0.5... no至此,程序出现错误后,停止, 但是我确认 libaal 1.0.5 肯定是装上了。 已经下过很到代码及各种方式实验了。后来发现,是缺少其他环境造成误报 libaal 库哎! 对configure 定机制还是不太熟[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]# yum install readline-devel[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]# yum install libuuid-devel//[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]# yum search glibc[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]# yum install  glibc-static.x86_64[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]# ./configure --prefix=/opt/reiser4prog --with-libaal=/opt/libaal/checking build system type... x86_64-unknown-linuxchecking host system type... x86_64-unknown-linuxchecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking whether to enable maintainer-specific portions of Makefiles... nochecking for style of include used by make... GNUchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... nochecking for suffix of executables... checking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ANSI C... none neededchecking dependency style of gcc... gcc3checking for uuid_generate in -luuid... yeschecking for readline in -lreadline... yeschecking for library containing tgetent... -lncurseschecking for gcc... (cached) gccchecking whether we are using the GNU C compiler... (cached) yeschecking whether gcc accepts -g... (cached) yeschecking for gcc option to accept ANSI C... (cached) none neededchecking dependency style of gcc... (cached) gcc3checking how to run the C preprocessor... gcc -Echecking for a BSD-compatible install... /usr/bin/install -cchecking whether ln -s works... yeschecking whether make sets $(MAKE)... (cached) yeschecking for ranlib... ranlibchecking for gawk... (cached) gawkchecking for a sed that does not truncate output... /bin/sedchecking for egrep... grep -Echecking for ld used by gcc... /usr/bin/ldchecking if the linker (/usr/bin/ld) is GNU ld... yeschecking for /usr/bin/ld option to reload object files... -rchecking for BSD-compatible nm... /usr/bin/nm -Bchecking how to recognise dependent libraries... pass_allchecking for ANSI C header files... yeschecking for sys/types.h... yeschecking for sys/stat.h... yeschecking for stdlib.h... yeschecking for string.h... yeschecking for memory.h... yeschecking for strings.h... yeschecking for inttypes.h... yeschecking for stdint.h... yeschecking for unistd.h... yeschecking dlfcn.h usability... yeschecking dlfcn.h presence... yeschecking for dlfcn.h... yeschecking for g++... g++checking whether we are using the GNU C++ compiler... yeschecking whether g++ accepts -g... yeschecking dependency style of g++... gcc3checking how to run the C++ preprocessor... g++ -Echecking for g77... nochecking for f77... nochecking for xlf... nochecking for frt... nochecking for pgf77... nochecking for fort77... nochecking for fl32... nochecking for af77... nochecking for f90... nochecking for xlf90... nochecking for pgf90... nochecking for epcf90... nochecking for f95... nochecking for fort... nochecking for xlf95... nochecking for ifc... nochecking for efc... nochecking for pgf95... nochecking for lf95... nochecking for gfortran... nochecking whether we are using the GNU Fortran 77 compiler... nochecking whether  accepts -g... nochecking the maximum length of command line arguments... 32768checking command to parse /usr/bin/nm -B output from gcc object... okchecking for objdir... .libschecking for ar... archecking for ranlib... (cached) ranlibchecking for strip... stripchecking if gcc static flag  works... yeschecking if gcc supports -fno-rtti -fno-exceptions... nochecking for gcc option to produce PIC... -fPICchecking if gcc PIC flag -fPIC works... yeschecking if gcc supports -c -o file.o... yeschecking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking whether -lc should be explicitly linked in... nochecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yeschecking if libtool supports shared libraries... yeschecking whether to build shared libraries... yeschecking whether to build static libraries... yesconfigure: creating libtoolappending configuration tag "CXX" to libtoolchecking for ld used by g++... /usr/bin/ld -m elf_x86_64checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking for g++ option to produce PIC... -fPICchecking if g++ PIC flag -fPIC works... yeschecking if g++ supports -c -o file.o... yeschecking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yeschecking dynamic linker characteristics... GNU/Linux ld.sochecking how to hardcode library paths into programs... immediatechecking whether stripping libraries is possible... yesappending configuration tag "F77" to libtoolchecking uuid/uuid.h usability... yeschecking uuid/uuid.h presence... yeschecking for uuid/uuid.h... yeschecking readline/readline.h usability... yeschecking readline/readline.h presence... yeschecking for readline/readline.h... yeschecking readline/history.h usability... yeschecking readline/history.h presence... yeschecking for readline/history.h... yeschecking for dirent.h that defines DIR... yeschecking for library containing opendir... none requiredchecking for ANSI C header files... (cached) yeschecking printf.h usability... yeschecking printf.h presence... yeschecking for printf.h... yeschecking errno.h usability... yeschecking errno.h presence... yeschecking for errno.h... yeschecking fcntl.h usability... yeschecking fcntl.h presence... yeschecking for fcntl.h... yeschecking mntent.h usability... yeschecking mntent.h presence... yeschecking for mntent.h... yeschecking for stdint.h... (cached) yeschecking for stdlib.h... (cached) yeschecking for string.h... (cached) yeschecking sys/ioctl.h usability... yeschecking sys/ioctl.h presence... yeschecking for sys/ioctl.h... yeschecking sys/mount.h usability... yeschecking sys/mount.h presence... yeschecking for sys/mount.h... yeschecking sys/vfs.h usability... yeschecking sys/vfs.h presence... yeschecking for sys/vfs.h... yeschecking for unistd.h... (cached) yeschecking whether byte ordering is bigendian... nochecking for rl_completion_matches... yeschecking for an ANSI C-conforming const... yeschecking for inline... inlinechecking for size_t... yeschecking for struct stat.st_rdev... yeschecking whether gcc needs -traditional... nochecking whether lstat dereferences a symlink specified with a trailing slash... yeschecking whether stat accepts an empty string... nochecking for register_printf_function... yeschecking for statfs... yeschecking for getmntent... yeschecking for hasmntopt... yeschecking for memset... yeschecking for strerror... yeschecking for strtol... yeschecking for time... yeschecking for uname... yeschecking for sysconf... yeschecking whether -falign-loops works... yeschecking whether -Wuninitialized works... yeschecking whether -Wno-unused-parameter works... yeschecking whether -Wredundant-decls works... yeschecking whether -Wredundant-decls works with readline.h... yeschecking for special C compiler options needed for large files... nochecking for _FILE_OFFSET_BITS value needed for large files... nochecking for _LARGE_FILES value needed for large files... noconfigure: WARNING: Can't detect right _FILE_OFFSET_BITS. Will be forced to 64bit.checking for off_t... yeschecking size of off_t... 8checking for aal_device_open in -laal... yeschecking aal/libaal.h usability... yeschecking aal/libaal.h presence... yeschecking for aal/libaal.h... yeschecking for libaal version = 1.0.5... yeschecking for aal_device_open in -laal-minimal... yeschecking for aal/libaal.h... (cached) yeschecking for libaal-minimal version = 1.0.5... yesconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating include/Makefileconfig.status: creating include/aux/Makefileconfig.status: creating include/misc/Makefileconfig.status: creating include/reiser4/Makefileconfig.status: creating include/repair/Makefileconfig.status: creating libmisc/Makefileconfig.status: creating libaux/Makefileconfig.status: creating libreiser4/Makefileconfig.status: creating librepair/Makefileconfig.status: creating plugin/Makefileconfig.status: creating plugin/format/Makefileconfig.status: creating plugin/format/format40/Makefileconfig.status: creating plugin/alloc/Makefileconfig.status: creating plugin/alloc/alloc40/Makefileconfig.status: creating plugin/journal/Makefileconfig.status: creating plugin/journal/journal40/Makefileconfig.status: creating plugin/oid/Makefileconfig.status: creating plugin/oid/oid40/Makefileconfig.status: creating plugin/node/Makefileconfig.status: creating plugin/node/node40/Makefileconfig.status: creating plugin/key/Makefileconfig.status: creating plugin/key/key_common/Makefileconfig.status: creating plugin/key/key_short/Makefileconfig.status: creating plugin/key/key_large/Makefileconfig.status: creating plugin/item/Makefileconfig.status: creating plugin/item/body40/Makefileconfig.status: creating plugin/item/nodeptr40/Makefileconfig.status: creating plugin/item/stat40/Makefileconfig.status: creating plugin/item/cde40/Makefileconfig.status: creating plugin/item/tail40/Makefileconfig.status: creating plugin/item/plain40/Makefileconfig.status: creating plugin/item/ctail40/Makefileconfig.status: creating plugin/item/extent40/Makefileconfig.status: creating plugin/item/bbox40/Makefileconfig.status: creating plugin/object/Makefileconfig.status: creating plugin/object/obj40/Makefileconfig.status: creating plugin/object/dir40/Makefileconfig.status: creating plugin/object/reg40/Makefileconfig.status: creating plugin/object/sym40/Makefileconfig.status: creating plugin/object/spl40/Makefileconfig.status: creating plugin/policy/Makefileconfig.status: creating plugin/policy/tails/Makefileconfig.status: creating plugin/policy/extents/Makefileconfig.status: creating plugin/policy/smart/Makefileconfig.status: creating plugin/hash/Makefileconfig.status: creating plugin/hash/r5_hash/Makefileconfig.status: creating plugin/hash/tea_hash/Makefileconfig.status: creating plugin/hash/deg_hash/Makefileconfig.status: creating plugin/hash/rupasov_hash/Makefileconfig.status: creating plugin/hash/fnv1_hash/Makefileconfig.status: creating plugin/fibre/Makefileconfig.status: creating plugin/fibre/lexic_fibre/Makefileconfig.status: creating plugin/fibre/dot_o_fibre/Makefileconfig.status: creating plugin/fibre/ext_1_fibre/Makefileconfig.status: creating plugin/fibre/ext_3_fibre/Makefileconfig.status: creating plugin/sdext/Makefileconfig.status: creating plugin/sdext/sdext_unix/Makefileconfig.status: creating plugin/sdext/sdext_lw/Makefileconfig.status: creating plugin/sdext/sdext_lt/Makefileconfig.status: creating plugin/sdext/sdext_symlink/Makefileconfig.status: creating plugin/sdext/sdext_flags/Makefileconfig.status: creating plugin/sdext/sdext_plug/Makefileconfig.status: creating progs/Makefileconfig.status: creating progs/mkfs/Makefileconfig.status: creating progs/fsck/Makefileconfig.status: creating progs/debugfs/Makefileconfig.status: creating progs/measurefs/Makefileconfig.status: creating demos/Makefileconfig.status: creating doc/Makefileconfig.status: creating reiser4progs.specconfig.status: creating config.hconfig.status: executing depfiles commandsType 'make' to compile reiser4progs and 'make install' to install it.[root@hjj /usr/src/linux/fs/reiser4/reiser4progs-1.0.5]#