IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces de programmation Oracle Discussion :

[OCILIB] Problem of use in Gentoo of ocilib


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut [OCILIB] Problem of use in Gentoo of ocilib
    Hello all,

    first of all im sorry for posting in a major french forum, but google only takes me here as the similar results for my problem.


    I have a linux machine running gentoo, i have installed the oracle instant client for linux and the oracle sdk for linux too with no problems, i have defined my LD_LIBRARY_PATH and ORACLE_HOME and installed ocilib from source with no problems at all.

    The problem begins when i try to compile this program:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #include "ocilib.h"
     
    int main()
    {
      OCI_Connection *cn;
      OCI_Statement  *st;
      int res = 0;
     
      if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
        return EXIT_FAILURE;
     
      cn = OCI_ConnectionCreate("db", "usr", "pwd", OCI_SESSION_DEFAULT);
      st = OCI_CreateStatement(cn);
     
      /* pl/sql call */
     
      OCI_Prepare(st, MT("begin :res := trunc(sysdate+1)-trunc(sysdate-1); end;"));
      OCI_BindInt(st, MT(":res"), &res);
      OCI_Execute(st);
     
      printf("result : %i\n", res);
     
      OCI_Cleanup();
     
      return EXIT_SUCCESS;
    }
    i have this makefile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ALL : ocilib main.o	
    ocilib: main.o	
    	gcc -o main.o -L/usr/lib/oracle/10.2.0.3/client/include/lib -lclntsh -L/usr/local/lib -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_UNICODE
    main.o: main.c 
    	gcc -Wall -o main main.c -I/usr/local/include -L/usr/lib/oracle/10.2.0.3/client/include/lib
    and when i run the make i get this:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    helder_oliveira Desktop # make
    gcc -Wall -o main main.c -I/usr/local/include -L/usr/lib/oracle/10.2.0.3/client/include/lib
    /tmp/ccoEapRA.o: In function `main':
    main.c:(.text+0x22): undefined reference to `OCI_Initialize'
    main.c:(.text+0x4b): undefined reference to `OCI_ConnectionCreate'
    main.c:(.text+0x5c): undefined reference to `OCI_StatementCreate'
    main.c:(.text+0x72): undefined reference to `OCI_Prepare'
    main.c:(.text+0x89): undefined reference to `OCI_BindInt'
    main.c:(.text+0x97): undefined reference to `OCI_Execute'
    main.c:(.text+0xb3): undefined reference to `OCI_Cleanup'
    collect2: ld returned 1 exit status
    make: *** [main.o] Error 1
    by the way here are my env variables also

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    MANPATH=/etc/java-config-2/current-system-vm/man:/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i486-pc-linux-gnu/2.18/man:/usr/share/gcc-data/i486-pc-linux-gnu/4.1.2/man:/opt/blackdown-jdk-1.4.2.03/man:/etc/java-config/system-vm/man/:/usr/lib/php5/man/:/usr/kde/3.5/share/man:/usr/qt/3/doc/man
    INTEL_BATCH=1
    SSH_AGENT_PID=5018
    GPG_AGENT_INFO=/tmp/seahorse-bgNNMA/S.gpg-agent:5028:1
    SHELL=/bin/bash
    DESKTOP_STARTUP_ID=
    TERM=xterm
    GTK_RC_FILES=/etc/gtk/gtkrc:/home/helder.oliveira/.gtkrc-1.2-gnome2
    WINDOWID=23069044
    OLDPWD=/home/helder.oliveira
    QTDIR=/usr/qt/3
    GTK_MODULES=gnomebreakpad
    USER=root
    LD_LIBRARY_PATH=/usr/lib/oracle/10.2.0.3/client/lib
    LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.pdf=00;32:*.ps=00;32:*.txt=00;32:*.patch=00;32:*.diff=00;32:*.log=00;32:*.tex=00;32:*.doc=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:
    GDK_USE_XFT=1
    SSH_AUTH_SOCK=/tmp/keyring-Gwm8RL/ssh
    GNOME_KEYRING_SOCKET=/tmp/keyring-Gwm8RL/socket
    USERNAME=helder.oliveira
    SESSION_MANAGER=local/helder_oliveira:/tmp/.ICE-unix/4996
    VMHANDLE=blackdown-jdk-1.4.2
    CONFIG_PROTECT_MASK=/etc/env.d/java/ /etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/udev/rules.d /etc/fonts/fonts.conf /etc/gconf /etc/terminfo /etc/ca-certificates.conf /etc/revdep-rebuild
    PAGER=/usr/bin/less
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    DESKTOP_SESSION=gnome
    TNS_ADMIN=/etc/oracle/
    C_INCLUDE_PATH=/usr/lib/oracle/10.2.0.3/client/include
    GDM_XSERVER_LOCATION=local
    PWD=/home/helder.oliveira/Desktop
    GENERATION=2
    JAVA_HOME=/etc/java-config-2/current-system-vm
    JAVAC=/etc/java-config-2/current-system-vm/bin/javac
    EDITOR=/usr/bin/vim
    LANG=C
    GDM_LANG=C
    QMAKESPEC=linux-g++
    KDEDIRS=/usr:/usr/local:/usr/kde/3.5
    GDMSESSION=gnome
    HOME=/root
    JDK_HOME=/etc/java-config-2/current-system-vm
    SHLVL=2
    GNOME_DESKTOP_SESSION_ID=Default
    LESS=-R -M --shift 5
    LOGNAME=root
    PYTHONPATH=/usr/lib/portage/pym
    GCC_SPECS=
    CVS_RSH=ssh
    XDG_DATA_DIRS=/usr/share:/usr/kde/3.5/share:/usr/local/share
    DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-u0RTvepDUz,guid=07d82012fa220e6ef5fa21e54942e678
    CLASSPATH=.
    LESSOPEN=|lesspipe.sh %s
    PKG_CONFIG_PATH=/usr/qt/3/lib/pkgconfig
    WINDOWPATH=7
    INFOPATH=/usr/share/info:/usr/share/binutils-data/i486-pc-linux-gnu/2.18/info:/usr/share/gcc-data/i486-pc-linux-gnu/4.1.2/info:/usr/share/info/emacs-22
    DISPLAY=:0.0
    RUBYOPT=-rauto_gem
    OPENGL_PROFILE=xorg-x11
    ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client
    CONFIG_PROTECT=/usr/kde/3.5/share/config /usr/kde/3.5/env /usr/kde/3.5/shutdown /usr/share/config
    XAUTHORITY=/root/.xauthQTu5Hc
    COLORTERM=gnome-terminal
    _=/bin/env
    I know many are garbish, but i don't dare to delete a line so you can see all my definitions.

    It's getting kinda frustrating so im asking for your help and maybe some patience if im making a noob mistake

  2. #2
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    Hi,

    As you said, this is a french forum and not really appropriate for an english post.

    Btw, OCILIB has got its own forum on SourceForge.

    Your problem resides in your makefile : you didn't link against ocilib shared lib.

    here is your fixed makefile :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ALL : ocilib main.o    
    ocilib: main.o    
        gcc -o main.o -L/usr/lib/oracle/10.2.0.3/client/include/lib -lclntsh -L/usr/local/lib -locilib 
    main.o: main.c 
        gcc -Wall -o main main.c -I/usr/local/include -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_UNICODE
    For support in English, it will be better that you use the english forum on sourceforge or send me directly a mail (adress in ocilib sources)

    Have a nice day with ocilib !
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut
    Merci pour la réponse et je m'excuse auprès de tous les Anglais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/10/2011, 11h39
  2. Réponses: 2
    Dernier message: 16/03/2007, 22h40
  3. RaveReport & C# Builder probleme de "using"
    Par SubZero2 dans le forum Rave
    Réponses: 2
    Dernier message: 13/12/2006, 09h20
  4. [Debutant] problemes de uses
    Par Invité dans le forum Débuter
    Réponses: 3
    Dernier message: 19/02/2006, 15h59
  5. probleme avec : using namespace
    Par firejocker dans le forum C++
    Réponses: 3
    Dernier message: 28/11/2005, 12h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo