如何修复** __ attribute __((packed))**错误

时间:2014-10-02 12:06:29

标签: gcc centos autotools autoreconf

我克隆了feng多媒体服务器的副本,在其目录中运行 autoreconf -i 后,创建了 configure 脚本,但是当我运行此脚本时,它获得了卡住并退出并出现以下错误:

 checking if gcc -std=gnu99 supports __attribute__(( packed ))... no
 configure: error: unable to find how the compiler declares packed structures

我知道如何解决这个问题?

输出 gcc --verbose

Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)

输出 config.log 文件:

| }
configure:7344: result: no
configure:7355: WARNING: POSIX realtime features not available
configure:7363: checking if gcc -std=gnu99 supports __attribute__(( packed ))
configure:7385: gcc -std=gnu99 -c -g -O2 -Wall -Wwrite-strings -fdiagnostics-show-option -Wformat=2 -Werror=implicit-function-declaration -Werror=return-type -DNDEBUG $
conftest.c:26: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm4_ifnblank'
conftest.c:33:3: error: invalid preprocessing directive #Check
conftest.c:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'enableval'
conftest.c:36: error: expected identifier or '(' before 'else'
conftest.c:41:3: error: invalid preprocessing directive #Check
conftest.c:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'enableval'
conftest.c:47: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'if'
conftest.c:50: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cat'
conftest.c:50: error: stray '\' in program
cc1: warnings being treated as errors
conftest.c:54: error: empty declaration
conftest.c:55: error: invalid application of 'sizeof' to incomplete type 'struct astructure'
conftest.c:55: error: size of array 'assert' is negative
configure:7392: $? = 1
configure: failed program was:
| /* confdefs.h.  */


//...........OUTPUT TRIMMED.............//


#define _TANDEM_SOURCE 1
     #define HAVE_LIBEV 1
     _ACEOF
       m4_ifnblank(, )
else
  m4_ifnblank(AC_MSG_ERROR([libev not found, feng requires libev]), AC_MSG_ERROR([libev not found, feng requires libev]))
fi



# Check whether --enable-trace was given.
if test "${enable_trace+set}" = set; then
  enableval=$enable_trace;
else
  enable_trace="no"
fi


# Check whether --enable-tables was given.
if test "${enable_tables+set}" = set; then
  enableval=$enable_tables;
fi


if test "x$enable_tables" = "xno"; then


cat >>confdefs.h <<\_ACEOF
#define AVOID_TABLES 1
#define HAVE_DECL_STRERROR_R 0

configure: exit 1

0 个答案:

没有答案