在Ubuntu上安装cqual时说找不到linux/config.h

在Ubuntu上安装cqual时说找不到linux/config.h,ubuntu,installation,Ubuntu,Installation,我正试图在我的Ubuntu 12.04机器上安装cqual-0.991工具。我下载了tar文件。确保安装了符合cqual要求的emacs。然后,运行命令 ./configure make 但我收到以下错误消息: In file included from regions.c:40:0: stats.c:52:26: fatal error: linux/config.h: No such file or directory compilation ter

我正试图在我的Ubuntu 12.04机器上安装cqual-0.991工具。我下载了tar文件。确保安装了符合cqual要求的emacs。然后,运行命令

    ./configure
    make
但我收到以下错误消息:

    In file included from regions.c:40:0:
    stats.c:52:26: fatal error: linux/config.h: No such file or directory
    compilation terminated.
    make[3]: *** [regions.o] Error 1
    make[3]: Leaving directory `/home/romaan/Desktop/SATool/cqual-0.991/src/libcompat'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/romaan/Desktop/SATool/cqual-0.991/src'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/romaan/Desktop/SATool/cqual-0.991/src'
    make: *** [all-recursive] Error 1
    root@ubuntu:/home/romaan/Desktop/SATool/cqual-0.991# su -
    root@ubuntu:~# cd /home/romaan/Desktop/SATool/cqual-0.991/
    root@ubuntu:/home/romaan/Desktop/SATool/cqual-0.991# make
    Making all in src
    make[1]: Entering directory `/home/romaan/Desktop/SATool/cqual-0.991/src'
    make  all-recursive
    make[2]: Entering directory `/home/romaan/Desktop/SATool/cqual-0.991/src'
    Making all in libcompat
    make[3]: Entering directory `/home/romaan/Desktop/SATool/cqual-0.991/src/libcompat'
    if gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"         -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"cqual\" -DVERSION=\"0.991\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_MALLOC_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DSIZEOF_VOIDP=4 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DPROTOTYPES=1 -D__PROTOTYPES=1 -DRETSIGTYPE=void -DHAVE_VPRINTF=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STRDUP=1 -DHAVE_STRTOLD=1 -DHAVE_STRTOL=1  -I. -I. -DNMEMDEBUG -DNDEBUG -O9    -g -O2 -MT regions.o -MD -MP -MF ".deps/regions.Tpo" \
  -c -o regions.o `test -f 'regions.c' || echo './'`regions.c; \
then mv -f ".deps/regions.Tpo" ".deps/regions.Po"; \
else rm -f ".deps/regions.Tpo"; exit 1; \
fi
    In file included from regions.c:40:0:
    stats.c:52:26: fatal error: linux/config.h: No such file or directory
    compilation terminated.
    make[3]: *** [regions.o] Error 1
    make[3]: Leaving directory `/home/romaan/Desktop/SATool/cqual-0.991/src/libcompat'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/romaan/Desktop/SATool/cqual-0.991/src'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/romaan/Desktop/SATool/cqual-0.991/src'
    make: *** [all-recursive] Error 1

CQual现已过时,无法安装在新版本的Linux或Solaris上:(

您是否安装了
linux-headers-generic
软件包?我有“linux-headers-3.2.0-26”,但我检查了config.h,但找不到。我使用了命令:find/-name“config.h”-print | grep linux
cqual-0.991
是从2004年开始的。我认为您无法在现代linux发行版中编译它。我尝试从SVN编译最新的主干,而且它也太旧了(2006年)当bison试图解析它的输入文件时,它失败了。感谢Romano,我怀疑我无法在新的linux发行版上安装…那么有没有办法在今天可用的任何其他环境中编译它???非常感谢Romano…如果可行,我建议在VM中安装一个旧的发行版,尝试使用c在那里编译,然后看看是否可以在更现代的发行版上运行二进制文件。我也快速查看了一下,但也无法编译它,最近开发似乎也停滞不前。我认为“应该”有一种方法可以获得cqual[++]在Ubuntu上运行;它不是过时的,它是相当重要的。David Wheeler在他关于Heartbleed bug的优秀文章[1]中提到:“到目前为止,我发现的唯一静态分析工具是当时存在的,并且能够在没有非标准或专门配置的情况下提前找到Heartbleed,它是FLOSS工具CQual++…”Heartbleed于2014年4月7日公开宣布(并修复)。(上述“正确”的ans日期为2012年10月30日,并称其已过时)。[1]