免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3402 | 回复: 9
打印 上一主题 下一主题

一个非常奇怪的现象! 请教各位! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-23 16:58 |只看该作者 |倒序浏览
一个应用系统从H70(Aix unix v4.3.3, oracle  v8.1.6)上迁移到M85(Aix unix v4.3.3, oracle  v8.1.6)上, 安装时,为了减少出问题,基本上是一致的设置(目录,及参数。。。等, 尽可能地保持一直)
可迁移后,有一个用c 语言(proc )写的应用软件编译时,有时会成功,有时会报错。(两次编译都是在无其他用户使用时作的。)
成功与报错的信息如下:
>;mkhp hpkclean
Compile hpkclean under oracle 8.1.6 for AIX
    1500-030: (I) INFORMATION: main: Additional optimization may be attained by.

>;mkhp hpkclean
Compile hpkclean under oracle 9.2 for AIX
    1500-030: (I) INFORMATION: main: Additional optimization may be attained by.
ld: 0711-738 ERROR: Input file /lib/crt0_r.o:
        XCOFF32 object files are not allowed in 64-bit mode.
Compile hpkclean under oracle 8.1.6 for AIX
    1500-030: (I) INFORMATION: main: Additional optimization may be attained by.
>;

--------------------------------------------------------------------------------
感觉很难理解。不知那位知道是什么原因?


mkhp 内容如下:

proc  iname=$1 | grep ERROR
# for AIX
count=`uname -a | grep AIX | grep -v grep|wc -l`
if [ $count -eq '1' ]
then
# oracle 9.2 for AIX
  count=`sqlldr | grep 9.2 | grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 9.2 for AIX"
    cc -g -q64 -O -I. \
    -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -g -q64 -o $1 $1.o \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    -lld \
    -lm \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lm \
    -lc_r \
    -lpthreads
  fi
# oracle 8.1.7 for AIX
  count=`sqlldr |grep 8.1.7 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.7 for AIX"
    cc -g -O -I. \
    -I$ORACLE_HOME/precomp/public \

    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -g -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    -lcore8  \
    -lld \
    -lm \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lc_r \
    -lpthreads
  fi
# oracle 8.1.6 for AIX
  count=`sqlldr |grep 8.1.6 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.6 for AIX"
    cc -g -O -I. \
    -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -g -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    -lcore8  \
    -lld \
    -lm \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lc_r \
    -lpthreads
  fi
# oracle 8.1.5 for AIX
  count=`sqlldr |grep 8.1.5 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.5 for AIX"
  cc -g -O -I. \
    -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -g -o $1 $1.o \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    -lclient8 \
    $ORACLE_HOME/lib/libsql8.a \
    $ORACLE_HOME/lib/scorept.o \
    $ORACLE_HOME/lib/sscoreed.o \
    $ORACLE_HOME/rdbms/lib/kpudfo.o \
    `cat $ORACLE_HOME/network/lib/ldflags` \
    -ln8 -lnl8 -lnro8 \
    `cat $ORACLE_HOME/network/lib/ldflags` \
    -ln8 -lnl8 -lclient8 -lvsn8 -lcommon8 -lskgxp8 -lgeneric8 \
    `cat $ORACLE_HOME/network/lib/ldflags` \
    -ln8 -lnl8 -lnro8 `cat $ORACLE_HOME/network/lib/ldflags` \
    -ln8 -lnl8 -lclient8 -lvsn8 -lcommon8 -lskgxp8 -lgeneric8 \
    $ORACLE_HOME/lib/libpls8.a \
    $ORACLE_HOME/lib/libplp8.a \
    $ORACLE_HOME/lib/libpls8.a \
    -ltrace8 -lnls8  -lcore8 -lnls8 -lcore8  -lnls8   -lld -lm \
    `cat $ORACLE_HOME/lib/sysliblist` -lm -lc_r -lpthreads
  fi
fi

# for DIGITAL
count=`uname -a | grep alpha | grep -v grep|wc -l`
if [ $count -eq '1' ]
then
# oracle 9.2 for DIGITAL
  count=`sqlldr |grep 9.2 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 9.2 for DIGITAL"
    cc -g1 -O4 -fast -fp_reorder -U_FASTMATH \
    -std1 -DOSF1 -DA_OSF -Wf,-readonly_strings \
    -ieee -noansi_alias -D_INTRINSICS \
    -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
-I$ORACLE_HOME/network/public \
    -c $1.c

    cc -g1 -o $1 $1.o \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    `cat $ORACLE_HOME/lib/ldflags`   \
    `cat $ORACLE_HOME/lib/sysliblist`  \
    -lm  \
    -lpthread
  fi
# oracle 8.1.7 for DIGITAL
  count=`sqlldr |grep 8.1.7 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.7 for DIGITAL"
    cc -g1 -O4 -fast -fp_reorder -U_FASTMATH \
    -std1 -DOSF1 -DA_OSF -Wf,-readonly_strings \
    -ieee -noansi_alias -D_INTRINSICS   \
    -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
      -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -g -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lm  \
    -lpthread
  fi
# oracle 8.1.6 for DIGITAL
  count=`sqlldr |grep 8.1.6 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.6 for DIGITAL"
    cc -g1 -O4 -fast -fp_reorder -U_FASTMATH \
    -std1 -DOSF1 -DA_OSF -Wf,-readonly_strings \
    -ieee -noansi_alias -D_INTRINSICS   \
    -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c
   cc -g -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ \
    -lclntsh \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lm  \
    -lpthread
  fi
# oracle 8.1.5 for DIGITAL
  count=`sqlldr |grep 8.1.5 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.5 for DIGITAL"
    cc -g1 -O4 -fast -fp_reorder -U_FASTMATH \
    -std1 -DOSF1 -DA_OSF -Wf,-readonly_strings \
    -noansi_alias -D_INTRINSICS  \
    -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c
    cc -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ -lclntsh
  fi
fi
# for HP-UX
count=`uname -a | grep HP-UX | grep -v grep|wc -l`
if [ $count -eq '1' ]
then
# oracle 9.2 for HP-UX
  count=`sqlldr |grep 9.2 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 9.2 for HP-UX"
    cc -g -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ -lclntsh  \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lm -lpthread -lpthread
  fi

# oracle 8.1.7 for HP-UX
  count=`sqlldr |grep 8.1.7 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.7 for HP-UX"
    cc -g -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ -lclntsh  \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lm -lpthread -lpthread
  fi

# oracle 8.1.6 for HP-UX
  count=`sqlldr |grep 8.1.6 |grep -v grep|wc -l`
  if [ $count -eq '1' ]
  then
    echo "Compile $1 under oracle 8.1.6 for HP-UX"
    cc -g -I. -I$ORACLE_HOME/precomp/public \
    -I$ORACLE_HOME/rdbms/public \
    -I$ORACLE_HOME/rdbms/demo \
    -I$ORACLE_HOME/plsql/public \
    -I$ORACLE_HOME/network/public \
    -c $1.c

    cc -o $1 $1.o  \
    -L$ORACLE_HOME/lib/ -lclntsh  \
    `cat $ORACLE_HOME/lib/sysliblist` \
    -lm -lpthread -lpthread
  fi
fi

论坛徽章:
0
2 [报告]
发表于 2003-06-24 08:09 |只看该作者

一个非常奇怪的现象! 请教各位!

Proc 一般都和系统头文件, 库函数有关, 系统升级後Oracle 最好重装

论坛徽章:
0
3 [报告]
发表于 2003-06-24 09:17 |只看该作者

一个非常奇怪的现象! 请教各位!

[quote]原帖由 "hecm23"]Proc 一般都和系统头文件, 库函数有关, 系统升级後Oracle 最好重装[/quote 发表:
   


   目的主机(M85) 的操作系统及oracle 数据库都是新安装的!

论坛徽章:
0
4 [报告]
发表于 2003-06-24 09:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2003-06-25 08:36 |只看该作者

一个非常奇怪的现象! 请教各位!

盘上没有注明,据说是32位的! 怎么确认32位还是64位?

论坛徽章:
0
6 [报告]
发表于 2003-06-25 09:25 |只看该作者

一个非常奇怪的现象! 请教各位!

[quote]原帖由 "老技术员"]盘上没有注明,据说是32位的! 怎么确认32位还是64位?[/quote 发表:
     

cd $ORACLE_HOME/bin
file oracle

论坛徽章:
0
7 [报告]
发表于 2003-06-25 10:45 |只看该作者

一个非常奇怪的现象! 请教各位!

XCOFF32 object files are not allowed in 64-bit mode.

显然问题出在这里了

论坛徽章:
0
8 [报告]
发表于 2003-06-25 13:01 |只看该作者

一个非常奇怪的现象! 请教各位!

原帖由 "hecm22" 发表:
   

cd $ORACLE_HOME/bin
file oracle
   


其结果如下:
oracle:         executable (RISC System/6000) or object module not stripped

没有说明是32 /64 位!     

可有时能编译通过! 而且可以使用~     
不会因为oracle是32位 而造成的吧, 以前用的H70也是64位机啊,怎么没有这个怪现象!?

论坛徽章:
0
9 [报告]
发表于 2003-06-25 14:41 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
10 [报告]
发表于 2003-06-27 09:00 |只看该作者

一个非常奇怪的现象! 请教各位!

哦!
谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP