- 论坛徽章:
- 0
|
一个应用系统从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 |
|