简单啊……先将你的oracle加到你的root组里,然后将你的/usr/lib权限设定组可读然后用su oracle以oracle身分登录,然后再用命令
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib:/usr:/your ORACLE LIB PATH"
这样设定一下你的库文件目录,然后再编译就可以了

解决方案 »

  1.   

    chmask谢谢您的回答,能不能具体点,不知道正确理解你的意思没有?!
    1.先将你的oracle加到你的root组里,我的oracle用户已经是dba组。
    注意:一定要保证oracle用户只在一个组(dba)里,否则当oracle installer 建立数据库时无法建立正确的控制文件。 
    chgro root /home/oracle
    2.然后将你的/usr/lib(或/lib)权限设定组可读然后用su oracle以oracle身分登录,
    chmod +r /lib3.然后再用命令export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib:/usr:/your 
    su oracle
    ORACLE LIB PATH"export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib:/usr:/your ORACLE LIB PATH"
      

  2.   

    谁教我把上面的make文件修改一下? 
    如果不生成.so文件的并能成功运行的make文件,如下(抄袭傻瓜手册文件): 
    CC=gcc 
    MAKE=make 
    CFLAGS=-I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/rdbms/demo -g 
    PROCFLAGS=sqlcheck=semantic userid=lsjy/ldlsjy sys_include=$(ORACLE_HOME)/precomp/public sys_include=$(ORACLE_HOME)/rdbms/public sys_include=$(ORACLE_HOME)/rdbms/demo 
    LIBS=-L$(ORACLE_HOME)/lib -lclntsh -lpthread -lm -lnsl -lresolv -lrt all : multi multi : dbcom.h dbfunc.h multi.c dbcom.o dbfunc.o 
    $(CC) $(CFLAGS) -o $@ multi.c dbcom.o dbfunc.o $(LIBS) dbcom.o : dbcom.h dbfunc.h dbcom.pc 
    proc $(PROCFLAGS) dbcom.pc 
    $(CC) $(CFLAGS) -o $@ -c dbcom.c 
    rm -f dbcom.c dbfunc.o : dbcom.h dbfunc.h dbfunc.pc 
    proc $(PROCFLAGS) dbfunc.pc 
    $(CC) $(CFLAGS) -o $@ -c dbfunc.c 
    rm -f dbfunc.c clean : 
    rm -f *.o multi