LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4776|回复: 4

fc5,tora-1.3.18 for oracle 10g,simpile OCI app错误

[复制链接]
发表于 2006-6-27 10:32:43 | 显示全部楼层 |阅读模式
我在root用户下用这个命令configure tora-1.3.18的时候:
./configure --with-qt-dir=/usr/lib/qt-3.3 --with-oracle=/opt/oracle/dbhome/product/10.2.0 --with-oracle-libraries=/opt/oracle/dbhome/product/10.2.0/lib --with-oci-version=10G --with-instant-client

系统在下面出现错误:
checking if STL implementation is SGI like... yes
checking for oracle... checking oci works... configure: error: Couldn't compile and run a simpile OCI app.
Try setting ORACLE_HOME or check config.log.
Otherwise, make sure ORACLE_HOME/lib is in /etc/ld.so.conf or LD_LIBRARY_PATH
[root@bigboar tora-1.3.18]#

而我的root环境,已经配置了和oracle用户一样的环境,即有$ORACLE_HOME,也有LD_LIBRARY_PATH参数设置。

我换oracle用户来执行上面的configure,也是同样在这个地方报告错误。


环境变量:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/opt/oracle/dbhome; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0; export ORACLE_HOME
ORACLE_SID=boar10g; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbinPATH; export PATH
PATH=$ORACLE_HOME/binPATH; export PATH


LD_LIBRARY_PATH=$ORACLE_HOME/client/libORACLE_HOME/lib:/usr/X11R6/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

CLASSPATH=$ORACLE_HOME/jreORACLE_HOME/jlibORACLE_HOME/rdbms/jlib; export CLASSPATH


#for qt
QTDIR=/usr/lib/qt-3.3
PATH=$QTDIR/binPATH
MANPATH=/usr/share/doc/qt-3.3.5/manMANPATH
LD_LIBRARY_PATH=$QTDIR/libLD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH





有知道怎么处理这个错误的朋友,麻烦说一下,谢谢。。。
发表于 2006-8-24 14:33:16 | 显示全部楼层
直接./configure 就没有这个问题,可以直接生成Makefile文件,但是到make的时候回报错!
  1. if g++ -DHAVE_CONFIG_H -I. -I. -I.  -I/usr/include/kde -I/usr/lib/qt-3.3/include   -DDEFAULT_PLUGIN_DIR="/usr/local/tora/lib" -DTOVERSION="1.3.21" -I/u01/app/oracle/product/10.2.0/db_1/rdbms/demo -I/u01/app/oracle/product/10.2.0/db_1/plsql/public -I/u01/app/oracle/product/10.2.0/db_1/rdbms/public -DOTL_ORA10G -DOTL_ORA_TIMESTAMP -DOTL_ANSI_CPP -DOTL_FUNC_THROW_SPEC_ON -DOTL_EXCEPTION_ENABLE_ERROR_OFFSET    -DQT_THREAD_SUPPORT -g -O2 -D_REENTRANT -MT tora-tothread.o -MD -MP -MF ".deps/tora-tothread.Tpo" -c -o tora-tothread.o `test -f 'tothread.cpp' || echo './'`tothread.cpp; \
  2. then mv -f ".deps/tora-tothread.Tpo" ".deps/tora-tothread.Po"; else rm -f ".deps/tora-tothread.Tpo"; exit 1; fi
  3. tothread.cpp: In member function ‘void toThread::start()’:
  4. tothread.cpp:190: 错误:‘toThreadStartWrapper’ 在此作用域中尚未声明
  5. tothread.cpp: In member function ‘void toThread::startAsync()’:
  6. tothread.cpp:199: 错误:‘toThreadStartWrapper’ 在此作用域中尚未声明
  7. make[1]: *** [tora-tothread.o] 错误 1
  8. make[1]: Leaving directory `/media/disk/tools/TOra/tora-1.3.21'
  9. make: *** [all] 错误 2
复制代码
比较郁闷!
回复 支持 反对

使用道具 举报

发表于 2006-11-13 15:40:13 | 显示全部楼层
找到文件tothread.cpp,编辑里边的内容,找到
#define THREAD_ASSERT(x) if((x)!=0) { \
  throw (qApp->translate("toThread","Thread function \"%1\" failed.").arg(QString::fromLatin1( #x ))); }

void toThread::initAttr()
{
    //create the thread detached, so everything is cleaned up
    //after it's finished.
修改成如下:
#define THREAD_ASSERT(x) if((x)!=0) { \
  throw (qApp->translate("toThread","Thread function \"%1\" failed.").arg(QString::fromLatin1( #x ))); }

void *toThreadStartWrapper(void *t);      //增加的代码

void toThread::initAttr()
{
    //create the thread detached, so everything is cleaned up
    //after it's finished.
保存。(不改在make是会出现如下错误:
tothread.cpp: In member function ‘void toThread::start()’:
tothread.cpp:190: error: ‘toThreadStartWrapper’ was not declared in this scope
tothread.cpp: In member function ‘void toThread::startAsync()’:
tothread.cpp:199: error: ‘toThreadStartWrapper’ was not declared in this scope
make[1]: *** [tora-tothread.o] Error 1
make[1]: Leaving directory `/home/yht/Downloads/tora-1.3.21'
make: *** [all] Error 2)
回复 支持 反对

使用道具 举报

发表于 2006-11-16 23:48:23 | 显示全部楼层
我在Linux下安装PHP+Oracle环境(注Oracle server不是本机),我configure很正常,没报什么错
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/lib/mysql --with-mysqli --with-xml --with-gettext --with-gd --with-dom --with-zlib --enable-ftp --enable-inline-optimization --enable-track-vars --enable-trans-sid --enable-mbstring --with-mcrypt --with-jpeg --with-png --with-oci8=/opt/oracle/instantclient_10_2

但老是 make 不过去.老是出现这样的错误.请问是什么?
/tmp/php-5.1.4/ext/oci8/oci8.c:1716: error: 'php_oci_connection' has no member named 'descriptors'
/tmp/php-5.1.4/ext/oci8/oci8.c:1716: warning: passing argument 1 of 'zend_hash_destroy' from incompatible pointer type
/tmp/php-5.1.4/ext/oci8/oci8.c:1717: error: 'php_oci_connection' has no member named 'descriptors'
/tmp/php-5.1.4/ext/oci8/oci8.c:1718: error: 'php_oci_connection' has no member named 'descriptors'
/tmp/php-5.1.4/ext/oci8/oci8.c:1723: error: 'zend_oci_globals' has no member named 'persistent_timeout'
/tmp/php-5.1.4/ext/oci8/oci8.c:1724: error: 'php_oci_connection' has no member named 'idle_expiry'
/tmp/php-5.1.4/ext/oci8/oci8.c:1724: error: 'zend_oci_globals' has no member named 'persistent_timeout'
/tmp/php-5.1.4/ext/oci8/oci8.c:1727: error: 'zend_oci_globals' has no member named 'ping_interval'
/tmp/php-5.1.4/ext/oci8/oci8.c:1728: error: 'php_oci_connection' has no member named 'next_ping'
/tmp/php-5.1.4/ext/oci8/oci8.c:1728: error: 'zend_oci_globals' has no member named 'ping_interval'
/tmp/php-5.1.4/ext/oci8/oci8.c:1732: error: 'php_oci_connection' has no member named 'next_ping'
/tmp/php-5.1.4/ext/oci8/oci8.c:1735: error: 'php_oci_connection' has no member named 'used_this_request'
/tmp/php-5.1.4/ext/oci8/oci8.c:1737: error: 'zend_oci_globals' has no member named 'persistent_timeout'
/tmp/php-5.1.4/ext/oci8/oci8.c:1737: warning: comparison between pointer and integer
/tmp/php-5.1.4/ext/oci8/oci8.c:1738: error: 'php_oci_connection' has no member named 'idle_expiry'
/tmp/php-5.1.4/ext/oci8/oci8.c:1738: warning: comparison between pointer and integer
make: *** [ext/oci8/oci8.lo] Error 1
回复 支持 反对

使用道具 举报

发表于 2007-8-5 09:30:41 | 显示全部楼层
按照别人的说法就是不可以,发现有如下问题:
Couldn't compile and run a simpile OCI app
checking for oracle... checking oci works... configure: error: Couldn't compile and run a simpile OCI app.
Try setting ORACLE_HOME or check config.log.
Otherwise, make sure ORACLE_HOME/lib is in /etc/ld.so.conf or LD_LIBRARY_PATH
经过检查config.log发现某些$oracle_home/lib找不到,然后把他们建立快捷方式到/usr/lib下面,就可以了,共两个。
sudo ln -s /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libclntsh.so.10.1 /usr/lib/
sudo ln -s /usr/lib/oracle/xe/app/oracle/product/10.2.0/client/lib/libnnz10.so /usr/lib
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表