Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Interfaces de programmation
Interfaces de programmation Forum d'entraide sur l'utilisation des API Oracle : Pré-compilateurs, OCI, OCCI, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2007, 10h53   #1
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Par défaut [PRO*C] Erreur make

Bonjour à tous, je suis nouveau et surtout super novice. Je suis administrateur système dans une université et on m'a demandé d'installer un serveur Oracle pour un prof (je ne connais rien à Oracle).
L'installation s'est bien déroulé (j'ai trouvé pas mal d'aides sur ce site et une belle procédure), donc tout est OK.
Pour faire un test, j'ai lancé :

Citation:
$ make -f demo_rdbms32.mk /home/oracle/test.pc pc1
make: Nothing to be done for `/home/oracle/test.pc'.
/home/oracle/oracle/product/10.2.0/db_1/rdbms/bin/proc -I/home/oracle/oracle/product/10.2.0/db_1/rdbms/demo -I//home//oracle/product/10.2.0/db_1/rdbms/public -I//home/oracle/oracle/product/10.2.0/db_1/plsql/public -I/home/oracle/oracle/product/10.2.0/db_1/network/public iname=oracle

Pro*C/C++: Release 10.2.0.1.0 - Production on Wed Mar 7 10:18:55 2007
Copyright ..........

System default option values taken from: /home/oracle/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg

PCC-F-02144, CMD-LINE: Blank characters are not allowed on either side of an equal sign (=)
make: *** [pc1] Error 1

Je saias que c'est indigeste voir incomprehensible, mais j'ai besoin de l'aide d'expert.

Merci
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 10h58   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
pourquoi donc un make ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h24   #3
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
en relisant l'erreur je vois :
Citation:
PCC-F-02144, CMD-LINE: Blank characters are not allowed on either side of an equal sign (=)
et
Citation:
[pc1] Error 1
conclusion, la ligne de commande est incorrecte... tu la sors d'où cette commande et quel est l'objectif ?
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 11h59   #4
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Par défaut Erreur make

Le but de cette commande :
make -f demo_rdbms32.mk /home/oracle/test.pc pc1
est de faire une précompilation.

Je le répète, je ne connais absolument rien à Oracle.

Comment faire une précompilation?
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 19h29   #5
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Citation:
Envoyé par Fred D
pourquoi donc un make ?
Tu sais, il y a d'autres clients que SQL*Plus, certains osent même se faire des programmes sur mesure pour accéder à une base !

Pour en revenir à votre problème :
Quel est votre OS ? quels compilo C utilisez-vous ?
avez-vous vérifié la compatibilité OS/Compilo/Version 10g ?
est-ce que le PATH et LD_LIBRARY_PATH sont Ok ?

avez-vous insallé le companion CD et ses exemples ?
que donne la compilation des exemples fournis par Oracle ?
Code :
make -f demo_proc32.mk sample1
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2007, 19h43   #6
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par LeoAnderson
Tu sais, il y a d'autres clients que SQL*Plus, certains osent même se faire des programmes sur mesure pour accéder à une base !
Ouais je sais mais j'voudrais être certain que lui c'est ce qu'il fait

Sinon, j'aimerai bien qu'on essaye ça aussi :
Code :
make -f demo_rdbms32.mk /home/oracle/test.pc
sans pc1 en somme
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 14h58   #7
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Beaucoup de questions !!!
J'ai fais un peu l'impasse ces derniers jours, autre boulot à faire.
Donc j'ai continué dans ma recherche, j'ai installé le companion CD, et les exemples que j'utilise se trouve dans : /home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc

J'ai essayé ça : make -f demo_proc.mk cv_demo

ça me fait :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
make -f /home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc/demo_proc.mk OBJS=cv_demo.o EXE=cv_demo build
make[1]:Entering directoy `/home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc'
make -f /home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc/demo_proc.mk USER=lio/lio SCRIPT=cv_demo sqlplus_
make[2]:Entering directory `/home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc'
#You must run the .sql script, cv_demo,
#before precomping this sample.
make[2]:Leaving directory `/home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc'
proc sqlcheck=full userid=lio/lio iname=cv_demo
proc:error while loading shared libraries:libclntsh.so.10.1 cannot open shared object file:No such file OR directory
make[1]:***[cv_demo.o]Error 127
make[1]:Leaving directory `/home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc'
make:***[cv_demo] Error 2
Qu'est ce que cette erreur 127 et 2??

J'ai fais un :
Code :
find . -name "libclntsh.so.10.1"
j'ai eu :
Citation:
./oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1
./oracle/product/10.2.0/db_1/rdbms/lib/libclntsh.so.10.1

Sinon pour connaitre toutes les versions je dois taper quoi ??

Merci
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2007, 18h41   #8
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Vous devez positionner les variables PATH & LD_LIBRARY_PATH
Code :
1
2
3
export ORACLE_HOME=/home/oracle/product/10.2.0/db_1/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib/:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
mais on ne connait toujours pas l'OS, ni le compilo utilisé

de plus, les démos ne doivent pas être compilés dans le répertoire d'origine mais copiées dans un répertoire autre.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 12h02   #9
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Bonjour,
Je suis sur RedHat Enterprise V4. Je me sers de Pro*C/C++ release 10.2.0.1.0

En modifiant ce que vous m'avez dit, je n'ai plus l'erreur 127 mais j'ai toujours :
PCC-F-02104, Unable to connect to Oracle
make[1]:***[cv_demo.o]Error 1

make:***[cv_demo] Error 2

Que faire ??
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 13h08   #10
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Citation:
Envoyé par lcheret
Je me sers de Pro*C/C++ release 10.2.0.1.0
ça, c'est le pré-compilateur, pas le compilateur.

Que donne Après, avez-vous modifié le fichier $ORACLE_HOME/precomp/admin/pcscfg.cfg pour rajouter les répertoires des sources "devel" ? (alias sys_include)

Citation:
Oracle Error :: PCC-02104

Unable to connect to Oracle
Cause

The precompiler could not connect to Oracle with the username, password, and, if applicable, database link that was supplied. Note that this is a precompiler message, not a runtime message. This means that the USERID option value, either on the command line or in a configuration file, was incorrect.
Action

Check that the username and password are current and correct. Run SQL*DBA or SQL*PLUS and verify that connection can be made using that username and password.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 13h43   #11
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Citation:
Envoyé par LeoAnderson
ça, c'est le pré-compilateur, pas le compilateur.

Que donne gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)

Après, avez-vous modifié le fichier $ORACLE_HOME/precomp/admin/pcscfg.cfg pour rajouter les répertoires des sources "devel" ? (alias sys_include)
Non je n'ai pas modifié ce fichier, comment fait-on ??

Merci de votre aide
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 15h54   #12
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Normalement, il n'y a pas besoins de le modifier !

mais, soyons précis : quelle commande faites-vous exactement ?
et quelle réponse obtenez-vous exactement ?

parce que normalement, la compilation de sample1.pc ne nécessite aucune connection à aucune base et donc, vous ne devriez pas avoir ce message !
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 16h11   #13
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Par défaut Voila exactement ce qui se passe ...

[oracle@hannah test]$ make -f demo_proc.mk cv_demo

make -f /home/oracle/oracle/product/10.2.0/db_1//precomp/demo/proc/demo_proc.mk OBJS=cv_demo.o EXE=cv_demo build
make[1]: Entering directory `/home/oracle/test'
make -f /home/oracle/oracle/product/10.2.0/db_1//precomp/demo/proc/demo_proc.mk USER=colin/colin SCRIPT=cv_demo sqlplus_
make[2]: Entering directory `/home/oracle/test'
# You must run the .sql script, cv_demo,
# before precomping this sample.
make[2]: Leaving directory `/home/oracle/test'
proc sqlcheck=full userid=colin/colin iname=cv_demo

Pro*C/C++: Release 10.2.0.1.0 - Production on Mon Mar 12 15:07:43 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

System default option values taken from: /home/oracle/oracle/product/10.2.0/db_1//precomp/admin/pcscfg.cfg

PCC-F-02104, Unable to connect to Oracle
make[1]: *** [cv_demo.o] Error 1
make[1]: Leaving directory `/home/oracle/test'
make: *** [cv_demo] Error 2


[oracle@hannah test]$
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2007, 16h37   #14
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
Comme je vous le disais, les exemples NE DOIVENT PAS ETRE TESTES DANS LE REPERTOIRE SOUS L'ORACLE_HOME !

Code :
1
2
3
4
 
$ mkdir /tmp/test_proc
$ cp /home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc/* /tmp/test_proc
$ cd /tmp/test_proc
de plus, avant de vouloir compiler vos sources, on essaie celles d'Oracle :
Code :
1
2
3
4
5
6
7
 
$ make -f demo_proc.mk build_static EXE=sample1 OBJS=sample1.o
$ #si Ok, on essaie en édition de lien dynamique
$ rm sample1.o
$ rm sample1.c
$ rm sample1
$ make -f demo_proc.mk build EXE=sample1 OBJS=sample1.o
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 08h32   #15
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
[code]
$ make -f demo_proc.mk build_static EXE=sample1 OBJS=sample1.o

En procédant comme vous me conseillez, j'obtiens :

make:*** No rule to make target 'sample1.0', needed by 'build_static'. Stop.
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 08h50   #16
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
obj=sample1.o (la lettre o miniscule, pas le chiffre zéro)
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 09h22   #17
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
J'obtiens ça :

[oracle@hannah test]$ make -f demo_proc.mk build_static EXE=sample1 OBJS=sample1 .o
make -f /home/oracle/oracle/product/10.2.0/db_1/precomp/demo/proc/demo_proc.mk P ROCFLAGS="" PCCSRC=sample1 I_SYM=include= pc1
make[1]: Entering directory `/tmp/test'
proc iname=sample1 include=. include=/home/oracle/oracle/product/10.2.0/db_1/pr ecomp/public include=/home/oracle/oracle/product/10.2.0/db_1/rdbms/public includ e=/home/oracle/oracle/product/10.2.0/db_1/rdbms/demo include=/home/oracle/oracle /product/10.2.0/db_1/plsql/public include=/home/oracle/oracle/product/10.2.0/db_ 1/network/public
proc: error while loading shared libraries: libclntsh.so.10.1: cannot open share d object file: No such file or directory
make[1]: *** [pc1] Error 127
make[1]: Leaving directory `/tmp/test'
make: *** [sample1.o] Error 2
[oracle@hannah test]$
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 10h50   #18
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
merci de penser à toujours positionner l'env PATH & LD_LIBRARY_PATH !
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 11h05   #19
Invité de passage
 
Inscription : mars 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 14
Points : 1
Points : 1
Par défaut pas beau le résultat ...

[oracle@hannah test]$ make -f demo_proc.mk build_static EXE=sample1 OBJS=sample1.o make -f /home/oracle/oracle/product/10.2.0/db_1//precomp/demo/proc/demo_proc.mk PR OCFLAGS="" PCCSRC=sample1 I_SYM=include= pc1
make[1]: Entering directory `/tmp/test'
proc iname=sample1 include=. include=/home/oracle/oracle/product/10.2.0/db_1//pre comp/public include=/home/oracle/oracle/product/10.2.0/db_1//rdbms/public include= /home/oracle/oracle/product/10.2.0/db_1//rdbms/demo include=/home/oracle/oracle/pr oduct/10.2.0/db_1//plsql/public include=/home/oracle/oracle/product/10.2.0/db_1//n etwork/public

Pro*C/C++: Release 10.2.0.1.0 - Production on Tue Mar 13 10:49:09 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

System default option values taken from: /home/oracle/oracle/product/10.2.0/db_1// precomp/admin/pcscfg.cfg

Error at line 34, column 11 in file /usr/include/stdio.h
# include <stddef.h>
..........1
PCC-S-02015, unable to open include file
Error at line 31, column 10 in file /usr/include/bits/types.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 14, column 10 in file /usr/include/_G_config.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 48, column 10 in file /usr/include/wchar.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 48, column 10 in file /usr/include/wchar.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 31, column 10 in file /usr/include/gconv.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Syntax error at line 72, column 26, file /usr/include/gconv.h:
Error at line 72, column 26 in file /usr/include/gconv.h
unsigned char **, size_t *, int, int);
.........................1
PCC-S-02201, Encountered the symbol "size_t" when expecting one of the following
:

... auto, char, const, double, enum, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
union, unsigned, utext, uvarchar, varchar, void, volatile,
a typedef name, exec oracle, exec oracle begin, exec,
exec sql, exec sql begin, exec sql type, exec sql var,
The symbol "enum," was substituted for "size_t" to continue.

Syntax error at line 88, column 7, file /usr/include/gconv.h:
Error at line 88, column 7 in file /usr/include/gconv.h
size_t *);
......1
PCC-S-02201, Encountered the symbol "size_t" when expecting one of the following
:

... auto, char, const, double, enum, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
union, unsigned, utext, uvarchar, varchar, void, volatile,
a typedef name, exec oracle, exec oracle begin, exec,
exec sql, exec sql begin, exec sql type, exec sql var,
The symbol "enum," was substituted for "size_t" to continue.

Syntax error at line 97, column 6, file /usr/include/gconv.h:
Error at line 97, column 6 in file /usr/include/gconv.h
size_t *);
.....1
PCC-S-02201, Encountered the symbol "size_t" when expecting one of the following
:

... auto, char, const, double, enum, float, int, long,
ulong_varchar, OCIBFileLocator OCIBlobLocator,
OCIClobLocator, OCIDateTime, OCIExtProcContext, OCIInterval,
OCIRowid, OCIDate, OCINumber, OCIRaw, OCIString, register,
short, signed, sql_context, sql_cursor, static, struct,
union, unsigned, utext, uvarchar, varchar, void, volatile,
a typedef name, exec oracle, exec oracle begin, exec,
exec sql, exec sql begin, exec sql type, exec sql var,
The symbol "enum," was substituted for "size_t" to continue.

Syntax error at line 106, column 3, file /usr/include/gconv.h:
Error at line 106, column 3 in file /usr/include/gconv.h
__gconv_trans_fct __trans_fct;
..1
PCC-S-02201, Encountered the symbol "__gconv_trans_fct" when expecting one of th
e following:

char, const, double, enum, float, int, long, ulong_varchar,
OCIBFileLocator OCIBlobLocator, OCIClobLocator, OCIDateTime,
OCIExtProcContext, OCIInterval, OCIRowid, OCIDate, OCINumber,
OCIRaw, OCIString, short, signed, sql_context, sql_cursor,
struct, union, unsigned, utext, uvarchar, varchar, void,
volatile, a typedef name,

Error at line 53, column 11 in file /usr/include/libio.h
# include <stdarg.h>
..........1
PCC-S-02015, unable to open include file
Error at line 33, column 10 in file /usr/include/string.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 33, column 10 in file /usr/include/stdlib.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 147, column 10 in file /usr/include/sys/types.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Error at line 25, column 10 in file /usr/include/alloca.h
#include <stddef.h>
.........1
PCC-S-02015, unable to open include file
Syntax error at line 0, column 0, file sample1.pc:
Error at line 0, column 0 in file sample1.pc
PCC-S-02201, Encountered the symbol "<eof>" when expecting one of the following:

; : an identifier, end-exec, random_terminal

Error at line 0, column 0 in file sample1.pc
PCC-F-02102, Fatal error while doing C preprocessing
make[1]: *** [pc1] Error 1
make[1]: Leaving directory `/tmp/test'
make: *** [sample1.o] Error 2
[oracle@hannah test]$
lcheret est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 11h30   #20
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
c'est là qu'il faut modifier le /home/oracle/oracle/product/10.2.0/db_1// precomp/admin/pcscfg.cfg pour y indiquer les chemins d'accès aux types.h, stdio.h et tous les autres headers mentionnés dans la trace.

Faut faire un locate des différents fichiers et modifier le fichier de conf en conséquence.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h46.


 
 
 
 
Partenaires

Hébergement Web