Pro*C - Compilation en erreur

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Pro*C - Compilation en erreur

Messagepar Elise78 » 27 Sep 2004 15:50

Salut ixusiens :wink:

J'ai un probleme a résoudre assez urgemment. SI quelqu'un pouvait m'aider ce serait avec grand plaisir.
J'ai Oracle 10g sous RedHat Enterprise Linux ES 3 et mon soucis est le suivant :

J'ai cette superbe erreur
Code: Tout sélectionner
/u01/app/oracle/product/10.1.0/db_1/bin/proc: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory

avec cette commande
Code: Tout sélectionner
[tada@hello home] $ /u01/app/oracle/product/10.1.0/db_1/bin/proc

sinon si je vérifie ce fichier est bel et bien présent ...
Code: Tout sélectionner
[root@hello lib]# ls -la libcln*
lrwxrwxrwx    1 oracle   oinstall       57 aoû 20 14:05 libclntsh.so -> /u01/app/oracle/product/10.1.0/db_1/lib/libclntsh.so.10.1
-rwxr-xr-x    1 oracle   oinstall 12942898 aoû 20 14:05 libclntsh.so.10.1
-rw-r--r--    1 oracle   oinstall        0 aoû 20 14:03 libclntst10.a

Je ne sais vraiment d'ou ca peut venir. Surement d'une configuration systeme que j'ai pas fait ou mal fait .. mais je ne sais pas non plus comment faire.
Si quelqu'un a une idee pour que je puisse avancer un peu. :wink:

Cordialement, Melle Elise78 :)
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes

Messagepar tomtom » 27 Sep 2004 15:52

Les variables d'environnement oracle sont-elles bien positionnées (ORACLE_HOME....)
Il semble y avoir un problème de path...

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar Oliv' » 27 Sep 2004 16:04

Salut,

c'est un problème de librairies dynamiques... essaie:
Code: Tout sélectionner
export LD_LIBRARY_PATH=/chemin/ou/est/ta/lib/

puis relance ton appli... si ça marche, pour rendre ce changement permanent, édite /etc/ld.so.conf, rajoute la ligne du chemin de ta lib, sauvegarde puis éxecute:
Code: Tout sélectionner
ldconfig


Oliv'
Avatar de l’utilisateur
Oliv'
Aspirant
Aspirant
 
Messages: 128
Inscrit le: 11 Juin 2004 15:14
Localisation: FRANCE

Messagepar Elise78 » 27 Sep 2004 16:14

tomtom a écrit:Les variables d'environnement oracle sont-elles bien positionnées (ORACLE_HOME....)
Il semble y avoir un problème de path...
C'est ce que j'ai supposé mais tout à l'air d'etre nikel :
Code: Tout sélectionner
CNFIMS_GMVI=/u/tada/proc/cnfims_gmvi
LEVEL=wait
HOSTNAME=hello
CNFIMS_LSCA=/u/tada/proc/cnfims_lsca
SHELL=/bin/bash
HISTSIZE=1000
ORACLE_PATH=/u/tada/fmb
ORACLE_DOC=/u01/app/oracle/product/10.1.0/db_1/doc
OLDPWD=/u01/app/oracle/product/10.1.0/db_1/bin
POSTE=hello
SERIE_GMVI=/u/tada/proc/SERIE_GMVI
USER=tada
ORACLE_SID=PB01
SERIE_LSCA=/u/tada/proc/SERIE_LSCA
ORACLE_BASE=/u01/app/oracle
FORMS45_DEFAULTFONT=helvetica.10
IMP_FORMS=lp0
NOM_PBE=TADA
ORACLE_RELEASE=10.1.0
PATH=/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/u/tada/bin:/usr/ucb:/u01/app/oracle/product/10.1.0/bin:/u/tada/proc:/u/tada:/u/tada/installation:/u/tada/base:/u/tada/proc:/usr/lbin:/usr/ucb:/u01/app/oracle/product/10.1.0/db_1/bin
PWD=/u/tada
USER_BD=base/base
SHLVL=1
HOME=/u/tada
ORAENV_ASK=NO
LOGNAME=tada
IMP_TICKET_PARALLELE=lp0
PGSLIBTRACE=1
ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1


Je ne vois pas ce qui manque !!
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes

Régler un probleme pour en avoir un autre plus complexe

Messagepar Elise78 » 28 Sep 2004 11:24

Re :(

Oliv' a écrit:pour rendre ce changement permanent, édite /etc/ld.so.conf, rajoute la ligne du chemin de ta lib, sauvegarde puis éxecute: ldconfig

Alors j'ai modifié mon /etc/ls.so.conf et ca marche mais now j'ai ceci comme soucis.
Dans mon makefile j'ai ca :
Code: Tout sélectionner
....
#--- Bibliotheques systeme & Oracle --------------------------------

OSNTAB          = $(LIBHOME)/osntabst.o

LLIBSQL         = -lsql
LLIBSQLNET      = -lsqlnet
LLIBM           = -lm
LLIBLD          = -lld
LLIBSOCKET      = -lsocket
LLIBNSL_S       = -lnsl_s
LLIBTINFO       = -ltinfo
LLIBNCR         = -lncr
LLIBCLIENT      = -lclient
LLIBCOMMON      = -lcommon
LLIBGENERIC     = -lgeneric
LLIBEPC         = -lepc 
LLIBNLSRTL3     = -lnlsrtl3
LLIBC3V6        = -lc3v6
LLIBCORE3       = -lcore3
....
LLIBS    =        $(LLIB_BASE)       $(LIB_TRACE)       $(LIB_OUTILS)   \
                  $(OSNTAB)                                             \
                  $(LLIBSQL)         $(LLIBSQLNET)      $(LLIBNCR)      \
                  $(LLIBSQLNET)      $(LLIBCLIENT)      $(LLIBCOMMON)   \
                  $(LLIBGENERIC)     $(LLIBSQLNET)      $(LLIBNCR)      \
                  $(LLIBSQLNET)      $(LLIBCLIENT)      $(LLIBCOMMON)   \
                  $(LLIBGENERIC)     $(LLIBEPC)         $(LLIBNLSRTL3)  \
                  $(LLIBC3V6)        $(LLIBCORE3)       $(LLIBNLSRTL3)  \
                  $(LLIBCORE3)       $(LLIBNLSRTL3)     $(LLIBSOCKET)   \
                  $(LLIBNSL_S)       $(LLIBM)                       
...

@cd $(OBJ) ; \
    $(CC) $(CFLAGS) -o $(SOURCES)/$* $(OBJ)/$*.c $(LDFLAGS) $(LLIBS)         2>&1 | tee -a $(RES)/$*.res

et du cou j'ai ceci comme erreur :
Code: Tout sélectionner
   ...
    /usr/bin/ld: cannot find -lsocket
   collect2: ld returned 1 exit status

Et pour chaque 'LLIB' j'ai eu une erreur a la compilation , je les ai mis en commentaire au fur et a mesure e finalement aucun n'est bon. Il doit forcement manquer une info !!
En plus j'ai beu lire le man ld je ne vois pas ce qui lui manque.

Cordialement, Melle Elise78
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes

Re: Régler un probleme pour en avoir un autre plus complexe

Messagepar Elise78 » 29 Sep 2004 11:31

Re-moi :wink:

Quelqu'un pourrait me faire passer le fichier demo_proc.mk qui se trouve dans le répertoire : $ORACLE_HOME/precomp/demo/proc ??

Merci d'avance

Cordialement, Melle Elise78
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes

Re: Régler un probleme pour en avoir un autre plus complexe

Messagepar Elise78 » 29 Sep 2004 19:08

Re :?

J'ai fait un include de env_precom.mk au début de mon fichier makefile et j'ai utilisé les variables de ce fichier
$(CC) $(CFLAGS) -o $(SOURCES)/$* $(OBJ)/$*.c $(LDFLAGS) $(PROLDLIBS) $(LIBSQL)

Mais maintenant je me retrouve avec ceci comme erreur ... et je ne sais pas d'ou ca vient. Il doit manquer encore une librairie !!?

Code: Tout sélectionner
...
GNU assembler version 2.14.90.0.4 (i386-redhat-linux) using BFD version 2.14.90.0.4 20030523
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o /u/pegase/proc/acq_fab /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/../../../crt1.o /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/../../../crti.o /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/crtbegin.o -L/u01/app/oracle/product/10.1.0/db_1/lib/ -L/u/pegase/proc/lib -L/usr/lib -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.3 -L/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/../../.. /tmp/ccZeBcxq.o -lclntsh -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10 -lnsslb10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -ldl -lm -lpthread -lnsl -lirc -ldl -lm /u01/app/oracle/product/10.1.0/db_1/lib/libsql10.a -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/crtend.o /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/../../../crtn.o
/tmp/ccZeBcxq.o(.text+0xff): In function `presence_variante':
: undefined reference to `sqlca'
/tmp/ccZeBcxq.o(.text+0x156): In function `presence_variante':
: undefined reference to `sqlca'
/tmp/ccZeBcxq.o(.text+0x163): In function `presence_variante':
: undefined reference to `sqlca'
/tmp/ccZeBcxq.o(.text+0x1d7): In function `presence_variante':
: undefined reference to `sqlca'
/tmp/ccZeBcxq.o(.text+0x371): In function `main':
: undefined reference to `sqlca'
/tmp/ccZeBcxq.o(.text+0x423): more undefined references to `sqlca' follow
collect2: ld returned 1 exit status
:help:
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes

Liste chemins chercher des fichiers include ?

Messagepar Elise78 » 30 Sep 2004 10:17

Re-Bonjour tout le monde :)

J'ai des problemes avec une librairies sqlca.h que mon makefile ne trouve pas et en fait j'ai entre autre chose ceci dans mon message d'erreur :

Code: Tout sélectionner
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/u/pegase/proc
/u/pegase/proc/inc
/usr/local/include
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include
/usr/include
End of search list.

ALors je voudrais savoir comment rajouter un chemin pour qu'il aille chercher les fichiers a inclure au bon endroit ? parce que dans mon répertoire $ORACLE_HOME/precomp/public/ j'ai bien mon fichier sqlca.h !!! Comment lui dire ou aller le chercher ???

Merci d'avance pour votre aide. :wink:

Cordialement, Melle Elise78
Welcome to Elise's World
Avatar de l’utilisateur
Elise78
Premier-Maître
Premier-Maître
 
Messages: 56
Inscrit le: 18 Mai 2004 18:08
Localisation: Rhone Alpes


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité