我正在准备一台新的Oracle Linux 8.6机器,它只有一个Oracle客户端19c客户端,它也应该编译一些Pro*C代码,但是当试图编译一个简单的proc代码时,例如
#include <stdio.h>
int main(int argc, char** argv){
printf("Stefan's Hello world!");
return(0);
}我遇到了错误,比如:
$ proc iname=mytest.pc
Pro*C/C++: Release 19.0.0.0.0 - Production on Wed Nov 16 14:32:43 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
System default option values taken from: /u01/app/oracle/product/19c/dbhome_1/precomp/admin/pcscfg.cfg
Syntax error at line 166, column 45, file /usr/include/sys/cdefs.h:
Error at line 166, column 45 in file /usr/include/sys/cdefs.h
#define __glibc_fortify(f, __l, __s, __osz, ...) \
............................................1
PCC-S-02014, Encountered the symbol "..." when expecting one of the following:
an identifier, define, elif, else, endif, error, if, ifdef,
ifndef, include, include_next, line, pragma, undef, exec,
sql, begin, end, var, type, oracle,
an immediate preprocessor command, a C token, create,
function, package, procedure, trigger, or, replace,
Syntax error at line 168, column 9, file /usr/include/sys/cdefs.h:
Error at line 168, column 9 in file /usr/include/sys/cdefs.h
? __ ## f ## _alias (__VA_ARGS__) \
........1
PCC-S-02014, Encountered the symbol "##" when expecting one of the following:
; { } , = : ( ) [ ] * ? | & < > + - / % ~ ! . # @ ^ *= /= %=
+= -= <<= >>= &&= ||= ^= ~= := | & == != <= >= << >> ++ -- ->
... .. <> ** => an identifier, a string, a numeric constant,
a sql string, misc. punctuation, newline, define, elif, else,
endif, error, if, ifdef, ifndef, include, include_next, line,
pragma, undef, exec, sql, begin, end, var, type, oracle,
an immediate preprocessor command, a C token, exec sql,
exec sql include, exec sql var, exec sql begin, exec sql end,
end-exec, exec sql type, exec oracle, exec oracle else,
exec oracle endif, exec oracle begin, a sql hint, create,
function, package, procedure, trigger, or, replace,
a C++ token,我认为这与库配置中的不正确有关,但我不明白是什么。
奇怪的是,我用相同的包准备了一个新的VM,并且正在工作(我记录了所有步骤,并在另一台机器上复制)。
/u01/app/oracle/product/19c/dbhome_1/precomp/admin/pcscfg.cfg的含量是
sys_include=($ORACLE_HOME/precomp/public,/usr/include,/usr/lib/gcc/x86_64-redhat-linux/8/include)
ltype=short
define=__x86_64__
define=_MATH_H有什么想法吗?
发布于 2022-11-28 14:33:34
正如我在我删除的帖子中提到的,我们在红帽子8环境上也有同样的问题。我们最终通过下调环境中的glibc头来克服这一问题。我们目前正在甲骨文和RedHat的另一个案件,因为他们将自动指责对方。希望能帮上忙。
发布于 2022-12-01 12:59:54
我找到的唯一办法就是更新到伊斯兰会议组织-21.8
我讨厌先知。但话说回来,我讨厌大多数数据库。没有完美的数据库,但有些比其他的更糟糕。
https://stackoverflow.com/questions/74467239
复制相似问题