PLSQL Public Libraries

Hi Everyone
I have to write a program which will read PLSQL scripts from a file and will execute them. Now there are two ways i can think of for doing it.
1. I spawn an Oracle client, execute the script and redirect the output.
2. There may be some public libraries for executing the PLSQL queries which can be included and then the APIs can be used for execution of queries.
I found the 2nd option more convincing but the problem is that i could not find public libraries. Does anyone have any idea where i can find them.
Or if someone can tell me any further better idea.
I would be highly thankful for any kind of help.
Regards
Raghvendra Singh

Business requirements that cannot be changed are usually in the form of something like -
Must be able to track sales by quarter and region.
Application needs to run in a thin client, e.g. Web Browser
Things like -
You cannot store the code in the database and must write a program to go from PL/SQL to the OS launch sqlplus and run some more PL/SQL from that.
Are not business requirements but ways to make projects last longer, create more bugs and increase maintenance exponentially..
In which case you will have to do something like this:
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:952229840241

Similar Messages

  • Slow at public libraries mystery

    my site reportedly works swell on Safari, IE at folks homes, and Firefox but...crashes or is super slow at public libraries, tested in two different counties
    at the same time Amazon open fast enough at the library, so I can't blame the library's servers
    if you want to hear the mystery, heres the full story
    My relatively simple site is 30 pages, each page has several Jpegs and I actually made text as images, to hopefully avoid text compatibility/ misplaced issues. Lotta boxes with color and stuff, but no slide shows, moving parts, blogs, RSS.
    My site tested great in Firefox and Safari, about 8 seconds to load a page. I went to the library last night, to test IE7 and the home page was all weird. Reworked it by moving things slightly, made little sense, but worked.
    Next day I got my first crash report, a friend at a different public library, using IE 7. Not sure if it crashed or just very slow to load. Went back to my public library, running IE7, late afternoon, my pages took 45-80 seconds to load. Librarians suggested server getting heavy use, but I timed Amazon's site and it took 8 seconds to load. Went home checked again on Safari and Firefox( I clear cache everytime) took 8 seconds.
    Next I called friends running IE7, all have DSL/ Cable and most pages took 8 seconds to load. Called my server, they tested it on all browsers at 8 seconds.
    So the mystery is... why is it crashing library computers,they are not dial up, or if not crashing, then unreasonably slow to load. Can't be the server cause Amazon loads fine on those computers.
    I plan to strip down my site and see if it makes a difference. I do not have any slideshows, just a fair amount of images, each page totals up to 5-800kb.
    I do not want to blow off library users, not an option. Would like my site to be efficient for everybody.

    Thanks Fab, but heres the thing
    my library is super funded, up to date and super tight with the controls,
    I doubt one can change any settings on those boxes, heck an alarm would prob go off ;-))
    Even tho library patrons are not my core aud, I don't want to forget about library users,
    I am often when when I travel !!
    I suspect the solution may be as simple as just minimizing my page file sizes,
    but I am wondering if there is another reason IE7 at libraries is too slow to load my site
    maybe comparing amazon is not a good test,
    what I will do next is check out other large graphic sites and see if they are slow to load,
    if they load quick then I will be convinced its something in my site
    good advice to ask strangers to check my site !
    will head to a few other public places next week, my town not too wired though
    I do expect to get to the bottom of this, and I'll post what i find, whenever I do
    thanks for advice/ input

  • Apples in Public Libraries Program Versus Advertising Campaign

    One thing Apple does not seem to realize is that in many areas of the country, such as rural areas, there is no access to Apple computers for the general public. Even the local Best Buy don't have them in the store. The last time there were any Macs in an actual store here was in the late 1990s when the iMacs came out. Sears had them, but stop selling them because Apple would not let customers order the colors they wanted. About the only thing locally are iPods, iPhones, and such one might find at Target or Staples, but no computers. The closest Apple Store is at least 80 miles one way. If you want to actually use an Apple you have to take a chance and order one from a major online retailer.
    LOL, I once took one of my G4 PowerPC computers, which was 10 years old, into a local Best Buy to see if they had any HDs on hand in a pinch as I didn't want to mail order a HD, and people wanted to know what it was and thought it was cool. The Best Buy Geek was impressed as he had never never seen one in person - I had to show him how to open the case with the side latch as he was looking for screws. That's the real world away from California.
    I've been asking (for more than 10 years) why does not Apple have a program to place Apple computers in public libraries. These libraries typically are hurting for money anyway. Apple has some nice commercials, but they really are less effective if people can't actually get their hands on a product by first hand use or by seeing it in a store first. For the price of one advertising campaign Apple could place Apple computers in a number of public libraries to act a long term advertising campaign as opposed to commercials which are over in 30 seconds.

    "Apple itself is a major online retailer. They ship via FedEx. In any event, it is not a very big chance to order one from a major 3rd party retailer other than the typical scam-fronts of eBay, Craigslist, etc."
    I someone who has used Apple computers for years I haven't had a problem ordering them from major Apple resellers.
    On the other hand we have most of computer market dominated by Windows. Your average Windows users IS TAKING a big chance on ordering a Macintosh because many have not had a chance to actually use one. If they don't like it they may out a lot of money, thus they will stick what they already know and just buy another Windows computer as before.
    "Most Best Buy's these days have an in-store Apple Store. In any event, you can use any PC hard drive in a Mac. There has never been any difference in internal drives. You should never by components like that in-store. Always buy those mail order or else you will always spend more and have fewer options to choose from."
    Yes, the Best Buy does have a Apple booth, but no actual Macintosh computers for potential Windows users to use so once again they will just buy another Windows machine because they can afford to take the chance.
    Yes, I know. I buy my hard drives online. I still have a few sealed Caviar Black drives from the last batch of drives I bought before the prices doubled due to flooding in Thailand.
    Actually, not every drive will work. The G4 uses PATA drives, not modern SATA unless you convert it to SATA using a expansion card. Yes, I could have saved sales tax and a few dollars buying it online, but then I'd miss getting a project done for several days. The old G4 PPC come in handy for running legacy equipment that has no modern replacement.
    "Because they don't need to. All Macs sell out with current distribution channels. The Mac itself is one of the smallest of Apple's business lines now. It is the same size as iTunes. From Apple's financial perspective, the entire Mac line is almost in the "Other products" category."
    The company is in the business of selling hardware - moving toward a integrated family of hardware whereas the computer is an important part. It really does not matter if the hardware is an iphone or a computer - they key is getting someone Apple into a customer's hands so they look at your other products. Many potential Apple computer users never get a chance to use a Mac thus they don't buy regardless of how many commercials they see because to ost people its a major investment.
    Apple would get a lot more bang for its buck. As an example, look at a local small library I visited who was raising money by trying to sell some computers items. I bought the items and then said if I visited the library I could have a bunch of other stuff for free if I hauled it away. Among the truck load of items was a complete professional software package including a Pro Windows operating system given to the library by the Bill & Melinda Gates Foundation. I've yet to see a single Mac in any library I've visited. Apple already spends tens of millions on advertising to drive their sales as is - adding a library program is a no brainer as its cheaper and provides long term advertising.
    Yes, as Macs are replaced with newer models they are put on sale at often huge discounts to make room for newer models. I usually wait until this time to buy a new Mac. So yes, Macs do eventually sell out, but its not like the major online retailers are forcing you to pay full retail because the demand is so high. The last Mac I bought I got a $400 printer included for free, which I then sold to pay for part of the Mac.

  • Is there a device I can buy to prevent lost time loading add-ons at public libraries?

    I'm only self-taught via trial and error in internet browsing. My access to the web is at various public libraries. Each time I log in, the library pc makes me go thru the time consuming process of loading 8 or 9 add-ons. I suspect there might be a small device I can buy that will save and reload add-ons on public internet computers. If so, what is such a device called?

    You could try using Portable Firefox on a flash drive that is if the terminal allows usb connections or to transfer over with settings on desktop.
    http://portableapps.com/apps/internet/firefox_portable

  • How can I read epub ebooks from public libraries?

    Hallo,
    how can I read ebooks in epub format I have downloaded from public library on the iPad? They are valid for 7 days, I can open them with Adobe Digital Edition.
    I get them into iTunes, I even get them on the iPad. But I am getting an error message when I try to open them with iBook.
    If iBook can't read them, is there another app I could use?
    Hopefully somebody could help.
    Thanks, foxbetti

    how can I read ebooks in epub format I have downloaded from public library on the iPad? They are valid for 7 days, I can open them with Adobe Digital Edition... If iBook can't read them, is there another app I could use?
    You've answered your own question. Basically, you use Adobe Digital Editions (or Sony Reader Library) software which is keyed with your valid Adobe ID to manage content downloaded to an "authorized" computer for transfer to compatible "authorized" mobile devices. However, as far as I know at this time, the iPad is not yet supported by either application.
    Here is what Adobe says:
    Some digital publications that you purchase online or check out from a library may contain digital rights management (DRM) protection that restricts the items from being shared with others. In the past, this could limit the ability to read your items on additional computers owned by you. It could even prevent you from moving your items when you bought a new computer.
    Digital Editions helps ensure that your eBooks and other digital publications are not "locked" on one computer — they are assigned to you through your Adobe ID. Digital Editions also adds support for the next generation of mobile devices.
    Adobe membership is free and registration only takes a minute. As a member, you have access to trial downloads, hundreds of free product extensions, and special community areas. Your membership also allows you to view and manage your activity in the Adobe Worldwide Store.
    An Adobe ID is a free and a nonintrusive way of identifying users — you need only provide a name, country, and e-mail address. You can create your Adobe ID when prompted within Digital Editions as you authorize your computer, or go directly to the Adobe.com membership site.
    Once you authorize your computer with Digital Editions, the application looks for eBooks already on the computer and converts copies of the items to a new named account license. You can then transfer those eBooks to other computers. If you have eBooks on multiple computers, you need to authorize each one with Digital Editions prior to transferring eBooks between them.
    Important: Digital Editions converts eBooks that have been purchased with Acrobat, Reader, or earlier versions of Digital Editions. However, items licensed using Easy Activation can only be converted on the same computer with which they were originally purchased. If you are contemplating buying a new computer, changing the hard drive, or upgrading the operating system, consider keeping your old computer intact unless you bought all of your books with Acrobat or Reader using Named Activation.
    Digital Editions detects borrowed eBooks and displays them in the Borrowed bookshelf. However, if you borrowed an eBook with Acrobat or Reader, you cannot transfer that book to another computer. You must return the library item and then borrow the item again using the current version of Digital Editions.
    Digital Editions does not require you to authorize your computer with an Adobe ID. This option is necessary to address concerns about some users' needs for privacy (for example, library patrons and minors). However with this option, protected items that you have already downloaded or will download later are tied to that particular computer and are not readable on other computers or devices. They also can't be restored from backup if the operating system is reinstalled.
    When you first launch Digital Editions, you are prompted to authorize your computer. You can decline, in which case your digital content will belong to the computer, not a named user account. Subsequently, you will be prompted to authorize your computer whenever you purchase an eBook, although the prompt dialog box provides a"“Don’t ask me again" checkbox.
    Digital Editions has an “Authorize this computer” menu item that you can use after initial installation.
    Important: If you authorize your computer with an Adobe ID, then it will always be associated with that Adobe ID. If you do not, the account is "anonymous". If you "anonymously" activate two computers, then there are two separate anonymous accounts, which cannot be merged. Thus, the eBooks on one computer can be upgraded to "belong" to a specific Adobe ID, but the eBooks on the other cannot. If you authorize the second computer with your Adobe ID, any subsequent purchases on it are associated with that ID and transferable to any computer authorized with that ID. However, the books that were purchased on the second computer prior to being activated are forever locked to that computer.
    You can activate up to six computers and six devices . If you reach the limit, contact Customer Service to increase your allowable activations. --Adobe Web Site

  • E Books From Public Libraries

    I have a 64GB Playbook and have recenttly installed OS 2. As i wished to use the PB as an e-reader for my wife, I purchased Overdrive from the BB App Store and it works perfectly provided the e book is a direct download from the public library. Where the e book is on the reserve list and I have to put a hold on it, the library sends an e-mail when it is available for download. When I hit the download button it sends me an .acsm file which can only be opened by Adobe Digital Editions. I have ADE on my home PC. The problem may be that I have set up an Adobe I.D. in my wife's name for the Playbook and another I.D. in my name for the home PC. Perhaps i need the same I.D. for both devices as Overdrive doesn't recognize the .acsm files. Any advice and guidance would be welcomed.
    Solved!
    Go to Solution.

    You should be able to access your library through the Overdrive application and download the book directly to the PlayBook even if it is one you had on the reserve list. This is how my library works, so unless yours is specifically setup in a different way you should be OK.
    I don't believe Adobe Digital Editions will recognize the PlayBook via USB, so I think downloading from within the Overdrive application is your only option at this point.
    BESX 5.0.4, SQL 2008, Exchange 2010 SP2 RU4a

  • DVDs from our public library eject... what to do?

    DVDs from our public library eject from time to time without playing. What might be tried when a DVD ejects without playing, that other times did play okay?

    Two possible reasons.   Books and DVDs from public libraries are not always kept clean by the borrowers.   Before you insert one clean the disc with a proprietory cleaner or distilled water.   See link.
    http://www.discdoc.com/p66.html
    Your sensor may have got dirty as a result of previous soiled discs.   Use a disc cleaner.

  • Why isn't firefox a choice for a browser on public library computers?

    >>without admin. library credentials-(they will not change it for me)- one cannot open nor download firefox as a browser----but they have the compromised internet explorer microsoft and do more evil google chrome frontloaded--- library discrimination?-prejudice?, free speech and privacy-- oh my what a waiting lawsuit!--unlevel playing field here---imagine all the people that could enjoy your browser if the ceo sent a letter to all public libraries.....
    b

    Mozilla doesn't limit Firefox downloads on ANY machine.
    Your local library most likely has downloads of external software heavily locked down meaning you can only use what the library's administrator lets you. Mozilla is not in control of what organizations do with their computers.
    Mozilla nor we (mostly all of us are fellow Firefox users volunteering our time) can change your library's decision to support Firefox.

  • Macs in Libraries info?

    Hi, I'm a grad student, library & info science- I'm wondering if there are any Discussion users aware of public libraries that use or would consider (Apple) laptops, ideally for general use, or staff-only.
    I'm in the last stage of putting together a mac-based "solution-in-a-box" for public libraries. An alternative, resource-minimal approach than that which libraries have relied on (a more-for-less answer to increasingly severe budget crunches).
    There are libraries that have Mac workstations, limited to certain users, spaces, and applications (design/multimedia work certainly), but I'm aimed at more ambitious, flexible, holistic uses.
    There are library-specific forums and listservs, but I thought I'd try posting here, too- tho not sure if it fits this forum. Any feedback for above, or suggestions on other sites, forums, etc. that might be useful for my research, I'd be immensely grateful.

    I gotcha. I'm not approaching this as a mac-til-death deal, I'm entirely focused on whatever computing environment gives the best possible experience. That said, "best possible experience" is a relative thing.
    I'd never (personally) consider touching Linux for the reason that A) I'm an idiot (sorry, but true), and B) in terms of a coherent and transparent environment that doesn't distract the user from their ultimate goal (not including programming), right now Apple seems to present the most cohesive user environment- although I support open source and I hope (in fact I'd even pray) it comes out on top, as far as I can tell it's not going to work for me -yet- until it speaks a language closer to my own. I exaggerate to illustrate, but I believe this approximates the hope of most users- like my parents, both smart, but "I don't want to learn it, I just need it to do what I need it to do." I can appreciate that- again, as an idiot, if nothing else.
    By "goal" I'm referencing: a business plan, a videoconference, an audio recording, a presentation, a photo gallery, etc.- and by cohesive I mean a suite of applications designed specifically for the hardware that feature a common set of tools and commands. GarageBand, iChat, iMovie, iDVD, Pages, Numbers, Keynote- throw in Microsoft Office, and done. Set it to Parental, seal it up (no upgrades, etc., the software stays static) and you've got a system that can still output professional-quality work for the life of the machine (2-3 years). If the user goes beyond those capabilities, then they've graduated the system and shouldn't be expecting a library to provide more (i.e., get their own darn computer).
    OSX could be better (ideally, I should just be able to tell it to do all my work and everything else) but I haven't been able to find anything better... yet. That includes the free, easy video tutorials and forums (like this one) where users (even idiots) can find help...
    Ok, so, having come up with that, please tell me what's wrong with my statements here, because I know there must be some very strong, good counter-arguments...
    Message was edited by: Jack Gregory

  • How to connect Oracle database using C/C++ on Mac OS X PPC G4, XCode 2.4.1?

    Hi All,
    How to connect the Oracle database using C/C++ on Mac OS X? I have used Instant Client library "instantclient-basic-macosx-10.1.0.3" provided by the Oracle but could not be success. I'm using PowerPC G4, Mac OS X 10.4.9, and XCode version 2.4.1.
    Specially Mr Oscar Armanini has done this in C on Mac OS X. Please let me know. I would be very thankful to you.
    Thanks,
    Ghufran

    Hi Ghufran
    there are two Metalink Notes on using Instant Client with PowerPc Mac:
    https://metalink.oracle.com/metalink/plsql/showDoc?db=NOT&id=316497.1
    How to Install, Configure and Test Oracle 10g Instant Client Basic,
    SQL*Plus and SDK Packages for Mac OS X
    (Runs OCI sample code - cdemo81.c)
    https://metalink.oracle.com/metalink/plsql/showDoc?db=NOT&id=332588.1
    How to Install, Configure and Test Oracle 10g Instant Client Basic,
    SQL*Plus and SDK Packages for Mac OS X
    (Runs OCCI sample code - occidml.cpp)
    The first Metalink Note uses an OCI examples and it is pasted here below,
    in case you don't have a Metalink ID.
    The second Metalink Note uses an OCCI example.
    I have never used Instant Client (neither on Os X or on other platform),
    but I was successful on compiling C programs (no GUI involved) using the
    Full Client installed on my PowerBook G4.
    I'm a DBA, but I was a developer years ago (about when Oracle 7.3
    was considered a giant step forward): I installed the Oracle 10.1 db
    (a complicated job for a developer) and I got the Full Client
    installed as well, for free, so I was happy to compile one of the demo C sources
    (those that you can find in the Oracle Pro*C manuals:
    by the way, Oracle Pro*C manuals are really worth reading).
    Good luck
    Oscar
    Applies to: Oracle Server - Enterprise Edition - Version: 10.1.0.3
    Apple Macintosh PowerPC
    Goal
    This article will show you how to install and configure your 10g Instant Client (IC) Software for the Mac.
    It will install the following packages:
    the Basic package
    the SQL*Plus package and
    the SDK package
    and then test its connectivity to an Oracle database using SQL*Plus.
    It will also show you how to setup and test a sample program, cdemo81.c, that uses the Oracle Call Interface (OCI)
    to connect to the database.
    The sample program is located under the <Instant_Client>/sdk/demo directory.
    Solution1. Download the following three (3) files from the Oracle Technology Network (OTN) website.
    You will need an account to do this.
    Macintosh OS X 10g Instant Client Software
    a. instantclient-basic-macosx-10.1.0.3.zip (32,395,622 bytes)
    b. instantclient-sqlplus-macosx-10.1.0.3.zip (326,740 bytes)
    c. instantclient-sdk-macosx-10.1.0.3.zip (293,913 bytes)
    NOTE: The above three (3) files will be updated as new patches are released for the 10g Instant Client software. 10.1.0.3 or later versions (10.1.0.x) of these files may be used similarly with this article.
    2. Save the following text into a file called tnsnames.ora:
    # If you receive an
    # ORA-12154: TNS:could not resolve the connect identifier specified
    # error when running the setup script and attempting to connect to Oracle
    # from SQL*Plus then the name of your SERVICE NAME (i.e. ORCL) may require
    # that you include the DOMAIN (i.e. US.ORACLE.COM) in order to connect successfully.
    # To obtain the DOMAIN of your environment, type "hostname" from your shell
    # and it should report this information back to you. Configure your SERVICE
    # NAME to look like Example 2.
    # Example 1
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = database_machine.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = orcl)
    # Example 2
    #ORCL.US.ORACLE.COM =
    # (DESCRIPTION =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = database_machine.us.oracle.com)(PORT = 1521))
    # (CONNECT_DATA =
    # (SERVER = DEDICATED)
    # (SID = orcl)
    3. Save the following text into a file called sqlplus_script.sql:
    SELECT user FROM dual;
    SELECT sysdate FROM dual;
    SELECT 'successful ' AS TEST_RESULTS FROM dual;
    exit;
    4. Save the following text into a file called setup1:
    # ===========================================
    # MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP1
    # ===========================================
    # DESCRIPTION
    # ===========
    # This script will install and configure your 10g Instant Client (IC) Software
    # for the Mac. It will install the Basic, SQL*Plus and SDK (OCI/OCCI) packages
    # and then test its connectivity to an Oracle database using SQL*Plus.
    # Once this script has completed, you will need to run the script SETUP2 to build
    # and run the CDEMO81.C sample application located under the <IC>/sdk/demo folder
    # in your newly installed Instant Client home.
    # NOTE: In order for this script to run successfully, you MUST perform any
    # necessary actions required under the SETUP section below.
    # SETUP
    # =====
    # (1) You MUST be in a directoy with ALL of the following files
    # BEFORE running this script:
    # 1 - instantclient-basic-macosx-10.1.0.3.zip
    # 2 - instantclient-sqlplus-macosx-10.1.0.3.zip
    # 3 - instantclient-sdk-macosx-10.1.0.3.zip
    # 4 - tnsnames.ora (configured properly)
    # 5 - sqlplus_script.sql (connectivity test)
    # 6 - setup1 (this file)
    # 7 - setup2 (will run this file later)
    # (2) Edit the TNSNAMES.ORA file and update it with the necessary information
    # to connect to a database on your network. Be sure to note the comments
    # in this file. You will have to change the following information:
    # SERVICE NAME (orcl or orcl.us.oracle.com)
    # HOST (database_machine.us.oracle.com)
    # PORT (1521)
    # SID (orcl)
    # (3) Go to the end of this scrip and modify the following line:
    # ./instantclient10_1/sqlplus scott/tiger@orcl @sqlplus_script.sql
    # Replace "orcl" with the SERVICE NAME you used in step (2) above.
    # (4) To run this script use the command: ". setup1"
    # BEGINNING OF SCRIPT
    # output this file to your shell
    echo
    echo MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP1
    echo
    #more setup1
    # output the TNSNAMES.ORA file to your shell
    echo TNSNAMES.ORA FILE
    echo
    more tnsnames.ora
    # remove the instantclient10_1 directory should it exist
    echo
    echo CHECKING FOR instantclient10_1 DIRECTORY...
    echo WILL REMOVE DIRECTORY IF IT ALREADY EXISTS
    echo
    rm -d -f -R instantclient10_1
    # extract the instantclient software (basic, sql*plus & sdk)
    echo
    echo
    echo INSTALLING SOFTWARE...
    echo
    echo BASIC
    echo
    unzip instantclient-basic-macosx-10.1.0.3.zip
    echo
    echo SQL*PLUS
    echo
    unzip instantclient-sqlplus-macosx-10.1.0.3.zip
    echo
    echo SDK
    echo
    unzip instantclient-sdk-macosx-10.1.0.3.zip
    # set the following environment variables
    # Uncomment if you want a way to find the Instant Client (IC) home quickly
    #export IC=$PWD/instantclient10_1
    # Dynamic Library path required to use the Instant Client (IC) software
    export DYLD_LIBRARY_PATH=$PWD/instantclient10_1
    # TNS_ADMIN is required if using the TNSNAMES.ORA file (recommended)
    export TNS_ADMIN=$PWD/instantclient10_1
    # display the modified environment variables
    echo
    echo SETTING ENVIRONMENT VARIABLES
    echo
    echo DYLD_LIBRARY_PATH
    echo $DYLD_LIBRARY_PATH
    echo
    echo TNS_ADMIN
    echo $TNS_ADMIN
    # display all environment variables
    #echo
    #echo ALL ENVIRONMENT VARIABLES
    #echo
    #env
    # copy the TNSNAMES.ORA to the instantclient directory
    echo
    echo COPYING TNSNAMES.ORA TO INSTANT CLIENT [IC] DIRECTORY
    echo
    cp tnsnames.ora ./instantclient10_1/tnsnames.ora
    # list the contents of the IC directory to see what has been installed
    echo
    echo INSTANT CLIENT [IC] DIRECTORY
    echo
    ls ./instantclient10_1
    echo
    # SQL*Plus Connectivity Test
    # To connect to the database specified in your TNSNAMES.ORA file change the
    # SERVICE NAME (i.e. orcl) below to the name of the entry in your TNSNAMES.ORA
    # file designating the specific database in which you want to connect to
    echo
    echo SQL*PLUS CONNECTIVITY TEST
    ./instantclient10_1/sqlplus scott/tiger@orcl @sqlplus_script.sql
    # Alternately, you can connect from SQL*Plus to Oracle without using a TNSNAMES.ORA
    # file. You can embed the NAME-VALUE pair of the SERVICE NAME from the TNSNAMES.ORA
    # file directly into the connection string making sure to use the proper HOST, PORT
    # and SID like so:
    #./instantclient10_1/sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=database_machine.us.oracle.com)(PORT=1521)))(CONNECT_DATA=(SID=orcl)))
    5. Save the following text into a file called setup2:
    # ===========================================
    # MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP2
    # ===========================================
    # DESCRIPTION
    # ===========
    # This script will build and run the OCI sample application CDEMO81.C inside
    # your Instant Client (IC) software located under the <IC>/sdk/demo folder.
    # NOTE: In order for this script to run successfully
    # (A) you MUST have already run the script SETUP1 successfully
    # and
    # (B) you MUST perform any necessary actions required under the SETUP
    # section below.
    # SETUP
    # =====
    # (1) You need to edit the CDEMO81.C application PRIOR to running this script to
    # change the connection information. By default, the application will attempt
    # to connect as user SCOTT with password TIGER to a local Oracle database using
    # the BEQ-LOCAL network protocol. This will not work.
    # (A) You need to make sure you have the SCOTT/TIGER schema created in your database.
    # If not, have your DBA create it by running the script "SCOTT.SQL" from your
    # <ORACLE_HOME>/rdbms/admin folder.
    # (B) You need to modify the CDEMO81.C application to connect to the database
    # you have configured inside your TNSNAMES.ORA file.
    # (i) Open the CDEMO81.C file located under the <IC>/sdk/demo folder.
    # (ii) Find the following line of code:
    # (void) OCIServerAttach( srvhp, errhp, (text *)"", strlen(""), 0);
    # and change the two empty strings to the SERVICE NAME you are using like so
    # (void) OCIServerAttach( srvhp, errhp, (text *)"ORCL", strlen("ORCL"), 0);
    # (iii) Save the file.
    # (2) You MUST be in the initial directory where you copied all of the files listed
    # in script SETUP1. In this same location you will find SETUP2. Run SETUP2 from
    # this location.
    # (3) To run this script use the command: ". setup2"
    # BEGINNING OF SCRIPT
    # output this file to your shell
    echo
    echo MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP2
    echo
    #more setup2
    # output the TNSNAMES.ORA file to your shell
    echo TNSNAMES.ORA FILE
    echo
    more tnsnames.ora
    # output the username, password and service name from CDEMO81.C file to your shell
    echo
    echo USERNAME, PASSWORD AND SERVICE NAME INFO FROM YOUR OCI cdemo81.c FILE
    echo
    #more ./instantclient10_1/sdk/demo/cdemo81.c
    grep -i "*username" ./instantclient10_1/sdk/demo/cdemo81.c
    grep -i "*password" ./instantclient10_1/sdk/demo/cdemo81.c
    grep -i OCIServerAttach ./instantclient10_1/sdk/demo/cdemo81.c
    # display the required environment variables
    #env
    echo
    echo REPORTING REQUIRED ENVIRONMENT VARIABLES
    echo
    echo DYLD_LIBRARY_PATH
    echo $DYLD_LIBRARY_PATH
    echo
    echo TNS_ADMIN
    echo $TNS_ADMIN
    # move to the sdk/demo directory
    cd ./instantclient10_1/sdk/demo
    echo
    echo CHANGING TO [IC]/SDK/DEMO DIRECTORY
    echo
    ls
    # run demo application
    echo
    echo ATTEMPTING TO RUN APPLICATION
    echo
    echo BUILDING APPLICATION USING PROVIDED MAKE FILE, [IC]/sdk/demo/demo.mk...
    echo
    make -f demo.mk
    echo
    echo
    echo INSTANT CLIENT [IC] DIRECTORY...
    echo
    ls ../..
    echo
    echo CREATING links FOR REQUIRED LIBRARIES IN INSTANT CLIENT [IC] FOLDER...
    echo
    echo - libclntsh.dylib
    echo - libocci.dylib
    ln ../../libclntsh.dylib.10.1 ../../libclntsh.dylib
    ln ../../libocci.dylib.10.1 ../../libocci.dylib
    echo
    echo INSTANT CLIENT [IC] DIRECTORY WITH links CREATED...
    echo
    ls ../..
    echo
    echo
    echo EXECUTING APPLICATION...
    echo
    cdemo81
    echo
    echo
    # TROUBLE-SHOOTING
    # If you receive the following error messages:
    # Error - ORA-24327: need explicit attach before authenticating a user
    # Error - ORA-03114: not connected to ORACLE
    # Then you did not modify the CDEMO81.C application with proper SERVICE NAME
    # information. See step 1B under the SETUP section in this script to resolve
    # this error.
    6. Take all seven (7) files and move them into the same directory on your OS where you want to install the Instant Client software from:
    1 - instantclient-basic-macosx-10.1.0.3.zip
    2 - instantclient-sqlplus-macosx-10.1.0.3.zip
    3 - instantclient-sdk-macosx-10.1.0.3.zip
    4 - tnsnames.ora
    5 - sqlplus_script.sql
    6 - setup1
    7 - setup2
    7. Open the file tnsnames.ora. Be sure to review the comments in this file. You will have to change the following information to connect to a database on your network:
    SERVICE NAME (orcl or orcl.us.oracle.com)
    HOST (database_machine.us.oracle.com)
    PORT (1521)
    SID (orcl)
    Save the file.
    8. Open the file setup1, go to the end of this script and modify the following line:
    ./instantclient10_1/sqlplus scott/tiger@orcl @sqlplus_script.sql
    Replace orcl with the SERVICE NAME you used in Step 7 above. Save the file.
    9. You are now ready to install the 10g Instant Client software for Mac OS X. From the location where your seven (7) files reside, issue the following command:
    [macosx]/oracle> . setup1
    NOTE: Be sure to include the period "." and a space " " before the word "setup1" so all environment variables persist for the current session.
    This will install the Instant Client Basic and SQL*Plus software and connect to the database specified in the tnsnames.ora file.
    10. Here is the sample output of a successful execution of the setup1 script:
    [macosx]/oracle> . setup1
    MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP1
    TNSNAMES.ORA FILE
    # If you receive an
    # ORA-12154: TNS:could not resolve the connect identifier specified
    # error when running the setup script and attempting to connect to Oracle
    # from SQL*Plus then the name of your SERVICE NAME (i.e. ORCL) may require
    # that you include the DOMAIN (i.e. US.ORACLE.COM) in order to connect successfully.
    # To obtain the DOMAIN of your environment, type "hostname" from your shell
    # and it should report this information back to you. Configure your SERVICE
    # NAME to look like Example 2.
    # Example 1
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = orcl)
    # Example 2
    #ORCL.US.ORACLE.COM =
    # (DESCRIPTION =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    # (CONNECT_DATA =
    # (SERVER = DEDICATED)
    # (SID = orcl)
    CHECKING FOR instantclient10_1 DIRECTORY...
    WILL REMOVE DIRECTORY IF IT ALREADY EXISTS
    INSTALLING SOFTWARE...
    BASIC
    Archive: instantclient-basic-macosx-10.1.0.3.zip
    inflating: instantclient10_1/classes12.jar
    inflating: instantclient10_1/libclntsh.dylib.10.1
    inflating: instantclient10_1/libnnz10.dylib
    inflating: instantclient10_1/libocci.dylib.10.1
    inflating: instantclient10_1/libociei.dylib
    inflating: instantclient10_1/libocijdbc10.dylib
    inflating: instantclient10_1/ojdbc14.jar
    SQL*PLUS
    Archive: instantclient-sqlplus-macosx-10.1.0.3.zip
    inflating: instantclient10_1/README_IC.htm
    inflating: instantclient10_1/glogin.sql
    inflating: instantclient10_1/libsqlplus.dylib
    inflating: instantclient10_1/sqlplus
    SDK
    Archive: instantclient-sdk-macosx-10.1.0.3.zip
    creating: instantclient10_1/sdk/
    creating: instantclient10_1/sdk/demo/
    inflating: instantclient10_1/sdk/demo/cdemo81.c
    inflating: instantclient10_1/sdk/demo/demo.mk
    inflating: instantclient10_1/sdk/demo/occidemo.sql
    inflating: instantclient10_1/sdk/demo/occidemod.sql
    inflating: instantclient10_1/sdk/demo/occidml.cpp
    creating: instantclient10_1/sdk/include/
    inflating: instantclient10_1/sdk/include/nzerror.h
    inflating: instantclient10_1/sdk/include/nzt.h
    inflating: instantclient10_1/sdk/include/occi.h
    inflating: instantclient10_1/sdk/include/occiAQ.h
    inflating: instantclient10_1/sdk/include/occiCommon.h
    inflating: instantclient10_1/sdk/include/occiControl.h
    inflating: instantclient10_1/sdk/include/occiData.h
    inflating: instantclient10_1/sdk/include/occiObjects.h
    inflating: instantclient10_1/sdk/include/oci.h
    inflating: instantclient10_1/sdk/include/oci1.h
    inflating: instantclient10_1/sdk/include/oci8dp.h
    inflating: instantclient10_1/sdk/include/ociap.h
    inflating: instantclient10_1/sdk/include/ociapr.h
    inflating: instantclient10_1/sdk/include/ocidef.h
    inflating: instantclient10_1/sdk/include/ocidem.h
    inflating: instantclient10_1/sdk/include/ocidfn.h
    inflating: instantclient10_1/sdk/include/ociextp.h
    inflating: instantclient10_1/sdk/include/ocikpr.h
    inflating: instantclient10_1/sdk/include/ocixmldb.h
    inflating: instantclient10_1/sdk/include/odci.h
    inflating: instantclient10_1/sdk/include/oratypes.h
    inflating: instantclient10_1/sdk/include/ori.h
    inflating: instantclient10_1/sdk/include/orid.h
    inflating: instantclient10_1/sdk/include/orl.h
    inflating: instantclient10_1/sdk/include/oro.h
    inflating: instantclient10_1/sdk/include/ort.h
    inflating: instantclient10_1/sdk/include/xa.h
    SETTING ENVIRONMENT VARIABLES
    DYLD_LIBRARY_PATH
    /oracle/instantclient10_1
    TNS_ADMIN
    /oracle/instantclient10_1
    COPYING TNSNAMES.ORA TO INSTANT CLIENT [IC] DIRECTORY
    INSTANT CLIENT [IC] DIRECTORY
    README_IC.htm libocci.dylib.10.1 sdk/
    classes12.jar libociei.dylib* sqlplus*
    glogin.sql libocijdbc10.dylib* tnsnames.ora
    libclntsh.dylib.10.1* libsqlplus.dylib*
    libnnz10.dylib ojdbc14.jar
    SQL*PLUS CONNECTIVITY TEST
    SQL*Plus: Release 10.1.0.3.0 - Production on Fri Aug 19 15:26:08 2005
    Copyright (c) 1982, 2004, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
    With the Partitioning, OLAP and Data Mining options
    USER
    SCOTT
    SYSDATE
    19-AUG-05
    TEST_RESULTS
    successful
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
    With the Partitioning, OLAP and Data Mining options
    IF THE SQL*PLUS CONNECTIVITY TEST WAS SUCCESSFUL
    READ SETUP2 TO CONFIGURE AND RUN THE OCI cdemo81.c SAMPLE
    [macosx]/oracle>
    11. Once you have obtained a successful execution of the setup1 script, you are ready to configure cdemo81.c to connect to the database you have configured inside your tnsnames.ora file.
    Open the cdemo81.c file located under the <Instant_Client>/sdk/demo folder. Find the following line of code:
    (void) OCIServerAttach( srvhp, errhp, (text *)"", strlen(""), 0);
    Change the two (2) empty strings to the SERVICE NAME you used in Step 7 above.
    (void) OCIServerAttach( srvhp, errhp, (text *)"ORCL", strlen("ORCL"), 0);
    Save the file.
    12. You are now ready to run cdemo81.c. You MUST issue the following command from the initial directory where you copied all of the files in Step 6:
    [macosx]/oracle> . setup2
    NOTE: Be sure to include the period "." and a space " " before the word "setup2" so all environment variables persist for the current session.
    This script will configure your environment, build and run the OCI sample code connecting to the database specified in the tnsnames.ora file.
    13. Here is the sample output of a successful execution of the setup2 script:
    [macosx]/oracle> . setup2
    MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP2
    TNSNAMES.ORA FILE
    # If you receive an
    # ORA-12154: TNS:could not resolve the connect identifier specified
    # error when running the setup script and attempting to connect to Oracle
    # from SQL*Plus then the name of your SERVICE NAME (i.e. ORCL) may require
    # that you include the DOMAIN (i.e. US.ORACLE.COM) in order to connect successfully.
    # To obtain the DOMAIN of your environment, type "hostname" from your shell
    # and it should report this information back to you. Configure your SERVICE
    # NAME to look like Example 2.
    # Example 1
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = orcl)
    # Example 2
    #ORCL.US.ORACLE.COM =
    # (DESCRIPTION =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    # (CONNECT_DATA =
    # (SERVER = DEDICATED)
    # (SID = orcl)
    USERNAME, PASSWORD AND SERVICE NAME INFO FROM YOUR OCI cdemo81.c FILE
    static text username = (text ) "SCOTT";
    static text password = (text ) "TIGER";
    (void) OCIServerAttach( srvhp, errhp, (text *)"ORCL", strlen("ORCL"), 0);
    REPORTING REQUIRED ENVIRONMENT VARIABLES
    DYLD_LIBRARY_PATH
    /oracle/instantclient10_1
    TNS_ADMIN
    /oracle/instantclient10_1
    CHANGING TO [IC]/SDK/DEMO DIRECTORY
    cdemo81.c* demo.mk occidemo.sql occidemod.sql occidml.cpp
    ATTEMPTING TO RUN APPLICATION
    BUILDING APPLICATION USING PROVIDED MAKE FILE, [IC]/sdk/demo/demo.mk...
    rm -rf SunWS_cache
    rm -rf ../../libclntsh.dylib
    rm -rf ../../libocci.dylib
    rm -rf cdemo81 cdemo81.o occidml occidml.o
    /usr/bin/gcc -c -I../include -I/rdbms/public/ -I/oracore/include -I/oracore/publ
    ic -I/oracore/port/include -I/nlsrtl/include -I/plsql/public -I/plsql/include -I
    /network/public -I/network/include -I/otrace/public -I/otrace/include/ -I/precom
    p/public -I/precomp/include/ -I/slax/include -I/ordts/public -I/ordts/include -I
    /javavm/include -I/javavm/include/osds/unix/solaris -I/ctx/public -I/ordvir/publ
    ic -I/ordvir/include -idirafter . -g -DRE_ENTRANT -DOCCI_NO_WSTRING=1 -DMAC_O
    SX -D_GNU_SOURCE -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -D_BCER
    T_API_ -DRSA_PLATFORM=RSA_PLATFORM_MAC_PPC_DARWIN -DNTEV_USE_POLL -DNTEV_USE_GE
    NERIC -DNET_USE_LDAP -DOCCI cdemo81.c
    ln ../../libclntsh.dylib.10.1 ../../libclntsh.dylib
    ln ../../libocci.dylib.10.1 ../../libocci.dylib
    /usr/bin/g++ -o cdemo81 cdemo81.o -L../../ -locci -lclntsh -lpthread
    rm -rf ../../libclntsh.dylib
    rm -rf ../../libocci.dylib
    /usr/bin/g++ -c -I../include -I/rdbms/public/ -I/oracore/include -I/oracore/publ
    ic -I/oracore/port/include -I/nlsrtl/include -I/plsql/public -I/plsql/include -I
    /network/public -I/network/include -I/otrace/public -I/otrace/include/ -I/precom
    p/public -I/precomp/include/ -I/slax/include -I/ordts/public -I/ordts/include -I
    /javavm/include -I/javavm/include/osds/unix/solaris -I/ctx/public -I/ordvir/publ
    ic -I/ordvir/include -idirafter . -g -DRE_ENTRANT -DOCCI_NO_WSTRING=1 -DMAC_O
    SX -D_GNU_SOURCE -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -D_BCER
    T_API_ -DRSA_PLATFORM=RSA_PLATFORM_MAC_PPC_DARWIN -DNTEV_USE_POLL -DNTEV_USE_GE
    NERIC -DNET_USE_LDAP -DOCCI occidml.cpp
    In file included from ../include/occi.h:43,
    from occidml.cpp:11:
    ../include/occiData.h:411: warning: use of `long double' type; its size may
    change in a future release
    ../include/occiData.h:411: warning: (Long double usage is reported only once
    for each file.
    ../include/occiData.h:411: warning: To disable this warning, use
    -Wno-long-double.)
    ln ../../libclntsh.dylib.10.1 ../../libclntsh.dylib
    ln ../../libocci.dylib.10.1 ../../libocci.dylib
    /usr/bin/g++ -o occidml occidml.o -L../../ -locci -lclntsh -lpthread
    rm -rf ../../libclntsh.dylib
    rm -rf ../../libocci.dylib
    INSTANT CLIENT [IC] DIRECTORY...
    README_IC.htm libocci.dylib.10.1 sdk/
    classes12.jar libociei.dylib* sqlplus*
    glogin.sql libocijdbc10.dylib* tnsnames.ora
    libclntsh.dylib.10.1* libsqlplus.dylib*
    libnnz10.dylib ojdbc14.jar
    CREATING links FOR REQUIRED LIBRARIES IN INSTANT CLIENT [IC] FOLDER...
    - libclntsh.dylib
    - libocci.dylib
    INSTANT CLIENT [IC] DIRECTORY WITH links CREATED...
    README_IC.htm libnnz10.dylib libsqlplus.dylib*
    classes12.jar libocci.dylib ojdbc14.jar
    glogin.sql libocci.dylib.10.1 sdk/
    libclntsh.dylib* libociei.dylib* sqlplus*
    libclntsh.dylib.10.1* libocijdbc10.dylib* tnsnames.ora
    EXECUTING APPLICATION...
    Enter employee name (or CR to EXIT): LARRY
    Enter employee job: CEO
    Enter employee salary: 10000
    Enter employee dept: 40
    LARRY added to the OPERATIONS department as employee number 7974
    Enter employee name (or CR to EXIT):
    Exiting...
    [macosx]/oracle/instantclient10_1/sdk/demo>
    14. If you have any problems running this script please open a Service Request (SR) with Oracle Support for further assistance and be sure to upload the output from the script to the SR.
    ReferencesNote
    332588.1 - How to Install, Configure and Test Oracle 10g Instant Client Basic, SQL*Plus and SDK Packages for Mac OS X (Runs OCCI sample code - occidml.cpp)
    Errors
    ORA-3114 "not connected to ORACLE"
    ORA-24327 need explicit attach before authenticating a user
    ORA-12154 "TNS:could not resolve service name"

  • Error After executing adstrtal.sh command at Application Tier

    Hi,
    We are using,
    EBS : R12.1.1
    OS : OEL 5.6
    When i tried to start Application tier services got following error message,
    XML-20108: (Fatal Error) start of root element expected.
    The logfilefor this session is located at $INST_TOP/logs/appl/admin/log/adstrtal.log
    Exception in thread "main" java.lang.NullPointerException
    at Oracle.apps.ad.autoconfig.serviceControl.parseServices(ServiceControl.java:475)
    at Oracle.apps.ad.autoconfig.serviceControl.<init>(ServiceControl.java:319)
    at Oracle.apps.ad.autoconfig.serviceControl.main(ServiceControl.java:956)
    adstrtal.sh: Exiting with status 1
    How can i resolve this error and start my Application Tier?? Please guide..
    Regards,
    Priyanka

    Contents of the "/usrxit/devenv.env" file are,
    # $Header: devenv.env 120.1 2006/10/23 19:07:35 appldev ship $
    #=====================================================================+
    # Copyright (c) 1999 Oracle Corporation Belmont, California, USA |
    # All rights reserved. |
    #=====================================================================+
    # FILENAME
    # devenv.env
    # DESCRIPTION
    # Application Object Library developer's environment setup
    # This script is automatically called by fndenv.env so that
    # you can compile and link custom user exits (SQL*Forms and
    # SQL*ReportWriter) and concurrent programs with Oracle
    # Applications.
    # NOTES
    # Now we provide compilation flags compatible with the Makefile
    # in the $FND_TOP/usrxit directory.
    #     Changed $(ORACLE_HOME)/proc16/lib to $(ORACLE_HOME)/sqllib/public
    #      for 7.1 changes. -- JCM 7/13/94
    #     $(ORACLE_HOME)/sqllib/public to $(ORACLE_HOME)/precomp/public
    #     and $(ORACLE_HOME)/bin/proc16 to $(ORACLE_HOME)/bin/proc
    #          -- gling 1/21/97
    #=====================================================================*/
    # First we set all compilation flags from the Makefile for generic Unix.
    # Then we correct the generic settings based on the PLATFORM environment
    # variable set in the AutoInstall Environment file.
    if test "$PLATFORM" = ""; then
    echo "devenv.env: PLATFORM environment variable not set."
    echo "Please check your AutoInstall Environment file."
    exit 1
    fi
    # set Unix generic flags for Makefile
    # If any need to be overridden, this happens in the Platform-specific
    # case statement below
    CC='cc'
    # CFLAGS should be set to somethings like the following:
    # CFLAGS='-g $(INCLUDE_FLAGS)'
    CFLAGS='You_must_set_CFLAGS_for_your_platform_in_$$FND_TOP/usrxit/devenv.env'
    # You may need to modify the last entry in INCLUDE_FLAGS below if
    # oratypes.h is not located in the directory $ORACLE_HOME/rdbms/demo.
    INCLUDE_FLAGS='-I. -I$(FND_TOP)/include -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/demo'
    PCC='$(ORACLE_HOME)/bin/proc'
    PCCFLAGS='include=$(PCCINC) ireclen=161 sqlcheck=none dbms=v6'
    PCCINC='. include=$(FND_TOP)/include include=$(ORACLE_HOME)/precomp/public'
    # LDFLAGS should be set to -g when using a debugger.
    # LDFLAGS='-g'
    CHMOD='chmod'
    MCS='echo mcs'
    RM='rm -f'
    CP='cp'
    # Platform-specific case statement
    case "$PLATFORM" in
    AIXRIOS) INCLUDE_FLAGS='-I. -I$(FND_TOP)/include -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME/plsql/public'
    CFLAGS='-O -qmaxmem=-1 -qro -qspill=30000 -U__STR__ -DNLS_ASIA -DORE -D_BSD -DRIOS -DAIXRIOS $(INCLUDE_FLAGS)'
    #CFLAGS='$(INCLUDE_FLAGS) -U__STR__ -DAIXRIOS -DNLS_ASIA -DORE -D_BSD -DRIOS -qro -O -DAFSTUBS'
    PCCFLAGS='ireclen=161 dbms=v8 unsafe_null=yes mode=oracle release_cursor=no maxopencursors=100 hold_cursor=yes include=$(PCCINC)';;
    DCOSX) CFLAGS='-O -Wf,-Cs $(INCLUDE_FLAGS) -DDCOSX -DNLS_ASIA -Dconst= -DAFSTUBS';;
    DRS6000) CFLAGS='$(INCLUDE_FLAGS) -O -DDRS6000 -DNLS_ASIA -DAFSTUBS';;
    HP9000S800) INCLUDE_FLAGS='-I. -I$(FND_TOP)/include -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME/plsql/public'
    CFLAGS='-Ae -O DD32 DA2.0 ESlit Z +objdebug -DNO_RC2 -DNO_RC5 -DNO_IDEA -DBSAFE -DHPUX -DHPUX11 -D_HPUX_SOURCE -DHP9000S800 -DNLS_ASIA $(INCLUDE_FLAGS)'
    #CFLAGS='-Aa O3 $(INCLUDE_FLAGS) -D_HPUX_SOURCE -DHP9000S800 -DNLS_ASIA ESlit ESsfc DA1.0 +DS1.1 -DAFSTUBS'
    PCCFLAGS='ireclen=161 dbms=v8 unsafe_null=yes mode=oracle release_cursor=no maxopencursors=100 hold_cursor=yes include=$(PCCINC)';;
    INTEL_386) CFLAGS='-O $(INCLUDE_FLAGS) -DSCO_UNIX -DNLS_ASIA -DINTEL_386 -DAFSTUBS';;
    M88OPEN) CFLAGS='$(INCLUDE_FLAGS) -DM88OPEN -DNLS_ASIA -O -DAFSTUBS';;
    M88OPEN) CFLAGS='$(INCLUDE_FLAGS) -DM88OPEN -DNLS_ASIA -O -DAFSTUBS';;
    NCR) CFLAGS='$(INCLUDE_FLAGS) -DNCR -DNLS_ASIA -O -Hon=Read_only_strings -Xa'
    LDFLAGS='-s -t -znorearrange'
    MCS='mcs -d';;
    ISVR4) CFLAGS='$(INCLUDE_FLAGS) -DNCR -DNLS_ASIA -O -Hon=Read_only_strings -Xa'
    LDFLAGS='-s -t'
    MCS='mcs -d';;
    OSF1) CFLAGS='$(INCLUDE_FLAGS) -O1 -Olimit 1300 -G 0 -std0 -DOSF1 -DA_OSF -DNLS_ASIA -DAFSTUBS -non_shared';;
    SCO_UNIX) CFLAGS='-O $(INCLUDE_FLAGS) -DSCO_UNIX -DSYSV_386 -DINTEL_386 -DNLS_ASIA -DAFSTUBS';;
    SYSV_386) CFLAGS='-O $(INCLUDE_FLAGS) -DSCO_UNIX -DSYSV_386 -DINTEL_386 -DNLS_ASIA -DAFSTUBS';;
    SEQ_DYNIX) CFLAGS='-O $(INCLUDE_FLAGS) -DSEQ_DYNIX -DNLS_ASIA -DAFSTUBS';;
    SEQ_PTX) CFLAGS='$(INCLUDE_FLAGS) -O -DSEQ_PTX -DNLS_ASIA -W0,-Nn5000 -W0,-xstring -Wc,-pw -Xo -Wp,-Ns14000 -Wp,-Nz200000 -W0,-Nd14999 -W0,-Nt3000 -DAFSTUBS -Dsigned=';;
    SUN_OS5) INCLUDE_FLAGS='-I. -I$(FND_TOP)/include -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME/plsql/public'
    CFLAGS='-xO2 -mr -Xa -xarch=v8plusa -xtarget=ultra3 -xstrconst -restrict SUN_OS5 NLS_ASIA $(iINCLUDE_FLAGS)'
         LDFLAGS='-s -xcg92'
         CC=/opt/SUNWspro/bin/cc
    PCCFLAGS='ireclen=161 dbms=v8 unsafe_null=yes mode=oracle release_cursor=no maxopencursors=100 hold_cursor=yes include=$(PCCINC)';;
    SUN_SPARC) INCLUDE_FLAGS='-I. -I$(FND_TOP)/include -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME/plsql/public'
    CFLAGS='-xO2 -mr -Xa -xarch=v8plusa -xtarget=ultra3 -xstrconst -restrict SUN_OS5 NLS_ASIA $(INCLUDE_FLAGS)'
    CC='/usr/5bin/cc'
    PCCFLAGS='ireclen=161 dbms=v8 unsafe_null=yes mode=oracle release_cursor=no maxopencursors=100 hold_cursor=yes include=$(PCCINC)';;
    #CFLAGS='$(INCLUDE_FLAGS) -O1 -DNLS_ASIA -DAFSTUBS'
    ULTRIX) CFLAGS='$(INCLUDE_FLAGS) -O -DNLS_ASIA -DAFSTUBS';;
    UTS) CFLAGS='$(INCLUDE_FLAGS) -DUTS -eft -DNLS_ASIA -DAFSTUBS';;
    LINUX) CFLAGS='$(INCLUDE_FLAGS) -Dlinux -DLINUX -DNLS_ASIA -D_GNU_SOURCE';;
    HPUX_IA64) INCLUDE_FLAGS='-I. -I$(FND_TOP)/include -I$(ORACLE_HOME)/precomp/public -I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/plsql/public'
    CFLAGS='-O Onolimit Onoprocelim -Ae Olit=all DD32 +DSblended -D_HPUX_SOURCE -DHPUX -DHPUX_IA64 -DBUILD32 -DNLS_ASIA $(INCLUDE_FLAGS)'
    PCCFLAGS='include=$(PCCINC) ireclen=161 dbms=v8 unsafe_null=yes mode=oracle release_cursor=no maxopencursors=100 hold_cursor=yes define=__hpux';;
    esac
    # Export all variables set to the environment
    export CC CFLAGS INCLUDE_FLAGS PCC PCCFLAGS PCCINC
    export CHMOD MCS RM CP
    # To use a user exit name other than #USR or a library name other than
    # libusr.a modify the variable LUSRLIB to point to your library
    LUSRLIB="${FND_TOP}/${APPLUSR}/libusr.a"
    export LUSRLIB
    # To use a SQL*Forms user exit name other than #USR modify the
    # variable LUSRIAP
    # LUSRIAP contains the name of the module which defines your custom user
    # exit reference list (xitXXX.o). By default, XXX is usr. You change
    # this value only if you do not use #USR when calling your user exits.
    # When linking your custom version of SQL*Forms (uaiap),
    # ${FND_TOP}/${APPLUSR}/xitiap.o defines the top-level user exit names
    # accessible from SQL*Forms, for example, #FND, #USR, or #FAC.
    # You can generate xitiap.o with genxtb or create from the
    # template .c file located in the ${APPLUSR} directory.
    LUSRIAP="${FND_TOP}/${APPLUSR}/xitusr.o"
    export LUSRIAP
    # To use a SQL*ReportWriter user exit name other than #USR modify the
    # variable LUSRSRW
    # LUSRSRW contains the name of the module which defines your custom user
    # exit reference list (xitXXX.o). By default, XXX is usr. You change
    # this value only if you do not use #USR when calling your user exits.
    # When linking your custom version of SQL*Forms (urunrep),
    # ${FND_TOP}/${APPLUSR}/xitsrw.o defines the top-level user exit names
    # accessible from SQL*Forms, for example, #FND, #USR, or #FAC.
    # You can generate xitsrw.o with genxtb or create from the
    # template .c file located in the ${APPLUSR} directory.
    LUSRSRW="${FND_TOP}/${APPLUSR}/xirusr.o"
    export LUSRSRW
    # To include custom immediate concurrent programs or create a new
    # concurrent program library, modify the variable LUSRPRG
    # LUSRPRG contains:
    # (1) the concurrent program library module which lists your
    # concurrent program catalogs.
    # If you wish to also link the Oracle Financials concurrent
    # program catalogs, make sure you list them in your concurrent
    # program library, "prglib.c".
    # (2) the concurrent program catalog module which lists your
    # immediate concurrent programs.
    # (3) the module that defines your function for the immediate
    #      concurrent program and your library.
    # The concurrent program library file and the concurrent program
    # catalog file may created from the template prglib.c and prgcat.c
    # files located in the ${APPLUSR} directory.
    LUSRPRG="${FND_TOP}/${APPLUSR}/prglib.o ${FND_TOP}/${APPLUSR}/prgcat.o ${FND_TOP}/${APPLUSR}/EXPROG.o"
    export LUSRPRG
    # The following are special environment variables designed to allow Oracle
    # Applications customers to link 3rd-party software into documented interface
    # points in Oracle Applications C code.
    # For each product listed below, there are two environment variables defined.
    # One is of the form: VND<PROD>SL
    # and the other is of the form: VND<PROD>PL
    # where <PROD> is replaced by the abbreviation for a specific product,
    # VND stands for Vendor (3rd-party vendor),
    # SL stands for Shared Libraries,
    # and PL stands for Private Libraries.
    # For example: VNDARSL, VNDARPL, VNDPAYSL, VNDPAYPL
    # Each Vendor Libraries variable defined below should be set to '' if you are
    # not linking in any 3rd-party software. If you are linking 3rd-party
    # software into a specific product, you must change the Vendor Libraries
    # variables for that product.
    # If you are linking in 3rd-party software, VND<PROD>SL and VND<PROD>PL
    # should be set to include: 1) the 3rd-party interface object modules, and
    # 2) the 3rd-party libraries (in that order).
    # For example:
    # VNDPAYSL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)'
    # VNDPAYPL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)'
    # Notes on setting the Vendor Libraries variables:
    # 1) You must enclose the value you assign to each vendor libraries variable
    # in single quotes as in the example above.
    # The right way to specify a value for a vendor libraries variable:
    # VNDPAYPL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)'
    # The wrong way to specify a value for a vendor libraries variable:
    # VNDPAYPL="$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)"
    # 2) You must enclose all environment variable references in parentheses, as
    # in the example above.
    # The right way to reference an environment variable:
    # $(PAY_TOP)/lib/py3c.o
    # The wrong way to reference an environment variable:
    # $PAY_TOP/lib/py3c.o
    # 3) Any user-defined environment variables (like VND_LINK in the example
    # above) must be set and exported in this file. There is a special
    # section for this purpose below.
    # Example:
    # Needed when linking in 3rd Party Software
    # VND_VERTEX='$(PAY_TOP)/vendor/quantum'
    # VND_LINK='$(VND_VERTEX)/lib/libvprt.a \
    # $(VND_VERTEX)/lib/libqutil.a \
    # $(VND_VERTEX)/lib/libloc.a \
    # $(VND_VERTEX)/lib/libcb63.a'
    # VNDPAYSL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)'
    # VNDPAYPL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)'
    # export VND_VERTEX VND_LINK VNDPAYPL VNDPAYSL
    # Needed when APPLPAYLINK!=cob
    # VNDPAYSL=''
    # VNDPAYPL=''
    # export VNDPAYPL VNDPAYSL
    # 4) Any user-defined environment variables (like VND_LINK in the example
    # above) must begin with 'VND_', or the Oracle Applications Relinking
    # Utility (adrelink) will remove them from the linking environment.
    # Note: COBDIR is an exception to this rule.
    # The right way to name a user-defined environment variable:
    # VND_LINK
    # The wrong way to name a user-defined environment variable:
    # VENDOR_LIBS
    # 5) You do not need to include the product library for the Oracle
    # Applications product into which you are linking your 3rd-party libraries
    # in the value you assign to each vendor libraries variable.
    # All you need is:
    # VNDPAYPL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK)'
    # You don't need:
    # VNDPAYPL='$(PAY_TOP)/lib/py3c.o $(PAY_TOP)/lib/py3v.o $(VND_LINK) $(LPAYLIB)'
    # End of notes on setting the Vendor Libraries variables
    # In general, you should set VND<PROD>SL and VND<PROD>PL to have the same
    # value. If you need to set them to different values for a given product,
    # this will be stated below or stated in the documentation that comes with
    # the product in question.
    # If there are no Vendor Libraries variables listed below for a given product,
    # that means the product in question does not have any documented interface
    # points for linking in 3rd-party software.
    # Please enter user-defined environment variables between this
    # comment section and the next comment section.
    # End section for user-defined environment variables
    # Vendor Libraries variables for Oracle Receivables (AR)
    VNDARSL=''
    VNDARPL=''
    export VNDARSL VNDARPL
    # Vendor Libraries variables for Oracle Payroll (PAY)
    VNDPAYSL=''
    VNDPAYPL=''
    export VNDPAYSL VNDPAYPL
    # End of Vendor Libraries variables list
    File is present at the $FND_TOP/usrxit folder ...
    Regards
    Priyanka

  • Linker not eliminating unused object from dynamic executable

    Hello,
    when I try to build a dynamic executable from shared objects, I get a small number of undefined symbols. These symbols are in an object (.o) that is not used in the executable. I have "-z ignore" specified, but the linker still seems unable to identify that object as unused.
    I can compile the same code on HPUX without problems (no undefined symbols, and no unexpected dependencies).
    On SOLARIS I use the following options:
    Comile: -xcode=pic13 -w -DSOLARIS -D_USE_NAMESPACES_ -misalign
    Link shared object: -G -z ignore
    Link dynamic exec: -g0 -z ignore -z rescan
    Full commands:
    CC -c -z -xcode=pic13 -w -DSOLARIS -D_USE_NAMESPACES_ -misalign -D_ADV_DEBUG -D__SOURCE_FILE__=NotQueueHandler_obj -g0 -w -D_ADV_DEBUG -DSOLARIS -D_USE_NAMESPACES_ -I/view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src -I/view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/SOLARIS/gen -I/view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/SOLARIS/gen/Not -I/view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/SOLARIS/include -I/yvr/build/R8.1.0.0/bea/tuxedo9.1rp092/include -I/yvr/build/R8.1.0.0/oracle/10.2/rdbms/demo -I/yvr/build/R8.1.0.0/oracle/10.2/plsql/public -I/yvr/build/R8.1.0.0/oracle/10.2/network/public -I/yvr/build/R8.1.0.0/oracle/10.2/rdbms/public -o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotQueueHandler_obj.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/NotQueueHandler_obj.cpp
    CC -G -z ignore -o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/libNot.so /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotEventObjectCallback_c.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotEventInterfaceCallback_c.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotEventNotifier_c.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotRegistration.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotRegistration_db.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotInterface.o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotRegistrar.o
    CC -w -w -D_REENTRANT -mt -R/usr/lib/lwp -I$TUXDIR/include -o /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotApp.tmp BS-3a6a.cpp -L${TUXDIR}/lib -g0 -z ignore -z rescan -L/view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/SOLARIS/lib -L/yvr/build/R8.1.0.0/bea/tuxedo9.1rp092/lib -L/yvr/build/R8.1.0.0/symas/opt/symas/lib -L/yvr/build/R8.1.0.0/oracle/10.2/lib32 -L/opt/mqm/lib /view/rfischer_cchu_LIB_SEA/vobs/SERVER/TOP.WFM/Not/src/SOLARIS/NotMain.o ${TUXDIR}/lib/tgiopservice.o ${TUXDIR}/lib/tpfwinit.o -lenv -lomg -lnative -lorb -lorbpoa -lorbutl -ltmib -licbgp -lskel -ltux -lbuft -L${ORACLE_HOME}/lib32 ${ORACLE_HOME}/rdbms/lib32/xaonsl.o -lclntsh -lfml -lfml32 -lengine -R/usr/lib/lwp -lpthread -lposix4 -lsocket -lnsl -lm -lnsl -lsocket -lpthread -lAlog -lDb -lInf -lDal -lCmm -lSw -lDbug -lReg -lOc -lOs -lNot -lCmm -lElog -lCnd -lQueue -lDb -lLocalNot -lQueue -lnative -lorb -ltux -lengine -lfml -lfml32 -lomg -lenv -lorbutl -lorbpoa -lclntsh -lAlog -lDb -lInf -lDal -lCmm -lSw -lDbug -lReg -lOc -lOs -lNot -lCmm -lElog -lCnd -lQueue -lDb -lLocalNot -lQueue -lnative -lorb -ltux -lengine -lfml -lfml32 -lomg -lenv -lorbutl -lorbpoa -lclntsh -lAlog -lDb -lInf -lDal -lCmm -lSw -lDbug -lReg -lOc -lOs -lNot -lCmm -lElog -lCnd -lQueue -lDb -lLocalNot -lQueue -lnative -lorb -ltux -lengine -lfml -lfml32 -lomg -lenv -lorbutl -lorbpoa -lclntsh -lAlog -lDb -lInf -lDal -lCmm -lSw -lDbug -lReg -lOc -lOs -lNot -lCmm -lElog -lCnd -lQueue -lDb -lLocalNot -lQueue -lnative -lorb -ltux -lengine -lfml -lfml32 -lomg -lenv -lorbutl -lorbpoa -lclntsh
    Thanks...
    Roger

    Thanks for your response.
    With "dynamic executable" I meant an executable that uses dynamic libraries. We have been using static libraries for our code, but are switching to shared libraries now (and it is a bit of a challenge).
    There is a component Elog, which has a number of classes. Each class has its own object (.o) file. There is a specialized class, ElogComplexInterface, which has a few additional dependencies (eg on component Asn). libElog.so contains all the classes from the Elog component.
    There is another component, Not, which uses some classes from the Elog component, but not ElogComplexInterface. The Not component has two libs and an executable: libNot.so is used by other objects, libLocalNot is used only by the executable, and NotApp is the executable.
    When we link NotApp on Solaris, we get an unresolved reference for component Asn. NotApp does not use (directly or indirectly) any Asn component. It was my understanding that "-z ignore" causes the linker to determine that ElogComplexInterface is not used in NotApp, and hence the reference to Asn is irrelevant.
    When linking on HPUX, we don't get any unresolved references.
    The first "CC" line in the original post is how we compile the C++ code (to show that we use PIC). It has an error (extra -z) which has been removed since I posted.
    The second "CC' line shows how we link the shared library (libNot.so).
    The last "CC" line in the original post shows how we link the executable (NotApp).
    Roger

  • Linker errors when linking OCCI 10.1.0  statically on RH AS 3.0 platform

    Hello All,
    I was trying to build an OCCI program on a Red Hat AS 3.0 Update 4 Platform, statically linking to OCCI libraries of Oracle 10.1.0 version. The g++ compiler version is 3.2.3.
    The Makefile and the errors that got generated is mentioned below. However, I could able to build the program when linking through shared library version of OCCI. My requirement is to build the program statically.
    I had been stuck up with this for almost a week and tried checking the previous postings in the forums/newsgroups, but not of much help. I added the following libraries :
    -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10\
    -lnsslb10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10
    to the Makefile, based on somebody's posting in OCI/OCCI forum. If I didn't provide
    -lpthread I get linker errors in pthread_xxx functions.
    Any help/pointers on this would be really appreciated.
    Makefile (static link)
    ======
    CXX=/usr/bin/g++
    ORA_HOME=/u01/app/oracle/product/10.1.0
    ifndef CXXFLAGS
    # Define C++ compiler flags to locate third-party header files as well as
    # any other options you may want.
    CXXFLAGS=-I${ORA_HOME}/rdbms/demo \
    -I${ORA_HOME}/rdbms/public \
    -I${ORA_HOME}/plsql/public \
    -I${ORA_HOME}/network/public
    endif
    # Include any header files in the current directoryj
    CXXFLAGS:=$(CXXFLAGS) -I . -g -static
    ifndef LDFLAGS
    # Define link paths for Oracle libraries.
    LDFLAGS=-L${ORA_HOME}/lib/ -L${ORA_HOME}/rdbms/lib/
    endif
    LIBS=-locci10 -lclntst10 -lnsl -ldl -lm \
    -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10\
    -lnsslb10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -lpthread
    #LIBS=${ORA_HOME}/lib/libocci10.a ${ORA_HOME}/lib/libclntst10.a -lpthread -ldl
    OCCIPROG=SCDBUtilTest
    OCCIOBJ=SCDBUtil.o SCDBUtilTest.o
    debug: ${OCCIPROG}
    ${OCCIPROG}: ${OCCIOBJ}
    ${CXX} ${CXXFLAGS} -o $@ ${OCCIOBJ} ${LDFLAGS} ${LIBS}
    clean:
    -rm -f $(OCCIPROG) $(OCCIOBJ)
    When ran make, below is the output generated.
    /usr/bin/g++ -I/u01/app/oracle/product/10.1.0/rdbms/demo -I/u01/app/oracle/product/10.1.0/rdbms/public -I/u01/app/oracle/product/10.1.0/plsql/public -I/u01/app/oracle/product/10.1.0/network/public -I . -g -static -c -o SCDBUtil.o SCDBUtil.cpp
    /usr/bin/g++ -I/u01/app/oracle/product/10.1.0/rdbms/demo -I/u01/app/oracle/product/10.1.0/rdbms/public -I/u01/app/oracle/product/10.1.0/plsql/public -I/u01/app/oracle/product/10.1.0/network/public -I . -g -static -c -o SCDBUtilTest.o SCDBUtilTest.cpp
    /usr/bin/g++ -I/u01/app/oracle/product/10.1.0/rdbms/demo -I/u01/app/oracle/product/10.1.0/rdbms/public -I/u01/app/oracle/product/10.1.0/plsql/public -I/u01/app/oracle/product/10.1.0/network/public -I . -g -static -o SCDBUtilTest SCDBUtil.o SCDBUtilTest.o -L/u01/app/oracle/product/10.1.0/lib/ -L/u01/app/oracle/product/10.1.0/rdbms/lib/ -locci10 -lclntst10 -lnsl -ldl -lm -lnbeq10 -lnhost10 -lnus10 -lnldap10 -lldapclnt10 -lnsslb10 -lntcp10 -lntcps10 -lnsslb10 -lntcp10 -lntns10 -lpthread
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sqmul.o)(.text+0xab): In function `sqmul_dlopen':
    : Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sntp.o)(.text+0x1089): In function `sntpcall':
    : Using 'getgrnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sntp.o)(.text+0x10a1): In function `sntpcall':
    : Using 'endgrent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sntp.o)(.text+0xfa1): In function `sntpcall':
    : Using 'getpwnam' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(si.o)(.text+0x14f): In function `sigunmu':
    : Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sniq.o)(.text+0x224): In function `snigun':
    : Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(snlpc.o)(.text+0x1427): In function `snlpcgthstbyad':
    : Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(slputcp.o)(.text+0x245): In function `slputcpsockaddr':
    : Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sgslun.o)(.text+0x2ef0): In function `sgslunGetHostName':
    : Using 'gethostbyname_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(snlpc.o)(.text+0xe90): In function `snlpcgthstent':
    : Using 'gethostent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(snlpc.o)(.text+0x1945): In function `snlpcgtsrvbynm':
    : Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(snlpc.o)(.text+0x1b8b): In function `snlpcgtsrvbypt':
    : Using 'getservbyport' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(snlpc.o)(.text+0x1702): In function `snlpcgtsrvent':
    : Using 'getservent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiStatementImpl.o)(.text+0x6ffb): In function `oracle::occi::StatementImpl::getObject(unsigned int)':
    : undefined reference to `OCIPAnyDataSetFlag'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiResultSetImpl.o)(.text+0xf99): In function `oracle::occi::ResultSetImpl::getBFloat(unsigned int)':
    : undefined reference to `lfpinit'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiResultSetImpl.o)(.text+0x10d9): In function `oracle::occi::ResultSetImpl::getBDouble(unsigned int)':
    : undefined reference to `lfpinit'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiResultSetImpl.o)(.text+0x1ca8): In function `oracle::occi::ResultSetImpl::getObject(unsigned int)':
    : undefined reference to `OCIPAnyDataSetFlag'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiResultSetImpl.o)(.text+0x48b6): In function `oracle::occi::ResultSetImpl::defineConvertBFloat(oracle::occi::ResultSetImpl::Define*, float*, unsigned int*, int)':
    : undefined reference to `lfpinit'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiResultSetImpl.o)(.text+0x49e2): In function `oracle::occi::ResultSetImpl::defineConvertBDouble(oracle::occi::ResultSetImpl::Define*, double*, unsigned int*, int)':
    : undefined reference to `lfpinit'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiTimestamp.o)(.text+0x1aa): In function `oracle::occi::Timestamp::Timestamp(oracle::occi::Environment const*, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    : undefined reference to `OCIPGetTZI'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiTimestamp.o)(.text+0x256): In function `oracle::occi::Timestamp::Timestamp(oracle::occi::Environment const*, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
    : undefined reference to `OCIPGetTZI'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiTimestamp.o)(.text+0x302): In function `oracle::occi::Timestamp::Timestamp(oracle::occi::Environment const*, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::basic_string<unsigned short, oracle::occi::utext_char_traits, std::allocator<unsigned short> > const&)':
    : undefined reference to `OCIPGetTZI'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiTimestamp.o)(.text+0x3be): In function `oracle::occi::Timestamp::Timestamp(oracle::occi::Environment const*, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::basic_string<unsigned short, oracle::occi::utext_char_traits, std::allocator<unsigned short> > const&)':
    : undefined reference to `OCIPGetTZI'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiTimestamp.o)(.text+0x48a): In function `oracle::occi::Timestamp::do_TimestampConstruct(oracle::occi::Environment const*, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, void*)':
    : undefined reference to `OCIPGetTZI'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiTimestamp.o)(.text+0xb42): more undefined references to `OCIPGetTZI' follow
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiSQLExceptionImpl.o)(.text+0x91): In function `oracle::occi::SQLExceptionImpl::getNLSMessage(oracle::occi::Environment*) const':
    : undefined reference to `OCIPGetErrorMessageNLS'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiSQLExceptionImpl.o)(.text+0x15b): In function `oracle::occi::SQLExceptionImpl::getNLSUStringMessage(oracle::occi::Environment*) const':
    : undefined reference to `OCIPGetErrorMessageNLS'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x56): In function `oracle::occi::AnyDataImpl::AnyDataImpl(oracle::occi::Connection const*, OCIAnyData*, bool)':
    : undefined reference to `OCIPAnyDataSetUCIOptMode'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x156): In function `oracle::occi::AnyDataImpl::AnyDataImpl(oracle::occi::Connection const*, OCIAnyData*, bool)':
    : undefined reference to `OCIPAnyDataSetUCIOptMode'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x3ae): In function `oracle::occi::AnyDataImpl::AnyDataImpl(oracle::occi::AnyDataCtx const*)':
    : undefined reference to `OCIPAnyDataSetUCIOptMode'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x4e6): In function `oracle::occi::AnyDataImpl::AnyDataImpl(oracle::occi::AnyDataCtx const*)':
    : undefined reference to `OCIPAnyDataSetUCIOptMode'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x780): In function `oracle::occi::AnyDataImpl::setNull()':
    : undefined reference to `OCIPAnyDataSetNull'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x1cc5): In function `oracle::occi::AnyDataImpl::setObject(oracle::occi::PObject const*)':
    : undefined reference to `OCIPAnyDataSetFlag'
    /u01/app/oracle/product/10.1.0/lib//libocci10.a(occiAnyDataImpl.o)(.text+0x2d6f): In function `oracle::occi::AnyDataImpl::getAsObject() const':
    : undefined reference to `OCIPAnyDataSetFlag'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstclo.o)(.text+0x39): In function `lstclo':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstclo.o)(.text+0x52): In function `lstclo':
    : undefined reference to `__ctype_tolower'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstclo.o)(.text+0x6f): In function `lstclo':
    : undefined reference to `__ctype_tolower'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstmclo.o)(.text+0x46): In function `lstmclo':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstmclo.o)(.text+0x5f): In function `lstmclo':
    : undefined reference to `__ctype_tolower'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstmclo.o)(.text+0x7c): In function `lstmclo':
    : undefined reference to `__ctype_tolower'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lxhcnv.o)(.text+0x366): In function `lxhcnv':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lxpname.o)(.text+0xc5): In function `lxpname':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(sl.o)(.text+0x405): In function `sltln':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kge.o)(.text+0x2b19): In function `kgespf':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kge.o)(.text+0x2d12): In function `kgespf':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kgh.o)(.text+0x10d48): more undefined references to `__ctype_b' follow
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kpuini.o)(.text+0x1d70): In function `kpufhndl0':
    : undefined reference to `wtcsrfre'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kpuini.o)(.text+0x7e00): In function `kpuinit0':
    : undefined reference to `wtcsrin'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lcvb24.o)(.text+0x45): In function `lcvb24':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lcvb24.o)(.text+0x9a): In function `lcvb24':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lcvb2w.o)(.text+0x45): In function `lcvb2w':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lcvb2w.o)(.text+0x9a): In function `lcvb2w':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lpu.o)(.text+0x1c5): In function `lpuparse':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lpu.o)(.text+0xf62): more undefined references to `__ctype_b' follow
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstlo.o)(.text+0x44): In function `lstlo':
    : undefined reference to `__ctype_tolower'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstmup.o)(.text+0x43): In function `lstmup':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstup.o)(.text+0x28): In function `lstup':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstup.o)(.text+0x44): In function `lstup':
    : undefined reference to `__ctype_toupper'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lsxv.o)(.text+0x54f5): In function `LsxvParseDecimal':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lsxv.o)(.text+0x6da8): In function `LsxValidateBinary':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lsxv.o)(.text+0x7710): In function `LsxValidateLong':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lsxv.o)(.text+0xb274): In function `LsxvIsLanguage':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lsxv.o)(.text+0xb316): In function `LsxvIsLanguage':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lsxv.o)(.text+0xb3ac): more undefined references to `__ctype_b' follow
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kpucc.o)(.text+0x271): In function `kpuccCacheErr':
    : undefined reference to `wtcLerr'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kpucc.o)(.text+0x2a6): In function `kpuccMainErr':
    : undefined reference to `wtcMerr'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kpucc.o)(.text+0x2e1): In function `kpuccGoRemote':
    : undefined reference to `wtclkm'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(kpucc.o)(.text+0x326): In function `kpuccGetStats':
    : undefined reference to `wtcstu'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lpxbuf.o)(.text+0x2a4f): In function `LpxbufSingleProcess':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(lstmlo.o)(.text+0x43): In function `lstmlo':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(nldt.o)(.text+0x9a1): In function `nldtstr2lv':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(nlfi.o)(.text+0x42f): In function `nlfifpf':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(nlfi.o)(.text+0x462): In function `nlfifpf':
    : undefined reference to `__ctype_b'
    /u01/app/oracle/product/10.1.0/lib//libclntst10.a(nlfi.o)(.text+0x4d4): more undefined references to `__ctype_b' follow
    collect2: ld returned 1 exit status
    make: *** [SCDBUtilTest] Error 1
    Thanks & Regards,
    Karthik D

    Hi ,
    Oh! Anyway, thanks for the information. However, the glibc version I use is glibc-2.3.2-95.30.
    There is a bit of story behind the reason we tried to use static linking. Actually, the application around which we use to develop solutions supports only Oracle 9i. We were developing some components using the C++ SDK provided by application vendor and that components need some information from DB for processing. So, we needed to write a DB class to do that. Since, we found Oracle supports C++ DB interface(OCCI), we thought to use that.
    We had to use RH AS 3.0 platform and the gcc compiler 3.2.x+ for compiling our component code. But Oracle 9i OCCI code doesn't get compiled with gcc/g++ 3.2.x+ compilers. So, we planned to use Oracle 10g OCCI libraries for building the DB class and link it to the custom component we had developed.
    In the run-time environment, we had to install both Oracle 9i clients and Oracle 10g clients since the app requires Oracle 9i and the custom component requires Oracle 10g. We did some kind of tweaking (by providing symbolic links to Oracle 10g OCCI libraries from Oracle 9i client directory) so that both the app and the component gets started.
    I know this is not a good idea. But we didn't want to spend much time on this at that time since we were doing a proof-of-concept. Later, we thought what could be done. We thought ,first we can try lthe custom component linked to static library version of OCCI. That's the reason we tried of static linking.
    The other option is to use OCI interface. But this is a bit of work since we need to write lot of wrapper methods to handle intricacies with OCI and OCI code is cumbersome compared to OCCI.
    Hope now you could have got the problem, I am talking about. Any other better ways?
    Thanks
    Karthik

  • OCCI Unicode compile error

    Hi,
    Can anyone help me about the following error?
    I compiled occiuni1 sample on debian 2.4.27-2-386, and I got these errors.
    The object file is created, but exe is not.
    The compile output is:
    make -f Makefile occiuni1
    make -f /home/oracle/oracle/product/10.2.0/client_2/rdbms/demo/demo_rdbms.mk buildocci EXE=occiuni1 OBJS=occiuni1.o
    make[1]: Entering directory `/home/sarvarian/OCCI/Sample'
    /usr/bin/g++ -c -I/home/oracle/oracle/product/10.2.0/client_2/rdbms/demo -I/home/oracle/oracle/product/10.2.0/client_2/rdbms/public -I/home/oracle/oracle/product/10.2.0/client_2/plsql/public -I/home/oracle/oracle/product/10.2.0/client_2/network/public occiuni1.cpp
    /usr/bin/g++ -L/home/oracle/oracle/product/10.2.0/client_2/lib/ -L/home/oracle/oracle/product/10.2.0/client_2/rdbms/lib/ -o occiuni1 occiuni1.o -locci -lclntsh `cat /home/oracle/oracle/product/10.2.0/client_2/lib/sysliblist` -ldl -lm
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE7replaceEN9__gnu_cxx17__normal_iteratorIPtS2_EES6_jt+0xca): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::replace(__gnu_cxx::__normal_iterator<unsigned short*, std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> > >, __gnu_cxx::__normal_iterator<unsigned short*, std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> > >, unsigned, unsigned short)':
    : undefined reference to `std::char_traits<unsigned short>::assign(unsigned short*, unsigned, unsigned short)'
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE13_S_copy_charsEPtPKtS5_+0x22): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::_S_copy_chars(unsigned short*, unsigned short const*, unsigned short const*)':
    : undefined reference to `std::char_traits<unsigned short>::copy(unsigned short*, unsigned short const*, unsigned)'
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE9_M_mutateEjjj+0x143): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::_M_mutate(unsigned, unsigned, unsigned)':
    : undefined reference to `std::char_traits<unsigned short>::copy(unsigned short*, unsigned short const*, unsigned)'
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE9_M_mutateEjjj+0x17a): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::_M_mutate(unsigned, unsigned, unsigned)':
    : undefined reference to `std::char_traits<unsigned short>::copy(unsigned short*, unsigned short const*, unsigned)'
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE9_M_mutateEjjj+0x270): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::_M_mutate(unsigned, unsigned, unsigned)':
    : undefined reference to `std::char_traits<unsigned short>::move(unsigned short*, unsigned short const*, unsigned)'
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE4_Rep8_M_cloneERKS1_j+0xb9): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::_Rep::_M_clone(std::allocator<unsigned short> const&, unsigned)':
    : undefined reference to `std::char_traits<unsigned short>::copy(unsigned short*, unsigned short const*, unsigned)'
    occiuni1.o(.gnu.linkonce.t._ZNSbItSt11char_traitsItESaItEE13_S_copy_charsEPtS3_S3_+0x22): In function `std::basic_string<unsigned short, std::char_traits<unsigned short>, std::allocator<unsigned short> >::_S_copy_chars(unsigned short*, unsigned short*, unsigned short*)':
    : undefined reference to `std::char_traits<unsigned short>::copy(unsigned short*, unsigned short const*, unsigned)'
    collect2: ld returned 1 exit status
    make[1]: * [buildocci] Error 1

    10.2 OCCI libraries are built using gcc323.
    What version of gcc are you using ?

  • Precompiler of PRO*C giving error when compiling a RFC  interface program.

    Hello ,
    We are on HPUX11   ORACLE
    Pro*C/C++: Release 10.2.0.4.0 -
    rfcsdk library 6.40
    The  main RFC program has not been changed  which is getting compiled with the older libraries
    The make file is given below
    Makefile For SFA :
    Variables
    TUX_INC=$/include
    ORA_INC=$/precomp/public
    RDBMS_INC=$/rdbms/public
    PLSQL_INC=$/plsql/public
    #RFC_INC=/home/psoni/TUX10gR3/application/cls/orgseclib
    RFC_INC=/home/psoni/TUX10gR3/application/cp/include
    RFC_INC1=/home/psoni/TUX10gR3/application/cp/lib
    HEADER_FILE=/home/psoni/TUX10gR3/application/cp/HEADER_FILE
    ORALIBS=\
    -lsql -lsqlnet -lncr -lsqlnet -lclient -lcommon   \
    -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon  \
    -lgeneric -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3  \
    -lcore3 -lnlsrtl3
    Makefile Objects
    TAR_SBACK=CRMtoE2
    SRC_SBACK=MScpCRMtoE2.pc
    CSRC_SBACK=$(SRC_SBACK:.pc=.c)
    COBJ_SBACK=$(CSRC_SBACK:.c=.o)
    CLIS_SBACK=$(CSRC_SBACK:.pc=.lis)
    SFA_LIB=/home/psoni/TUX10gR3/application/cp/lib/sfalib.o
    .SUFFIXES: .pc
    .pc.c:
                    @echo   "Pro*C/C++ $<:"
                    @proc   INCLUDE=$      \
                    INCLUDE=$            \
                    INCLUDE=$            \
                    INCLUDE=$              \
                    INCLUDE=$              \
                    INCLUDE=$              \
                    INCLUDE=/home/psoni/TUX10gR3/application/cp/HEADER_FILE \
                    USERID=$\
                    DBMS=v7  
                    CODE=ANSI_C                     \
                    MODE=ORACLE                     \
                    LINES=YES                       \
                    SQLCHECK=FULL                   \
                    UNSAFE_NULL=YES                 \
                    iname=MScpCRMtoE2.pc
    help:
            @echo ""
            @echo "Makefile For CP Application "
            @echo "----
            @echo ""
            @echo "CP : Price Condition Extraction- $(TAR_SBACK)"
            @echo ""
            @echo "clean: Clean Up Of Redundant Files"
            @echo ""
            @echo "For Using This Makefile Give Commands As:"
            @echo "make -f makefile.cond <Target Name From Above>"
            @echo ""
    @cc  $(RFC_OPTSC) -I$(ORA_INC)  -I$(RFC_INC)  -c $(CSRC_SBACK)
    sfa: $(SRC_SBACK) $(CSRC_SBACK)
            @cc  -o $(TAR_SBACK) $(CSRC_SBACK)  -L$(RFC_INC) -L$(RFC_INC1)  -l:librfccm.sl \
                    -L$(ORACLE_HOME)/lib  -lclntsh `cat $(ORACLE_HOME)/lib/sysliblist`  -lm -lpthread -lpthread
            @rm -f *.o 2> /dev/null
            @rm -f *.lis 2> /dev/null
            @strip $(TAR_SBACK)
            @echo "SFA Application Compiled"
    clean:
            @rm -f          \
            $(CSRC_SBACK)    $(COBJ_SBACK) $(CLIS_SBACK)
    This directory  /home/psoni/TUX10gR3/application/cp/include  has the following file
    rfc.ini    
    rfcsi.h    
    sapitab.h  
    saprfc.h   
    sapuc.h    
    sapucx.h   
    srfcserv.h 
    srfctest.h 
    trfcserv.h 
    trfctest.h
    This directory  /home/psoni/TUX10gR3/application/cp/lib has the following files
    librfc.a   
    librfccm.sl
    when we do the make then we get the following errors.
    the RFC program is  MScpCRMtoE2.pc  and there is no change in the code of this program
    whic is getting compiled with the old  rfc.
    Pro*C/C++ MScpCRMtoE2.pc:
    Pro*C/C++: Release 10.2.0.4.0 - Production on Wed May 27 12:59:58 2009
    Copyright (c) 1982, 2007, Oracle.  All rights reserved.
    System default option values taken from: /oracle/software/precomp/admin/pcscfg.cfg
    Syntax error at line 1039, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1039, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strcat)
    1
    PCC-S-02201, Encountered the symbol "strcat" when expecting one of the following
       ; , = ( [
    Syntax error at line 1046, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1046, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strchr)
    1
    PCC-S-02201, Encountered the symbol "strchr" when expecting one of the following
       ; , = ( [
    Syntax error at line 1052, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1052, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strcmp)
    1
    PCC-S-02201, Encountered the symbol "strcmp" when expecting one of the following
       ; , = ( [
    Syntax error at line 1058, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1058, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strcpy)
    1
    PCC-S-02201, Encountered the symbol "strlen" when expecting one of the following
       ; , = ( [
    Syntax error at line 1064, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1064, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strcspn)
    1
    PCC-S-02201, Encountered the symbol "strcspn" when expecting one of the followin
    g:
       ; , = ( [
    Syntax error at line 1070, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1070, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strdup)
    1
    PCC-S-02201, Encountered the symbol "strdup" when expecting one of the following
       ; , = ( [
    Syntax error at line 1077, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1077, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strlen)
    1
    PCC-S-02201, Encountered the symbol "strlen" when expecting one of the following
       ; , = ( [
    Syntax error at line 1083, column 1, file /home/psoni/TUX10gR3/application/cp/include/sapuc.h:
    Error at line 1083, column 1 in file /home/psoni/TUX10gR3/application/cp/include
    /sapuc.h
    SAP_U16_PROTOTYPE_STDC(strncat)
    1
    PCC-S-02201, Encountered the symbol "strncat" when expecting one of the followin
    g:
       ; , = ( [
    It would be great if any one can  give us directions to look into resolving the above problem.
    with regards
    Lakshman

    Try this makefile
    PROCPPFLAGS= SQLCHECK=SEMANTICS USERID=$(DATABASE) code=ansi_c mode=oracle threa
    ds=no hold_cursor=no sys_include='(/usr/lpp/xlC/include,/usr/include,/usr/local
    /lib/perl5/5.8.0/aix/CORE)' CHAR_MAP=STRING
    OTHER_H= -I. -I/usr/include -I/usr/stlinclude -I$(PRECOMPHOME)public -I$(RDBMSHO
    ME)public -I$(PLSQLHOME)public -I$(NETWORKHOME)public
    MAIN_EXEC = WSMPWorkAround
    DEBUG_EXEC = WSMPWorkAround_DBG
    OBJS = WSMPWorkAround.o \
    processWSMPWorkAround.o
    DEBUG_OBJS = WSMPWorkAroundDBG.o \
    processWSMPWorkAroundDBG.o
    # This is required to create the c code for the ProC program
    GEN_C = dbConnector.c
    all: $(MAIN_EXEC)
    debug: $(DEBUG_EXEC)
    include $(ORACLE_HOME)/precomp/lib/env_precomp.mk
    LIBDIR=lib32
    CC = xlc_r
    RM = /bin/rm -f
    STRIP = /usr/bin/strip
    OPTIMISATION = -O2
    #COMPILE_OPTS = -qdbxextra -qthreaded -qstaticinline -qstrict -D_THREAD_SA
    FE -D_REENTRANT
    COMPILE_OPTS = -qthreaded -q32 -qstaticinline -qinfo -qflag=I:E -qsource -
    D TRACE_ON -D_THREAD_SAFE -D_REENTRANT
    DEBUG_COMPILE_OPTS = -qthreaded -q32 -qstaticinline -g -qinfo -qflag=I:E -qsourc
    e -D_THREAD_SAFE -D_REENTRANT
    # Functions for processing
    processWSMPWorkAround.o: processWSMPWorkAround.c
    $(CC) $(COMPILE_OPTS) -c $(INCLUDE) processWSMPWorkAround.c
    processWSMPWorkAround.c: processWSMPWorkAround.pc
    $(PROC) $(PROCPPFLAGS) iname=processWSMPWorkAround oname=processWSMPWork
    Around.c
    # WSMP Work Around
    WSMPWorkAround: $(OBJS)
    # $(CC) $(COMPILE_OPTS) -o $(MAIN_EXEC) $(OBJS) -L$(LIBHOME) $(STATICPRO
    LDLIBS) $(AIXIMP) $(LDFLAGSLIST)
    $(CC) $(COMPILE_OPTS) $(OPTIMISATION) -o $(MAIN_EXEC) $(OBJS) -L$(LIBHO
    ME) $(STATICPROLDLIBS) $(AIXIMP) $(LDFLAGSLIST)
    $(STRIP) $(MAIN_EXEC)
    WSMPWorkAround.o: WSMPWorkAround.c
    $(CC) $(COMPILE_OPTS) -c $(INCLUDE) WSMPWorkAround.c
    clean:
    $(RM) $(MAIN_EXEC) $(OBJS) $(DEBUG_EXEC) $(DEBUG_OBJS) $(GEN_C) core *.l
    is *.lst

Maybe you are looking for