ORA-06522 - undefined symbol

I'm getting the following error when i execute external procedure:
ORA-06520: PL/SQL: Error loading external library
ORA-06522: /oracle/ora10/mm_server/libhello.so: undefined symbol: NfmIsRegistered
ORA-06512: at "AOL.VERIFICATION", line 1
ORA-06512: at line 4
Outside Oracle DB everything works fine.
I have all shared object dependencies in same directory than libhello.so.
Could you help me?
Thanks a lot

This can be related to LD_LIBRARY_PATH or permissions. Check your environment variables and file permissions.
See also Metalink note 310044.1.

Similar Messages

  • ORA-06521: PL/SQL: Error mapping function :ORA-06522:undefined :ODCIAggre

    Hi,
    I am getting the following error :
    SQL> select MinDistance(TT) from egg1;
    select MinDistance(TT) from egg1
    ERROR at line 1:
    ORA-06521: PL/SQL: Error mapping function
    ORA-06522: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/custagg.so:
    undefined symbol: ODCIAggregateInitialize
    I am compiling my C program with OCI using the following command :
    g++ -Wall -c custagg.c -o custagg.o -I$ORACLE_HOME/rdbms/public -I/usr/lib
    I am linking to get a shared library custagg.so file with following command :
    ld -shared -o custagg.so custagg.o $ORACLE_HOME/lib/l*.so ../../usr/lib/libstdc++.s*
    I am not getting any errors during these two phases.
    And when i am calling the extproc custagg(Mindistance) which i implemented using ODCI(oracle data catridge interface) ...I am getting the error undefined symbol : ODCIAggregateInitialize
    So can any one please let me know what shared libraries are required to access the ODCI services and also am I compiling and linking it the right way or am I missing any libraries.
    I have the oci.h & odci.h and several other header files in my :
    $ORACLE_HOME/rdbms/public
    And while linking i am using : $ORACLE_HOME/lib/*.so files.
    So I don't know whether my directory is missing some shared files related to ODCI : can any one please let me know which files or shared libraries I am missing :
    Below are list of files in my : $ORACLE_HOME/lib :
    custagg123.o libclntsh.so libdbcfg10.so libjox10.so libocci.so.10.1 liborasdkbase.so libskgxpd.so libunwind.so.5
    custagg.so libclntsh.so.10.1 libemmas10.so libldapjclnt10.so libocijdbc10.so liborasdkbase.so.10.2 libskgxpu.so libxdb.so
    facility.lis libclsra10.so libhasgen10.so libnjni10.so libocr10.so liborasdk.so libsqlplus.so shell.so
    hsdb_odbc.so libcorejava.so libheteroxa10.so libnjssl10.so libocrb10.so liborasdk.so.10.2 libsqora.so.10.1 sysliblist
    hsdb_ora.so libcoresh10.so libhsbase.so libnnz10.so libocrutl10.so libqsmashr.so libsrvm10.so
    lclasses12.zip libcprts.so.5 libhsnav.so libnque10.so libodm10.so libskgxn2.so libsrvmhas10.so
    libagtsh.so libcxa.so.3 libimf.so libntcpaio10.so libodmd10.so libskgxns.so libsrvmocr10.so
    libagtsh.so.1.0 libcxa.so.5 libirc.a libocci.so libons.so libskgxp10.so libuini10.so
    Please reply to my queries.
    Please let me know if you want to have a look at the symbols of my object file
    Thanks & Regards,
    -NN

    Your issue may relate to XE and it may relate to OCI but it does not relate to SQL and PL/SQL. Consider posting your question in a forum where it will be on topic.
    When you do include full version information (3 decimal places) and the code that is generating the exception.

  • ORA-06521:PL/SQL:Error mapping function :ORA-06522:undefined :ODCIAggregate

    Hi,
    I am getting the following error :
    SQL> select MinDistance(TT) from egg1;
    select MinDistance(TT) from egg1
    ERROR at line 1:
    ORA-06521: PL/SQL: Error mapping function
    ORA-06522: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/custagg.so:
    undefined symbol: ODCIAggregateInitialize
    I am compiling my C program with OCI using the following command :
    g++ -Wall -c custagg.c -o custagg.o -I$ORACLE_HOME/rdbms/public -I/usr/lib
    I am linking to get a shared library custagg.so file with following command :
    ld -shared -o custagg.so custagg.o $ORACLE_HOME/lib/l*.so ../../usr/lib/libstdc++.s*
    I am not getting any errors during these two phases.
    And when i am calling the extproc custagg(Mindistance) which i implemented using ODCI(oracle data catridge interface) ...I am getting the error undefined symbol : ODCIAggregateInitialize
    So can any one please let me know what shared libraries are required to access the ODCI services and also am I compiling and linking it the right way or am I missing any libraries.
    I have the oci.h & odci.h and several other header files in my :
    $ORACLE_HOME/rdbms/public
    And while linking i am using : $ORACLE_HOME/lib/*.so files.
    So I don't know whether my directory is missing some shared files related to ODCI : can any one please let me know which files or shared libraries I am missing :
    Below are list of files in my : $ORACLE_HOME/lib :
    custagg123.o libclntsh.so libdbcfg10.so libjox10.so libocci.so.10.1 liborasdkbase.so libskgxpd.so libunwind.so.5
    custagg.so libclntsh.so.10.1 libemmas10.so libldapjclnt10.so libocijdbc10.so liborasdkbase.so.10.2 libskgxpu.so libxdb.so
    facility.lis libclsra10.so libhasgen10.so libnjni10.so libocr10.so liborasdk.so libsqlplus.so shell.so
    hsdb_odbc.so libcorejava.so libheteroxa10.so libnjssl10.so libocrb10.so liborasdk.so.10.2 libsqora.so.10.1 sysliblist
    hsdb_ora.so libcoresh10.so libhsbase.so libnnz10.so libocrutl10.so libqsmashr.so libsrvm10.so
    lclasses12.zip libcprts.so.5 libhsnav.so libnque10.so libodm10.so libskgxn2.so libsrvmhas10.so
    libagtsh.so libcxa.so.3 libimf.so libntcpaio10.so libodmd10.so libskgxns.so libsrvmocr10.so
    libagtsh.so.1.0 libcxa.so.5 libirc.a libocci.so libons.so libskgxp10.so libuini10.so
    Please reply to my queries.
    Please let me know if you want to have a look at the symbols of my object file
    Thanks & Regards,
    -NN

    It's only a quick guess but have you checked your tnsnames.ora file to ensure you've opened the environment to find the libraries? If you set the EXTPROC_DLLS=ANY, you open the database to security issues but it should tell you if this cause because you can't access the library that contains the symbol.
    SID_LIST_CALLOUT_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = <oracle_home_directory>)
    (PROGRAM = extproc)
    (ENV = "EXTPROC_DLLS=ONLY:
    <oracle_home_directory>/customlib/writestr1.so
    ,LD_LIBRARY_PATH=<oracle_home_directory>/lib")
    )

  • Undefined symbol error when calling stat from extproc

    Hi, I'm trying to call an external procedure written in C that calls stat, and am getting the following error. Note that we have other extprocs running, and we are on Oracle 8.1.7 on redhat 6.2...
    SQL Error: ORA-06520: PL/SQL: Error loading external library
    ORA-06522: /tmp/extproc.so: undefined symbol: stat
    OS/compiler
    Linux enchilada 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown
    gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
    Oracle version: 8.1.7
    added following lines to file plsql/demo/extproc.c:
    (at top of file)
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    (inside UpdateSalary function)
    struct stat mystat;
    stat("/tmp/foo", &mystat);
    reported error:
    SQL Error: ORA-06520: PL/SQL: Error loading external library
    ORA-06522: /tmp/extproc.so: undefined symbol: stat
    NOTE: when I remove call to stat, procudure runs properly.
    null

    I've talked to support, and this is supposedly a problem with Oracle not recognizing the library path. It is supposed to be fixed in 8.1.7.1.

  • ORA-06522 problem

    Hi!
    I and my college like to use a c++ program on a HP-UX 11 and Oracle 10gR2
    but every time when we call our simple test c++ function from pl/sql as an external function we get an error.
    Earlier we used 9i and we had not problem by the runing.
    Our simple program:
    extern "C"
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    void test(char *ostr)
    char *p;
    p = getenv("CSILOGDIR");
    if (p == NULL)
    strcpy(ostr, "");
    else
    strcpy(ostr, p);
    return;
    We create a makesl file:
    echo $CppComp
    $CppComp dirt.cpp
    ld -b -t -v -o dirt.sl dirt.o
    We run this makesl on the HP-UX 11 and it creates the dirt.o and dirt.sl files.
    When we create a PL/SQL stored procedure which call the test function
    and run it we get the next error:
    ORA-06520:PL/SQL: Error loading external library
    ORA-06522:Unsatisfied code symbol '__cxa_personality_routine' in .../dirt.sl
    Can somebody help?
    Atesz

    I have exactly the same problem:
    I wil list my configuration files:
    # TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    MVNA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sikmdb04.kddimobile.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MVNA)
    MVNO01 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sikmdb04.kddimobile.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MVNO01)
    MVNO02 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sikmdb04.kddimobile.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MVNO02)
    MVNO03 =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sikmdb04.kddimobile.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MVNO03)
    EXTPROC_CONNECTION_DATA=
    (DESCRIPTION =
    (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
         (SID = PLSExtProc)
         (PRESENTATION = RO)
    # LISTENER.ORA Network Configuration File: C:\oracle\ora92\network\admin\listener.ora
    # Generated by Oracle configuration tools.
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = sikmdb04)(PORT = 1521))
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\ora92)
    (PROGRAM = extproc)
    (ENVS = "EXTPROC_DLLS=ANY")
    (SID_DESC =
    (SID_NAME = MVNOA)
    (ORACLE_HOME = C:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (SID_NAME = MVNO01)
    (ORACLE_HOME = C:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (SID_NAME = MVNO02)
    (ORACLE_HOME = C:\oracle\ora92)
    (PROGRAM = extproc)
    (SID_DESC =
    (SID_NAME = MVNO03)
    (ORACLE_HOME = C:\oracle\ora92)
    (PROGRAM = extproc)
    # This file is actually generated by netca. But if customers choose to
    # install "Software Only", this file wont exist and without the native
    # authentication, they will not be able to connect to the database on NT.
    #automatic_ipc = off
    SQLNET.AUTHENTICATION_SERVICES = (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES)
    #SQLNET.EXPIRE_TIME=10
    where is the problem??
    please help.
    Thansk a lot.

  • Recompilation causes: ORA-06521 and ORA-06522

    Hi,
    I've an external function(created in C), which was installed using the normal stuff(associated with a library and used in an external function definition). Everything was working ok, I mean, I was able to call the function from pl/sql programs without any problem. I'm using Oracle version 8.1.7 under Solaris 8.0.
    But then, it was necessary to recompile the function(the C source). I don't know how often Oracle checks or load the OS file(shared library), but after that recompilation I get the following error:
    sqlcode = -6521
    sqlerrm = ORA-06521: PL/SQL: Error mapping function
    ORA-06522: ld.so.1:
    extprocextproc_agent: fatal: cliente_390: can't find symbol
    My sql code for the library and function re-creation is something like this:
    create or replace library lib_cliente_390 as
    '/a/b/c/d/cliente_390.so'
    create or replace function cliente_390
    in_ip in varchar,
    in_puerto in binary_integer,
    in_terms in varchar,
    in_cics in varchar,
    in_nomtran in varchar,
    in_nomtran_esp in varchar,
    in_usuario in varchar,
    in_password in varchar,
    in_trama_env in varchar,
    in_timeout in binary_integer,
    in_loglevel in binary_integer,
    in_logfile in varchar,
    out_term_asig out varchar,
    out_trama_rec out varchar,
    out_desc_codret out varchar
    return binary_integer
    as language c
    name "cliente_390"
    library lib_cliente_390;
    As an additional problem, I tested the same case on a Linux box with Oracle 9, and it gives me another error: a problem with the DLL path. When I change the path for something relative to ${ORACLE_HOME}, then it seems to work(even with recompilation).
    Well, any help will be appreciated. Thanks
    salu2
    dario estepario ...

    I don't know how often Oracle checks or load the OS file(shared library), I believe it loads the file the first time it's called in a session. To get the new version of the extproc you ned to re-connect to the database.
    Cheers, APC

  • Libclntsh.so.11.1: undefined symbol: nnftboot

    Hi everybody, it is my first post here :-)
    I am trying to install 11g on linux.
    after install I am getting
    sqlplus: symbol lookup error: /opt/ora/home/lib/libclntsh.so.11.1: undefined symbol: nnftboot
    What went wrong?

    more on this I have in
    oraInstall2009-10-02_09-26-34AM.err
    java.lang.UnsatisfiedLinkError: jniGetOracleHome
    at oracle.net.common.NetGetEnv.jniGetOracleHome(Native Method)
    at oracle.net.common.NetGetEnv.getOracleHome(Unknown Source)
    at oracle.net.ca.NetCA.main(Unknown Source)
    Oracle Net Services configuration failed. The exit code is -1
    and in silentInstall2009-10-02_09-26-34AM.log
    Error in invoking target 'relink' of makefile '/opt/ora/home/precomp/lib/ins_precomp.mk'. See '/opt/oraInventory/logs /installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'ioracle client_sharedlib' of makefile '/opt/ora/home/rdbms/lib/ins_rdbms.mk'. See '/opt/ora Inventory/logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'install' of makefile '/opt/ora/home/sqlplus/lib/ins_sqlplus.mk'. See '/opt/oraInventory/log s/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'preinstall itrcroute itnsping' of makefile '/opt/ora/home/network/lib/ins_net_client.mk'. S ee '/opt/oraInventory/logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'irman' of makefile '/opt/ora/home/rdbms/lib/ins_rdbms.mk'. See '/opt/oraInventory/logs/inst allActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'install' of makefile '/opt/ora/home/plsql/lib/ins_plsql.mk'. See '/opt/oraInventory/logs/in stallActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'utilities' of makefile '/opt/ora/home/rdbms/lib/ins_rdbms.mk'. See '/opt/oraInventory/logs/ installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'clientonlyinstall' of makefile '/opt/ora/home/ldap/lib/ins_ldap.mk'. See '/opt/oraInventory /logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'ntcontab.o nnfgt.o install' of makefile '/opt/ora/home/network/lib/ins_net_client.mk'. See '/opt/oraInventory/logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'ioklist iokinit iokdstry' of makefile '/opt/ora/home/network/lib/ins_nau.mk'. See '/opt/ora Inventory/logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'agent nmb nmo nmhs tclexec' of makefile '/opt/ora/home/sysman/lib/ins_emagent.mk'. See '/op t/oraInventory/logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'all_no_orcl' of makefile '/opt/ora/home/rdbms/lib/ins_rdbms.mk'. See '/opt/oraInventory/log s/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'install' of makefile '/opt/ora/home/srvm/lib/ins_srvm.mk'. See '/opt/oraInventory/logs/inst allActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'racg_install' of makefile '/opt/ora/home/racg/lib/ins_has.mk'. See '/opt/oraInventory/logs/ installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'install' of makefile '/opt/ora/home/network/lib/ins_net_server.mk'. See '/opt/oraInventory/ logs/installActions2009-10-02_09-26-34AM.log' for details.
    Error in invoking target 'install' of makefile '/opt/ora/home/ctx/lib/ins_ctx.mk'. See '/opt/oraInventory/logs/instal lActions2009-10-02_09-26-34AM.log' for details.
    SEVERE:OUI-10104:Some of the configuration assistants failed/were cancelled. It is strongly recommended that you retr y the configuration assistants at this time. Not successfully running any "Recommended" assistants means your system will not be correctly configured. Select the failed assistants and click the 'Retry' button to retry them.
    cat installActions2009-10-02_09-26-34AM.log | grep nnftboot
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    INFO: a(nnfgt.o):(.rodata+0x64): undefined reference to `nnftboot'
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    INFO: nnftboot
    INFO: /libclntsh.so: undefined reference to `nnftboot'
    INFO: `nnftboot'
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    INFO: to `nnftboot'
    INFO: nnftboot
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    INFO: undefined reference to `nnftboot'
    /opt/ora/home//lib//libclntsh.so: undefined reference to `nnftboot'
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    /opt/ora/home/lib//libclntsh.so: undefined reference to `nnftboot'
    INFO: nnftboot
    Edited by: marwooj on 2009-10-01 23:39

  • Missing prototype and Undefined Symbol errors

    So, I am using an Opal Keyy XEM3005 board.
    Depending on the documentation I read, this board has a native ANSI C interface with a C++ wrapper.
    In their forums, they say to rename the ".cpp" file to "c", and then go forward with calling the default constructor & keep track of the pointer.  Their functions are all in an externally loadable DLL.
    Well and good.
    Their API documentatin is available here:  http://www.opalkelly.com/library/FrontPanelAPI/
    I have written a REALLY simple app to ease my way in - it does nothing more than allow the user to throw a switch, and when this happens, it goes off to connect to the board:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #include <cvirte.h>
    #include <userint.h>
    #include "Try1.h"
    #include "XEM.h"
    #define _WIN32_WINNT 0x0501
    //#define _WIN32
    #include <windows.h>
    static int panelHandle;
    static okFrontPanel_HANDLE    XEM_Device;
    int __stdcall WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpszCmdLine, int nCmdShow)
    if (InitCVIRTE (hInstance, 0, 0) == 0)
    return -1;    /* out of memory */
    if ((panelHandle = LoadPanel (0, "Try1.uir", PANEL)) < 0)
            return -1;
        DisplayPanel (panelHandle);
        RunUserInterface ();
        DiscardPanel (panelHandle);
        return 0;
    int CVICALLBACK Connect (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
        int    Value = 0;
        switch (event)
            case EVENT_COMMIT:
                GetCtrlVal(PANEL, PANEL_CONNECT_SWITCH, &Value);
                SetCtrlVal(PANEL, PANEL_CONNECT_LED, Value);
                if( Value )
                    XEM_Connect(XEM_Device);
                else
                    XEM_Disconnect(XEM_Device);
                break;
        return 0;
    int CVICALLBACK Quit (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
        switch (event)
            case EVENT_COMMIT:
                QuitUserInterface (0);
                break;
        return 0;
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    This, of course, works fine by itself (with empty _Connect() and _Disconnect() functions)
    I then started working with the XEM_Connect function.
    The first step is to run their LoadDLL function as such:
    int XEM_Connect ( okFrontPanel_HANDLE    XEM_Device )
        int    NoDevices = 0;    //    Number of devices attached to the PC
        //    Load the DLL (?)
        // Load the FrontPanel DLL
        if (FALSE == okFrontPanelDLL_LoadLib(NULL))
            printf("Could not load FrontPanel DLL\n");
            exit(-1);
        return XEM_SUCCESS;
    And this would compile and run just fine.
    Now, when I added the functions to start trying to get info about the device, I started getting "missing prototype" errors.
    int XEM_Connect ( okFrontPanel_HANDLE    XEM_Device )
        int    NoDevices = 0;    //    Number of devices attached to the PC
        //    Load the DLL (?)
        // Load the FrontPanel DLL
        if (FALSE == okFrontPanelDLL_LoadLib(NULL))
            printf("Could not load FrontPanel DLL\n");
            exit(-1);
        //    Find out how many devices are attached
        XEM_Device = okFrontPanel_Construct(  );
    //    XEM_Device = okCFrontPanel( void );
    //    NoDevices = GetDeviceCount( );
        printf("%d OK devices attached\n", NoDevices);
        //    Call the contructor?    
    //    okCFrontPanel ();
        return XEM_SUCCESS;
    Now, I searched the forums and found the bits about adding #define _WIN32_WINNT 0x0501 prior to inclusion of windows.h.  Did that.  No joy.
    Then I searched some more and found the bit about changing the build options to uncheck the "prototype required" flag.
    Done.
    This seemed to work at first (the above code could be built with no errors, and appeared to run).
    So I thought maybe I had it, and added the next line, so:
    int XEM_Connect ( okFrontPanel_HANDLE    XEM_Device )
        int    NoDevices = 0;    //    Number of devices attached to the PC
        //    Load the DLL (?)
        // Load the FrontPanel DLL
        if (FALSE == okFrontPanelDLL_LoadLib(NULL))
            printf("Could not load FrontPanel DLL\n");
            exit(-1);
        //    Find out how many devices are attached
        XEM_Device = okFrontPanel_Construct(  );
        OpenBySerial( XEM_Device, "UaLgzvVpBJ" );
    //    XEM_Device = okCFrontPanel( void );
    //    NoDevices = GetDeviceCount( );
        printf("%d OK devices attached\n", NoDevices);
        //    Call the contructor?    
    //    okCFrontPanel ();
        return XEM_SUCCESS;
    Now it doesn't complain about no prototypes (duh), but instead I get linker errors:
        Undefined symbol '_OpenBySerial@0' referenced in "XEM.c".
    So, dredging through the .h and .c files, I found a couple of things:
    in the okFrontPanel.c file I found the following:
    okDLLEXPORT ok_ErrorCode DLL_ENTRY
    okFrontPanel_OpenBySerial(okFrontPanel_HANDLE hnd, const char *serial)
        if (_okFrontPanel_OpenBySerial)
    ;  return((*_okFrontPanel_OpenBySerial)(hnd, serial));
        return(ok_UnsupportedFeature);
    In the okFrontPanel.h file I found:
    and also:
    okDLLEXPORT ok_ErrorCode DLL_ENTRY okFrontPanel_OpenBySerial(okFrontPanel_HANDLE hnd, const char *serial);
    So, I see them in the .h & .c files, but the linker is bombing out.
    I smell a problem with actual code to link being in the DLL...  How do I resolve this, any ideas?  Or am I doing something so stupidly (and obviously) wrong that I'm being blinded to it?

    Hi tomii,
    My suspicion is that these issues are due to using a C++ dll in a C environment. There are inherent challenges with performing such an operation as you have to make sure all your parameters and settings are correct.
    I also could not find the documentation that the Opal Kelly dll is ANSI C but it sounds like you can use this in C with some reconfiguration. I would recommend using their forums to get more information on what steps need to take place to get things working in ANSI C.
    From the information you provided, I did find some resources on the missing prototype error and undefined symbol issue with the linker.
    For the missing prototype I found a thread of someone actually using LabWindows and seeing this compiler error you may want to look at
    http://bytes.com/topic/c/answers/695019-missing-prototype
    I found a few cases where using a function definition of int func(void) removes such issue when int func() does not.
    Another link I found that may be worth a look can be found at http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html
    It gives some good pointers to mixing C and C++ code. Some of it may be applicible in your case.
    And, a resource for your undefined symbol linking issue.
    http://www.cprogramming.com/tutorial/compiler_linker_errors.html
    Hopefully these resources will give some context for getting things compiling and working with your dll.
    Good luck!
    James W.
    Applications Engineer
    National Instruments

  • "undefined symbol" error while using a custom instrument driver

    Hello all, I'm facing a problem related to instrument driver creation.
    I want to pack a part of my code to a .FP to be able to reuse it in other applications of mine. This part of code includes calls to Windows API and a third party dll. I have included both windows.h and the include for the dll in the header file for the instrument. I developed the source code and next a little application that simply calls one function to test the result of my work, but I get some 'undefined symbol' errores while linking the test application with the instrument. The instrument header file is included in program source file.
    Situation is as follows:
    I can run the test application if I include the source file for the instrument directly in the project (without loading the instrument)
    I created a static library and can have the test program up and running if directly including the library in the project (again without the .fp file)
    I get linker errors when trying to use the instrument I created based on the same code, both when including the instrument at source code level and when including at library level. Adding the .fp to the project makes no difference
    Linker errors are all related to WinSDK and third-party dll functions.
    Question is: where and how I have to declare the symbols apart including the appropriate .h files in the instrument header file?
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

    Being waited on to log on... how flattering
    I wish I had a simple and obvious solution, but I don't.
    The problem in this case is that, whereas DLLs (via their import libraries) carry no additional build-time dependencies to their clients, that is not the case with object files and static libraries: any project that uses those .obj and .lib files must satisfy all of their dependencies when that project builds.
    There is a mechanism, with .fp files, to advertise such dependencies to the clients of the .fp, and that is the auto-load list (Edit>>FP Auto-Load List, in the function tree editor). The caveat, however, is that these indirect dependencies must have a companion .fp that you can add to this list. And in your case, you don't have one. So the only solution I can think of is for you to create a very thin wrapper module where you would wrap all of the SDK functions that you need, then create a basic .fp for this wrapper -- you can do this semi-automatically, from the header file (Options>>Generate Function Tree) -- and then add this .fp to the auto-load list of your primary .fp. And then you'll probably have to create a second .fp wrapper for your other dependency (a non-SDK third-party DLL?).
    Once you have declared the dependency chain for this .fp, you should then be able to use it on any test application and CVI should know to link in these additional static libraries whenever it builds the test application.
    If you choose to go this route, you'll probably have to deal with a bunch of non-standard data types in the parameters of the SDK functions. I don't remember if these are automatically added to the .fp when you create it from the header file. If not, all you need to do is add them to the .fp  later (Options>>Data Types, from the function panel editor). Don't worry about providing the definitions for these data types. They're not necessary. You just need to make sure that their names are in the list.
    Luis
    Message Edited by LuisG on 05-19-2010 10:43 AM

  • Undefined symbols into libdbxml-2.3.so

    Hi all,
    I've built the berkeley dbxml in the linux x86 environment using the buildall.sh script from the distribution.
    When I execute the command 'ldd -d' on the libdbxml-2.3.so library I get the following output:
    dhazin@softaria-local:~/distrib/berkeleydbxml/dbxml-2.3.10/install/lib$ ldd -d ./libdbxml-2.3.so
    linux-gate.so.1 => (0xffffe000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7c05000)
    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7be0000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7a95000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7a8a000)
    /lib/ld-linux.so.2 (0x80000000)
    undefined symbol: ZNK11xercesc2_78PSVIItem14getActualValueEv (./libdbxml-2.3.so)
    undefined symbol: ZNK11xercesc2_713DTDEntityDecl14isSerializableEv (./libdbxml-2.3.so)
    undefined symbol: ZN11xercesc2_713DTDEntityDecl9serializeERNS_16XSerializeEngineE (./libdbxml-2.3.so)
    undefined symbol: ZNK11xercesc2_713DTDEntityDecl12getProtoTypeEv (./libdbxml-2.3.so)
    undefined symbol: ZNK11xercesc2_713XMLAttDefList14isSerializableEv (./libdbxml-2.3.so)
    undefined symbol: ZN11xercesc2_713XMLAttDefList9serializeERNS_16XSerializeEngineE
    (many more undefined symbols go here)
    My question is: is it ok that there are some undefined symbols in this library, and do you also get them with your system? If not, could anyone please make the correct libraries available for download or send them to the [email protected] ?
    Thanks in advance,
    Dmitry

    Hi Dmitry,
    The undefined symbols are provided by the other libraries that DB XML needs - Berkeley DB, Xerces-C and XQilla. That's to be expected.
    John

  • Libboost_python.so has tons of undefined symbols

    I've been trying to get Luxrender to work with Blender 2.63. The pylux.so module never loaded for some reason, so I traced the problem back to the libboost_python.so file and it seems to be throwing a ton of undefined symbol errors, all of them mentioning Python:
    blender ~ $ ldd -r /usr/lib/libboost_python.so
    linux-vdso.so.1 => (0x00007fffa14a8000)
    libutil.so.1 => /lib/libutil.so.1 (0x00007fd6c993c000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007fd6c9720000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007fd6c951b000)
    librt.so.1 => /lib/librt.so.1 (0x00007fd6c9313000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fd6c900f000)
    libm.so.6 => /lib/libm.so.6 (0x00007fd6c8d19000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fd6c8b04000)
    libc.so.6 => /lib/libc.so.6 (0x00007fd6c8763000)
    /lib/ld-linux-x86-64.so.2 (0x00007fd6c9dc3000)
    undefined symbol: PyExc_ImportError (/usr/lib/libboost_python.so)
    undefined symbol: PyProperty_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_StopIteration (/usr/lib/libboost_python.so)
    undefined symbol: PyBool_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyClass_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_ValueError (/usr/lib/libboost_python.so)
    undefined symbol: PyList_Type (/usr/lib/libboost_python.so)
    undefined symbol: _Py_NotImplementedStruct (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_TypeError (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyInt_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyComplex_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_ReferenceError (/usr/lib/libboost_python.so)
    undefined symbol: PyModule_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyBaseObject_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyFloat_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_IndexError (/usr/lib/libboost_python.so)
    undefined symbol: PyUnicode_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyTuple_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_RuntimeError (/usr/lib/libboost_python.so)
    undefined symbol: PyType_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyMethod_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyStaticMethod_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyLong_Type (/usr/lib/libboost_python.so)
    undefined symbol: _Py_NoneStruct (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_OverflowError (/usr/lib/libboost_python.so)
    undefined symbol: PyExc_AttributeError (/usr/lib/libboost_python.so)
    undefined symbol: PyCFunction_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyString_Type (/usr/lib/libboost_python.so)
    undefined symbol: PyType_GenericAlloc (/usr/lib/libboost_python.so)
    undefined symbol: PyList_Insert (/usr/lib/libboost_python.so)
    undefined symbol: PyString_InternFromString (/usr/lib/libboost_python.so)
    undefined symbol: PyString_AsString (/usr/lib/libboost_python.so)
    undefined symbol: PyUnicodeUCS4_FromEncodedObject (/usr/lib/libboost_python.so)
    undefined symbol: PyImport_Import (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceRshift (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_CallMethod (/usr/lib/libboost_python.so)
    undefined symbol: PyIter_Next (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Remainder (/usr/lib/libboost_python.so)
    undefined symbol: Py_InitModule4_64 (/usr/lib/libboost_python.so)
    undefined symbol: PyType_Ready (/usr/lib/libboost_python.so)
    undefined symbol: _PyEval_SliceIndex (/usr/lib/libboost_python.so)
    undefined symbol: PyFile_AsFile (/usr/lib/libboost_python.so)
    undefined symbol: PyLong_FromUnsignedLong (/usr/lib/libboost_python.so)
    undefined symbol: PyMem_Free (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceXor (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceOr (/usr/lib/libboost_python.so)
    undefined symbol: PyBool_FromLong (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Items (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceRemainder (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_NoMemory (/usr/lib/libboost_python.so)
    undefined symbol: PyComplex_ImagAsDouble (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_IsTrue (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Lshift (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceMultiply (/usr/lib/libboost_python.so)
    undefined symbol: _PyObject_New (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_GetItem (/usr/lib/libboost_python.so)
    undefined symbol: PyString_FromStringAndSize (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceLshift (/usr/lib/libboost_python.so)
    undefined symbol: PyString_Size (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Update (/usr/lib/libboost_python.so)
    undefined symbol: PyComplex_RealAsDouble (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_Format (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_And (/usr/lib/libboost_python.so)
    undefined symbol: PyUnicodeUCS4_AsWideChar (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceAdd (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_GetAttr (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_ExceptionMatches (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_Occurred (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Copy (/usr/lib/libboost_python.so)
    undefined symbol: PyArg_ParseTupleAndKeywords (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Divide (/usr/lib/libboost_python.so)
    undefined symbol: PyEval_GetGlobals (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Keys (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_SetObject (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Multiply (/usr/lib/libboost_python.so)
    undefined symbol: PyRun_FileExFlags (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_Size (/usr/lib/libboost_python.so)
    undefined symbol: PyString_FromString (/usr/lib/libboost_python.so)
    undefined symbol: PyString_FromFormat (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceAnd (/usr/lib/libboost_python.so)
    undefined symbol: PyInt_FromLong (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Size (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_GetItem (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_SetItem (/usr/lib/libboost_python.so)
    undefined symbol: PyInt_AsLong (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_RichCompare (/usr/lib/libboost_python.so)
    undefined symbol: PyCFunction_NewEx (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Values (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Rshift (/usr/lib/libboost_python.so)
    undefined symbol: PyStaticMethod_New (/usr/lib/libboost_python.so)
    undefined symbol: PyType_IsSubtype (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Add (/usr/lib/libboost_python.so)
    undefined symbol: PyList_Sort (/usr/lib/libboost_python.so)
    undefined symbol: PySequence_DelSlice (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_WarnEx (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Xor (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_ClearWeakRefs (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Subtract (/usr/lib/libboost_python.so)
    undefined symbol: PySlice_New (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_GetAttrString (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_IsInstance (/usr/lib/libboost_python.so)
    undefined symbol: PyRun_StringFlags (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_SetAttrString (/usr/lib/libboost_python.so)
    undefined symbol: PyWeakref_NewRef (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_NewException (/usr/lib/libboost_python.so)
    undefined symbol: PyList_Append (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_SetAttr (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_GetItemString (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceDivide (/usr/lib/libboost_python.so)
    undefined symbol: PyLong_AsLongLong (/usr/lib/libboost_python.so)
    undefined symbol: PyLong_AsUnsignedLongLong (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_Or (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_DelItem (/usr/lib/libboost_python.so)
    undefined symbol: PyNumber_InPlaceSubtract (/usr/lib/libboost_python.so)
    undefined symbol: PyMethod_New (/usr/lib/libboost_python.so)
    undefined symbol: PyEval_CallFunction (/usr/lib/libboost_python.so)
    undefined symbol: PySequence_GetSlice (/usr/lib/libboost_python.so)
    undefined symbol: PyTuple_Size (/usr/lib/libboost_python.so)
    undefined symbol: PyImport_ImportModule (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_Clear (/usr/lib/libboost_python.so)
    undefined symbol: PyTuple_New (/usr/lib/libboost_python.so)
    undefined symbol: PyTuple_GetItem (/usr/lib/libboost_python.so)
    undefined symbol: PyErr_SetString (/usr/lib/libboost_python.so)
    undefined symbol: PyObject_CallFunction (/usr/lib/libboost_python.so)
    undefined symbol: PyList_Reverse (/usr/lib/libboost_python.so)
    undefined symbol: PyFile_FromString (/usr/lib/libboost_python.so)
    undefined symbol: _PyType_Lookup (/usr/lib/libboost_python.so)
    undefined symbol: PyList_New (/usr/lib/libboost_python.so)
    undefined symbol: PyMem_Malloc (/usr/lib/libboost_python.so)
    undefined symbol: PyCallable_Check (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_Clear (/usr/lib/libboost_python.so)
    undefined symbol: PySequence_SetSlice (/usr/lib/libboost_python.so)
    undefined symbol: PyLong_AsUnsignedLong (/usr/lib/libboost_python.so)
    undefined symbol: PyDict_New (/usr/lib/libboost_python.so)
    I'm not entirely sure what the problem is. There was a bug report filed for the exact same problem a few years ago and it was taken upstream to the boost developers (and later fixed), but I can't understand how the problem was actually solved except for a single patch.
    Does anyone know what these errors mean and what I can do to fix things?

    @sand_man about vegastrike-svn, i remember i've look at it at some point and a discussion was in arch-general about it. that application has multiple versions of boost.
    http://permalink.gmane.org/gmane.linux. … eral/32489
    also i think that  vegastrike-svn building system needs to add a proper flag for linking, like passing -lpython2.7 or -lpython3, depending of what is using
    Last edited by wonder (2011-03-04 10:00:14)

  • ODBC on Linux: libsqora.so.10.1: undefined symbol: _tcsnccmp

    I try to access an Oracle database via iODBC from openSUSE Linux 10.3.
    I have installed the following packages from the Oracle web page:
    oracle-instantclient-basic-10.2.0.4-1.i386.rpm
    oracle-instantclient-devel-10.2.0.4-1.i386.rpm
    oracle-instantclient-odbc-10.2.0.4-1.i386.rpm
    oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
    and I have installed from iodbc.org
    libiodbc-3.52.6-1.i386.rpm
    libiodbc-admin-3.52.6-1.i386.rpm
    libiodbc-devel-3.52.6-1.i386.rpm
    After a bit of configuration I called:
    $ iodbctest NMR2
    iODBC Demonstration program
    This program shows an interactive SQL processor
    Driver Manager: 03.52.0607.1008
    1: SQLDriverConnect = [iODBC][Driver Manager]/usr/lib/oracle/10.2.0.4/client/lib/libsqora.so.10.1: undefined symbol: _tcsnccmp (0) SQLSTATE=00000
    2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not be loaded (0) SQLSTATE=IM003
    What is _tcsnccmp and where can I get it from?
    Googling around leads me to a prototype
    int tcsnccmp(const TXCHAR* string1, const TXCHAR* string2, sizet count);
    and it seems that it is a localised string comparison routine. I found it in Windows and
    WINE documentations - do I have to install WINE in order to use Oracle ODBC?

    not sure whether installing WINE will help, try with 11.1.0.6.0 version of instant client libraries.

  • Pro*C using Oracle 11g - ld: 0711-317 ERROR: Undefined symbol: .sqlcxt

    Hi
    We we are migrating from oracle 10g to 11g and AIX 5.3 to AIX 6.1. When I run the make file I get the following link errors. Note the 10g system is running using 32bit libs, and the new system is runing the 64bit libs.
    makegmake -f Makefile.all all SYSTEM=rs6k CC="cc_r" LINKER="cc_r"
    cc_r -lclntsh -L/wfm/usr/oracle/product/11.2.0/db/lib /home/Builds/CommonLib/Lib/AIX/cuCommonLib.a TagCommonLib/tagCommonLi
    b.a ObjFiles/TagDailyStats.o ObjFiles/TagCreate.o ObjFiles/EventLogMessageFormat.o ObjFiles/TagHeartBeatMsg.o ObjFiles/TagWriteTimingLog.o ObjFiles/Ta
    gGenMain.o -o TagTG
    ld: 0711-317 ERROR: Undefined symbol: .sqlcxt
    ld: 0711-317 ERROR: Undefined symbol: .sqlglm
    ld: 0711-317 ERROR: Undefined symbol: .sqlbuft
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    gmake: *** [TagTG] Error 8
    make: 1254-004 The error code from the last command is 2.
    After reading some of the ideas on the web, I added the following options, -lsql11 -I/wfm/usr/oracle/product/11.2.0/db/precomp/public, but got the same error.
    > make
    gmake -f Makefile.all all SYSTEM=rs6k CC="cc_r" LINKER="cc_r"
    cc_r -lclntsh -lsql11 -I/wfm/usr/oracle/product/11.2.0/db/precomp/public -L/wfm/usr/oracle/product/11.2.0/db/lib /home/Buil
    ds/CommonLib/Lib/AIX/cuCommonLib.a TagCommonLib/tagCommonLib.a ObjFiles/TagDailyStats.o ObjFiles/TagCreate.o ObjFiles/EventLogMessageFormat.o ObjFiles
    /TagHeartBeatMsg.o ObjFiles/TagWriteTimingLog.o ObjFiles/TagGenMain.o -o TagTG
    ld: 0711-317 ERROR: Undefined symbol: .sqlcxt
    ld: 0711-317 ERROR: Undefined symbol: .sqlglm
    ld: 0711-317 ERROR: Undefined symbol: .sqlbuft
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    gmake: *** [TagTG] Error 8
    make: 1254-004 The error code from the last command is 2.
    Can anyone please suggest to me what I am doing wrong .
    Thanks,
    Jim

    Hi,
    I'm experiencing the same problem, thank you for your 32 bit tip.
    I installed InstantClient for 64bit and didn't find any of the sql??? functions.
    http://download.oracle.com/otn/linux/instantclient/112010/oracle-instantclient11.2-precomp-11.2.0.1.0-1.x86_64.zip
    After that I installed the 64 bit client with universal installer, sql*plus, programmer and OCI packets, got lots of errors, cause I have not the official distribution and scripts are partly wrong.
    T24-SMS-1:/usr/lib# uname --all
    Linux T24-SMS-1 2.6.26-2-amd64 #1 SMP Wed May 12 18:03:14 UTC 2010 x86_64 GNU/Linux
    Then again I searched for sql??? functions sqlcxt I took and found them: (Note: they were not present with the instantclient distri with proc libraries
    T24-SMS-1:/usr/lib# find /home/sms/instantclient_11_2/lib -type f -exec grep -H -i sqlcxt {} \; | grep Binary
    Binary file /home/sms/instantclient_11_2/lib/libsql11.a matches
    Binary file /home/sms/instantclient_11_2/lib/liborasdk.so.11.1 matches
    Binary file /home/sms/instantclient_11_2/lib/libsrvmhas11.so matches
    Binary file /home/sms/instantclient_11_2/lib/libclntsh.so.11.1 matches
    Binary file /home/sms/instantclient_11_2/lib/libsqlplus.a matches
    After that I again got the same errors. I will try the 32 bit distribution and I hope I will find some header file with sql??? functions in it.

  • Solaris 2.6: "Undefined symbol snprintf"

    Hello,
    I get an "undefined symbol snprintf" error, everytime I try to load my driver on a Solaris 2.6 ? However, the same driver loads just fine on a Solaris 8.
    Is there a kernel patch for Solaris 2.6 that will fix my problem ?
    Thanks !

    hey,
    I've installed quartus II today too and ran into similiar conflicts. I build version 1.2.1 of libxi again as suggested by davidgurvich, but "tricked out" pacman to avoid rebuilding the whole xorg packages, which depend on  libxi>=1.3:
    pkgname=libxi
    pkgver=1.3
    pkgrel=2
    realver=1.2.1
    pkgdesc="X11 Input extension library"
    arch=('i686' 'x86_64')
    url="http://xorg.freedesktop.org"
    depends=('libxext>=1.1' 'inputproto>=2.0')
    makedepends=('pkgconfig')
    options=(!libtool force)
    license=('custom')
    source=(${url}/releases/individual/lib/libXi-${realver}.tar.bz2)
    md5sums=('cfb36307e8e7ffafe40848dba24e0b11')
    build() {
    cd "${srcdir}/libXi-${realver}"
    ./configure --prefix=/usr --sysconfdir=/etc --disable-static || return 1
    make || return 1
    make DESTDIR="${pkgdir}" install || return 1
    install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
    install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" || return 1
    works for me... however, this is a dirty solution. maybe someone provide a better fix.

  • SunStudio 11 cannot link libtiff in Solaris 10 (undefined symbol)

    Hello
    we are producing a software using multiple external libraries, among them Sam Leffler's TIFF library version 3.6.1
    This software compiles and runs well on Solaris 9 / SunStudio 11
    But in Solaris 10 / SunStudio we get an 'undefined symbol' error even if the symbol exists!!
    I have patched the OS and SunStudio to the latest level required but it's no help
    the linker error message is:
    CC -compat=4 -I../AGR -I../STA -I../SVI -I../KRN -I../COMMON_APAS -I../CXML -I../SCS -I. -I../INCLUDE -I../AFC -I../ITI -I../IEM -I../MMF -I../MMI -I../ICS -I../EIV -I../TSF -I../TTM -I../TIM -I../MIR -I../INA -I../INX -I../DEC -I../MAR -I../IXA -I../MXR -I../ICO -I../JPEG -I../LTIFF -I../OVS -I../UTIL -I../TRE -I../IRE -I../INR -I../IST -I../IXR -I/opt/SUNWspro/prod/include/CC -I/usr/include -g0 -libmil -xtarget=native -mt -xildoff -keeptmp -verbose=%all -L/usr/lib -L/usr/local/lib -LFPCSolaris10 -L../lib/FPCSolaris10 -L/opt/SUNWspro/prod/lib/rw7/CC4 -L/opt/SUNWspro/lib -L/usr/X11R6/lib -o FPCSolaris10/MainItls_ils FPCSolaris10/MainItls_ils.o FPCSolaris10/MAIN_Module_ils.o -lICS -lEIV -lMIR -lINA -lDEC -lMAR -lICO -lMXR -lIXA -lOVS -lUtil -ltiff -lSVIils -lSTAils -lKRN -lSCS -lITIils -lIEMils -lAGR -lMMF -lAFC -lMMI -lCXML -lcommon_apas -Bstatic -lrwtool -Bdynamic -lnsl -lposix4 -lsocket -lxnet -ldl -lgen -lcurses -lXm -lXt -lX11 -lxml2
    ld: Software Generation Utilities - Solaris Link Editors: 5.10-1.489
    ld: warning: symbol `clog' has differing types:
    (file /opt/SUNWspro/lib/CC4/libC.so type=OBJT; file /usr/lib/libm.so type=FUNC);
    /opt/SUNWspro/lib/CC4/libC.so definition taken
    Undefined first referenced
    symbol in file
    TIFFOpenMem ../lib/FPCSolaris10/libIXA.a(IXA_ImageManager.o)
    ld: fatal: Symbol referencing errors. No output written to FPCSolaris10/MainItls_ils
    gmake[1]: *** [FPCSolaris10/MainItls_ils] Error 1
    But if I analyse the libraries used the missing symbol is actually there:
    nm -g ../lib/FPCSolaris10/libtiff.a
    ../lib/FPCSolaris10/libtiff.a[tif_msrc.o]:
    [Index] Value Size Type Bind Other Shndx Name
    [26] | 0| 0|FUNC |GLOB |0 |UNDEF |TIFFClientOpen
    [22] | 0| 0|FUNC |GLOB |0 |UNDEF |TIFFError
    [24] | 416| 161|FUNC |GLOB |0 |2 |TIFFOpenMem
    [23] | 0| 0|FUNC |GLOB |0 |UNDEF |free
    [25] | 0| 0|FUNC |GLOB |0 |UNDEF |malloc
    [21] | 0| 0|FUNC |GLOB |0 |UNDEF |memcpy
    Does anybody have an idea of what's wrong ?
    Thank you for your help!

    The libraries are probably being linked in the wrong order.
    Libraries are processed in the order seen on the link command. When the linker sees an archive library (.a), it pulls in any .o files from it that can satisfy existing undefined references. Suppose libA needs f1 from library libtiff, but -lA appears on the command line after -ltiff. The reference will not be resolved.
    Move the -ltiff option to a spot later on the command line, after all libraries that use libtiff, but before any libraries that libtiff uses. If libraries have circular references (A uses B which uses A), leave -ltiff where it is, but add another one later on the command line. The library will be searched twice.
    Another option is to build libtiff as a shared library (.so). The position on the link command line of a shared library is less sensitive, and references to it from later files can still be resolved. You don't list a shared library twice.
    An unrelated question: Why are you using the -compat=4 option? That option is provided to allow linking code that was compiled by C++ 4.2 (shipped in 1996), or compiling code that predates the 1998 C++ Standard.
    You usually cannot mix -compat=4 binaries with standard-mode binaries, you can't use the C++ standard library in -compat=4 mode, and code using C++ features introduced after the ARM (1991) won't compile in -compat=4 mode. Unless you are stuck with 10-year-old binaries built with C++ 4.2, it is best to recompile all your code in default standard mode (without -compat=4).
    The C++ Migration Guide explains all the issues involved in converting code from old-style to standard C++.
    [http://docs.sun.com/app/docs/doc/819-3689|http://docs.sun.com/app/docs/doc/819-3689]

Maybe you are looking for