编译失败

ROOT_DIR : /workspace/openGauss-server
[makegaussdb] 25-07-16 13:48:29: script dir : /workspace/openGauss-server/build/script
[makegaussdb] 25-07-16 13:48:29: Work root dir : /workspace/openGauss-server
configure -D__USE_NUMA -D__ARM_LSE with arm opengauss mode
[makegaussdb] 25-07-16 13:48:32: configure failed.
configure failed.

grep error config.log

g++: error: unrecognized command line option ‘-V’
g++: fatal error: no input files
conftest.c:30:17: error: ‘p’ was not declared in this scope
conftest.c:30:20: error: ‘i’ was not declared in this scope
conftest.c:30:21: error: expression list treated as compound expression in initializer [-fpermissive]
conftest.c:33:1: error: expected unqualified-id before ‘{’ token
conftest.c:69:21: error: cannot convert ‘char*’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
conftest.c:69:52: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
g++: error: unrecognized command line option ‘-qlanglvl=extc89’
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
g++: error: unrecognized command line option ‘-qlanglvl=ansi’
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
g++: error: unrecognized command line option ‘-std’
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
:0:1: error: missing ‘(’ after predicate
conftest.c:30:17: error: ‘p’ was not declared in this scope
conftest.c:30:20: error: ‘i’ was not declared in this scope
conftest.c:30:21: error: expression list treated as compound expression in initializer [-fpermissive]
conftest.c:33:1: error: expected unqualified-id before ‘{’ token
conftest.c:69:21: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
conftest.c:69:52: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
:0:1: error: missing ‘(’ after predicate
conftest.c:30:17: error: ‘p’ was not declared in this scope
conftest.c:30:20: error: ‘i’ was not declared in this scope
conftest.c:30:21: error: expression list treated as compound expression in initializer [-fpermissive]
conftest.c:33:1: error: expected unqualified-id before ‘{’ token
conftest.c:69:21: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
conftest.c:69:52: error: cannot convert 'char
’ to 'char* ()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
g++: error: unrecognized command line option ‘-Xc’; did you mean ‘-c’?
| These don’t provoke an error unfortunately, instead are silently treated
| as ‘x’. The following induces an error, until -std is added to get
conftest.c:28:1: error: ‘choke’ was not declared in this scope
conftest.c:28:1: error: ‘choke’ was not declared in this scope
conftest.c:23:10: fatal error: ac_nonexistent.h: No such file or directory
conftest.c:23:10: fatal error: ac_nonexistent.h: No such file or directory
| /
Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
| /* Override any GCC internal prototype to avoid an error.
configure:9276: error: readline library not found

grep error config.log -C5
Configured with: ./configure --prefix=/home/GaussDBKernel/tools/gcc73_install --disable-multilib CXXFLAGS=‘-fstack-protector -Wl,-z,noexecstack -Wl,-z,relro,-z,now’ CFLAGS=‘-fstack-protector -Wl,-z,noexecstack -Wl,-z,relro,-z,now’ CPPFLAGS=-I/home/GaussDBKernel/tools/gmp_install/include
Thread model: posix
gcc version 7.3.0 (GCC)
configure:3923: $? = 0
configure:3930: g++ -V >&5
g++: error: unrecognized command line option ‘-V’
g++: fatal error: no input files
compilation terminated.
configure:3934: $? = 1
configure:3957: checking for C compiler default output file name
configure:3979: g++ -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
configure:3983: $? = 0

configure:4279: g++ -c -g conftest.c >&5
configure:4286: $? = 0
configure:4387: result: yes
configure:4404: checking for g++ option to accept ISO C89
configure:4478: g++ -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
conftest.c:30:17: error: ‘p’ was not declared in this scope
static char e (p, i)
^
conftest.c:30:20: error: ‘i’ was not declared in this scope
static char e (p, i)
^
conftest.c:30:21: error: expression list treated as compound expression in initializer [-fpermissive]
static char e (p, i)
^
conftest.c:33:1: error: expected unqualified-id before ‘{’ token
{
^
conftest.c: In function ‘int main()’:
conftest.c:69:21: error: cannot convert 'char
’ to 'char
(
)(char**, int)’ for argument ‘1’ to ‘char* f(char* ()(char**, int), char**, …)’
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
^
conftest.c:69:52: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* (*)(char**, int), char**, …)’
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
^
configure:4485: $? = 1
configure: failed program was:

/* confdefs.h. */
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return f (e, argv, 0) != argv[0]
;
return 0;
}
configure:4478: g++ -qlanglvl=extc89 -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
g++: error: unrecognized command line option ‘-qlanglvl=extc89’
configure:4485: $? = 1
configure: failed program was:
/* confdefs.h. */
#define PACKAGE_NAME “Postgres-XC”
#define PACKAGE_TARNAME “postgres-xc”
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return f (e, argv, 0) != argv[0]
;
return 0;
}
configure:4478: g++ -qlanglvl=ansi -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
g++: error: unrecognized command line option ‘-qlanglvl=ansi’
configure:4485: $? = 1
configure: failed program was:
/* confdefs.h. */
#define PACKAGE_NAME “Postgres-XC”
#define PACKAGE_TARNAME “postgres-xc”
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return f (e, argv, 0) != argv[0]
;
return 0;
}
configure:4478: g++ -std -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
g++: error: unrecognized command line option ‘-std’
configure:4485: $? = 1
configure: failed program was:
/* confdefs.h. */
#define PACKAGE_NAME “Postgres-XC”
#define PACKAGE_TARNAME “postgres-xc”
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return f (e, argv, 0) != argv[0]
;
return 0;
}
configure:4478: g++ -Ae -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
:0:1: error: missing ‘(’ after predicate
conftest.c:30:17: error: ‘p’ was not declared in this scope
static char *e (p, i)
             ^

conftest.c:30:20: error: ‘i’ was not declared in this scope
static char e (p, i)
^
conftest.c:30:21: error: expression list treated as compound expression in initializer [-fpermissive]
static char e (p, i)
^
conftest.c:33:1: error: expected unqualified-id before ‘{’ token
{
^
conftest.c: In function ‘int main()’:
conftest.c:69:21: error: cannot convert 'char
’ to 'char
()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
^
conftest.c:69:52: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* (*)(char**, int), char**, …)’
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
^
configure:4485: $? = 1
configure: failed program was:

/* confdefs.h. */
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return f (e, argv, 0) != argv[0]
;
return 0;
}
configure:4478: g++ -Aa -D_HPUX_SOURCE -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
:0:1: error: missing ‘(’ after predicate
conftest.c:30:17: error: ‘p’ was not declared in this scope
static char *e (p, i)
             ^

conftest.c:30:20: error: ‘i’ was not declared in this scope
static char e (p, i)
^
conftest.c:30:21: error: expression list treated as compound expression in initializer [-fpermissive]
static char e (p, i)
^
conftest.c:33:1: error: expected unqualified-id before ‘{’ token
{
^
conftest.c: In function ‘int main()’:
conftest.c:69:21: error: cannot convert 'char
’ to 'char
()(char**, int)’ for argument ‘1’ to 'char f(char* ()(char**, int), char**, …)’
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
^
conftest.c:69:52: error: cannot convert 'char
’ to ‘char* ()(char**, int)’ for argument ‘1’ to 'char f(char* (*)(char**, int), char**, …)’
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
^
configure:4485: $? = 1
configure: failed program was:

/* confdefs.h. */
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return f (e, argv, 0) != argv[0]
;
return 0;
}
configure:4478: g++ -Xc -D__EXTENSIONS__ -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
g++: error: unrecognized command line option ‘-Xc’; did you mean ‘-c’?
configure:4485: $? = 1
configure: failed program was:
/* confdefs.h. */
#define PACKAGE_NAME “Postgres-XC”
#define PACKAGE_TARNAME “postgres-xc”
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not ‘\xHH’ hex character constants.
These don’t provoke an error unfortunately, instead are silently treated
as ‘x’. The following induces an error, until -std is added to get
proper ANSI mode. Curiously ‘\x00’!=‘x’ always comes out true, for an
array size at least. It’s necessary to write ‘\x00’==0 to get something
that’s true only with -std. */
int osf4_cc_array [‘\x00’ == 0 ? 1 : -1];
return 0;
}
configure:4511: result: unsupported
configure:4554: g++ -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
conftest.c: In function ‘int main()’:
conftest.c:28:1: error: ‘choke’ was not declared in this scope
choke me
^~~~~
configure:4561: $? = 1
configure: failed program was:
/* confdefs.h. */
;
return 0;
}
configure:4601: g++ -c -O2 -g3 -D__USE_NUMA -D__ARM_LSE conftest.c >&5
conftest.c: In function ‘int main()’:
conftest.c:28:1: error: ‘choke’ was not declared in this scope
choke me
^~~~~
configure:4608: $? = 1
configure: failed program was:
/* confdefs.h. */
configure:5535: $? = 0
configure:5558: checking how to run the C preprocessor
configure:5598: g++ -E -D_GNU_SOURCE conftest.c
configure:5605: $? = 0
configure:5636: g++ -E -D_GNU_SOURCE conftest.c
conftest.c:23:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
      ^~~~~~~~~~~~~~~~~~

compilation terminated.
configure:5643: $? = 1
configure: failed program was:

| #include <ac_nonexistent.h>
configure:5676: result: g++ -E
configure:5705: g++ -E -D_GNU_SOURCE conftest.c
configure:5712: $? = 0
configure:5743: g++ -E -D_GNU_SOURCE conftest.c
conftest.c:23:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^~~~~~~~~~~~~~~~~~
compilation terminated.
configure:5750: $? = 1
configure: failed program was:

| #define USE_SSL 1
| #define USE_LIBXML 1
| #define HAVE_LIBM 1
| /* end confdefs.h. /
|
| /
Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern “C”

#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
#define USE_SSL 1
#define USE_LIBXML 1
#define HAVE_LIBM 1
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern “C”
#endif
return readline ();
;
return 0;
}
configure:9260: result: no
configure:9276: error: readline library not found
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn’t looking in the proper directory.
Use --without-readline to disable readline support.

----------------