2013-01-07 70 views
3

我想配置和使用以下命令在AIX 6.1的64位编译PCRE 8.32

./configure CC="gcc" CFLAGS="-maix64" CXX="gcc" CXXFLAGS="-maix64" LDFLAGS="-L/usr/ccs/bin -maix64" --disable-cpp --prefix=/usr/local/share/bld/pcre 

配置使PCRE正常工作: PCRE-8.32配置摘要:

Install prefix .................. : /usr/local/share/bld/pcre 
C preprocessor .................. : gcc -maix64 -E 
C compiler ...................... : gcc -maix64 
C++ preprocessor ................ : gcc -maix64 -E 
C++ compiler .................... : gcc -maix64 
Linker .......................... : /usr/bin/ld 
C preprocessor flags ............ : 
C compiler flags ................ : -O2 
C++ compiler flags .............. : -maix64 
Linker flags .................... : 
Extra libraries ................. : 

Build 8 bit pcre library ........ : yes 
Build 16 bit pcre library ....... : no 
Build 32 bit pcre library ....... : no 
Build C++ library ............... : no 
Enable JIT compiling support .... : no 
Enable UTF-8/16/32 support ...... : no 
Unicode properties .............. : no 
Newline char/sequence ........... : lf 
\R matches only ANYCRLF ......... : no 
EBCDIC coding ................... : no 
EBCDIC code for NL .............. : n/a 
Rebuild char tables ............. : no 
Use stack recursion ............. : yes 
POSIX mem threshold ............. : 10 
Internal link size .............. : 2 
Match limit ..................... : 10000000 
Match limit recursion ........... : MATCH_LIMIT 
Build shared libs ............... : yes 
Build static libs ............... : no 
Use JIT in pcregrep ............. : no 
Buffer size for pcregrep ........ : 20480 
Link pcregrep with libz ......... : no 
Link pcregrep with libbz2 ....... : no 
Link pcretest with libedit ...... : no 
Link pcretest with libreadline .. : no 
Valgrind support ................ : no 
Code coverage ................... : no 

虽然这样做使我得到follwing错误:

bash-3.00# make 
     rm -f pcre_chartables.c  
     ln -s ./pcre_chartables.c.dist pcre_chartables.c 
    make all-am 
    CC  libpcre_la-pcre_byte_order.lo 
    CC  libpcre_la-pcre_compile.lo 
    CC  libpcre_la-pcre_config.lo 
    CC  libpcre_la-pcre_dfa_exec.lo 
    CC  libpcre_la-pcre_exec.lo 
    CC  libpcre_la-pcre_fullinfo.lo 
    CC  libpcre_la-pcre_get.lo 
    CC  libpcre_la-pcre_globals.lo 
    CC  libpcre_la-pcre_jit_compile.lo 
    CC  libpcre_la-pcre_maketables.lo 
    CC  libpcre_la-pcre_newline.lo 
    CC  libpcre_la-pcre_ord2utf8.lo 
    CC  libpcre_la-pcre_refcount.lo 
    CC  libpcre_la-pcre_string_utils.lo 
    CC  libpcre_la-pcre_study.lo 
    CC  libpcre_la-pcre_tables.lo 
    CC  libpcre_la-pcre_ucd.lo 
    CC  libpcre_la-pcre_valid_utf8.lo 
    CC  libpcre_la-pcre_version.lo 
    CC  libpcre_la-pcre_xclass.lo 
    CC  libpcre_la-pcre_chartables.lo 
    CCLD libpcre.la 

0654-210 .libs/libpcre_la-pcre_byte_order.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_compile.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_config.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_dfa_exec.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_exec.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_fullinfo.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_get.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_globals.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_jit_compile.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_maketables.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_newline.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_ord2utf8.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_refcount.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_string_utils.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_study.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_tables.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_ucd.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_valid_utf8.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_version.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_xclass.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

0654-210 .libs/libpcre_la-pcre_chartables.o is not valid in the current object file mode. 

     Use the -X option to specify the desired object mode. 

ar: 0707-126 .libs/libpcre.so.1 is not valid with the current object file mode. 

     Use the -X option to specify the desired object mode. 

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 

我试过了:使用OBJECT_MODE=64q64,但在这种情况下甚至配置失败。 任何建议appriciated。

回答

4

其使用follwing命令解析:

./configure CC="gcc" CFLAGS="-maix64" CXX="g++" CXXFLAGS="-maix64" NM="nm -X64" \ 
    AR="ar -X64" --disable-cpp --prefix=/usr/local/share/bld/pcre 
+0

只是一个观察,但与自动工具,因为'CPPFLAGS'既与'CFLAGS'和'CXXFLAGS使用你也许可以简化为'CPPFLAGS = -maix64' '。 – jww