Clarification about linking order

We have Workshop 5.0 compiler on a 2.6
system. We are trying to create an executable linking
a few object files with some static libraries (*.a ) and
a few dynamic libraries(*.so). But, one particular
function definition, say func1 is available in lib1.a and
also in lib2.so. Is it possible to link the objects and
libraries in some particular manner to get the definition
of the function we want always.
What is the linking order if one wants to use
1. func1:lib1.a
2. func1:lib2.so
Will
ld obj.o -l1 -l2 yield the first
and
ld obj.o -l2 -l1 yield the second?

Thanks for the reply.
Yes, that is not our original question. Let me explain sitiation,
For our product we are using oracle 8.0.6.0.0 and xml parser down loaded (free ware provided by oracle, version -
Oracle XML Parser version 9.0.0.0.0A Beta)
We are using libclntsh.so from oracle libraries and libraries libcore9.a libnls9.a libunls9.a libxml9.a from
xml parser. Some of the symbols are common to both xml libraries and oracle library.
For eg., sltstan is defined in libclntsh.so and libcore9.a, and
lxplget is defined in libclntsh.so and libnls9.a
Our linking order to create application is as follows,
-l(our_app_libs) -lclntsh -lxml9 -lclntsh -lnls9 -lcore9 -lclntsh -lnls9 -lclntsh -lcore9 -lclntsh -lnls9 -lclntsh
-lcore9 -lclntsh
This linking order is dumping core in our application. (Due to segmentation fault)
The stack trace shows that, core dump happening in sltstan function.
However order we changed result is the same. So we converted all .a's of xml libs to .so 's . We used the same
linking order, but now application is dumping core due to bus error.
Stack trace shows bus error happening in lxplget function.
After analysing it is found that,
The calls from oracle libraries (which are common to both) is being picked up from xml libraries and calls
from xml libraries(which are common to both) is picking up from oracle library.
Now the question is,
Is there any mechanism to tell the linker to pick up calls (references) from the same library?
As a workaround, we created the symbolic library for xml libraries using option -B symbolic
(while creating symbolic library, since xml libraries calling system calls like socket related call, those symbols
are shown as undefined reference. So we added all system libraries which have been referenced).
This has resolved our problem.
Now my question is,
whether above method is acceptable from support point of view? (from oracle).
Thanks and Regards
lokeshms

Similar Messages

  • Clarification about  Database_Buffer_cache workings

    Hi All,
    Clarification about Database_Buffer_cache workings:(This statement from my course material)
    *1.The information read from disk is read a block at a time,not a row at a time,because a database block*
    is the smallest addressable storage space on disk.
    Before answering, my please check whether my above statement is correct or not,becoz i get this from My course material.
    If i am querying ,
    select * from emp;
    Whether server_process bring the whole block belongs to EMP table right or it just bring the table itself?
    Thank you,
    Regards,
    DB
    Edited by: DB on May 30, 2013 3:19 PM
    Edited by: DB on May 30, 2013 4:35 PM

    Both happens, the LGWR may call the DBWR to write dirty blocks from the buffer cache to disk. Dirty in this context means, that the blocks in the buffer cache have been modified and not yet written to disk, i.e. their content differs from the on disk image. Conversely the DBWR can also call LGWR to write redo records from the redo log buffers (in memory) to the redo log files on disk.
    To understand why both is possible, you need to understand the mechanics how Oracle does recovery, in particular REDO and UNDO and how they play together. The excellent book "Oracle Core" from Jonathan Lewis describes this in detail.
    I'll try to sketch each of the two cases. I am aware that this is only an overview which leaves out many details. For a complete description please look at the various Oracle books and documentation that cover this topic.
    1. LGWR posts DBWR to write blocks to disk
    As you probably know, any modifications done by DML (which modify data blocks) are recorded in the redo. In case of recovery this redo can be used to bring the data blocks to the last committed stated before failure by re-applying modifications that are recorded in the redo. Redo is written into redo log files and the redo log files are used in a round robin fashion. As the log files are used in a round robin fashion, old redo data is overwritten at some point in time - thus the corresponding redo records are not longer available in a recovery scenario (they may be in the archived redo logs, which may however not exist if your database runs in NOARCHIVELOG mode and even if your database runs in ARCHIVELOG mode, the archived redo log files may not be accessible to the instance without manual intervention by the DBA).
    So before overwriting a redo log file, the Oracle instance must ensure, that the redo records being overwritten will not be used in a potential instance recovery (which the instance is supposed to do automatically, without any action by the DBA, after instance failure, e.g. due to a power outage). The way to ensure this is to have the DBWR write all modifications to disk that are protected by the redo records being overwritten (i.e. all data blocks where the first modification that has not yet been written to disk is older than a certain time) - this is called a "Thread checkpoint".
    2. DBWR posts LGWR to write redo records to disk
    Oracle uses a write ahead protocol (see http://en.wikipedia.org/wiki/Write-ahead_logging and Write Ahead Logging.... This means, that for any modification the corresponding redo records must been written to disk before the actual modification to the data blocks is written to disk (into the data files). The purpose of this I believe is, to ensure that for any data block modification that makes it to disk, the corresponding UNDO information can be restored (from redo) in case of recovery, in order to reverse uncommitted changes in a recovery scenario.
    Before writing a data block to disk, the DBWR must thus make sure, that all redo for modifications affecting this block has already been written to disk by the LGWR. If this is not the case, the DBWR will post the LGWR and only write the data block to the datafile once the redo has been written to the redo log file by LGWR.

  • Question about the order to creating Account, Contact, Contact Role

    Hi, my friends,
    I have some questions about the order of creating Account, Contact, Contact Role, etc in Web Service 1.0. I could create them in the following case:
    1. Insert Contact object and get contactId (now new contact exists in CRMOD)
    2. Insert Account object with Contact Role child associated with contactId
    My questions are:
    1. Do we have the following order? Insert new Account with new Contact child and Contact Role child (Contact is new and does not exist in CRMOD).
    2. Looks like system need accountId, contactId, etc to make the objects relationship. Is there other field having the same function?
    Thanks
    Ray

    Hi Ray,
    In response to your questions:
    1. Do we have the following order? Insert new Account with new Contact child and Contact Role child (Contact is new and does not exist in CRMOD).No. Both the Account and Contact must already exist. The Role value is an attribute on the Account Contact relationship, this relationship must exist in order to assign a role value to it. This is consistent with the behaviour of the UI, when you press the New button on the Contact child applet, you are taken to the Contact New page where you can create a Contact record. Once you save, the relationship is created but you cannot assign a role value unless you click the Edit Roles link next to the new Contact.
    2. Looks like system need accountId, contactId, etc to make the objects relationship. Is there other field having the same function?Correct, the system needs to know which Account/Contact pair is being assigned a role value. To do this the Account and Contact values must be uniquely identified using the Id values for each.
    I hope this helps.
    Thanks,
    Sean
    Edited by: Sean Duffy on Jan 25, 2010 10:11 AM

  • How do i go about linking 2 laptops 3 ipads using the same itunes and to stream all films and music

    how do i go about linking 2 laptops, 3 ipads using the same itunes and to stream all films and music through the house.

    make sure they are all using the same itunes store account and turn on home sharing
    http://support.apple.com/kb/HT3819 - more info about home sharing
    -mvimp

  • Problem about sales order stock stock transfer and batch determination

    Hi, experts, I get a problem about sales order stock stock transfer and batch determination.The following is the current situation of my system:
      In OMCG I assigned search procedure ME0001 to both 311 and 311 E and ticked check batch. After that, I found  that if iI need to tranfer unrestricted-use material from storage location 1000 to 2000 with movement type 311, I just need to input * at the field batch, then the system will display all of the available batches. But for the transferring of sales order stock with movement type 311 E, after I input * at the batch field, no batch is displayed and there is also no message from the system.
      Can anybody help me? Is there anything else I need to do? Thanks very much.

    I think my question is not clear, actually I tried 562 E , 411 E and 413 already. all the transaction looking for the sales order but unfortunatly the sales order is deleted  from SAP.

  • HT1040 I am just about to order a 92 page book in Aperture and have previewed the order and found that in the PFD file I get all the pages are now different. Double page spreads are now on 2 different pages when viewed in 2 up continuous mode in Adobe Rea

    I am just about to order quite an expensive 92 page large size  book in Aperture & have used the Preview button and on viewing the book in the PDF using the 2 up continuous viewing mode  I find that the page arrangement is all wrong with double page spreads now on separate pages and all my carefully designed pages in the wrong places. Will the book actually get printed like this? Regards,Keith

    How did you create the preview of the book? It will look exactly like shown, when you press "Buy Book", then "Preview Book". This will open the Preview of you book in the "Preview" application. Set this to "Two-page mode". Then you should be able to see your double page spreads correctly, like here:
    Regards
    Léonie

  • Is there any standard report which give all info about purchase order.

    hi
    is there any standard report which give all information  about purchase order.
    i need following information from Purchase Order.
    Vendor No,  vendorname, PO No, basic     Excise      insurance     Frieght.
    Thanks.

    Hi,
    Following are reports for PO list.
    ME2C           Purchase Orders by Material Group  
    ME2J           Purchase Orders for Project        
    ME2K           Purch. Orders by Account Assignment
    ME2L           Purchase Orders by Vendor          
    ME2M           Purchase Orders by Material        
    ME2N           Purchase Orders by PO Number
    Message was edited by:
            Vigneswaran S

  • For...each...in loop.  Can I make assumptions about the order?

    I've always assumed that I can't make any assumptions about the order in which elements are indexed by a for...each...in loop.  Not even for a conventional indexed array.  (Emphasis!: I'm not talking about associative arrays here, I'm talking about normal indexed arrays.  Dense, no gaps.).
    for each (var element:ElementClass in myArray) {}
    May not traverse the array from first to last.  I've never assumed that it's guaranteed anyway.  Neither does the ECMA standard.  I assume the compiler/runtime is at liberty to index the array in any order, which may even be different each time. 
    Whereas... for (var i:int=0;i<myArray.length;i++) {......var element:ElementClass=myArray[i]....}
    ....Is guaranteed to traverse the array from first to last.  So I always use this looping statement if the ordering is important.
    MY QUESTION IS.... In ActionScript 3, Can I just assume that the for..each..in will always traverse a dense indexed array from first to last?
    Actually, my specific case at the moment is where another programmer is passing me an array,assembled within a for...each..in loop.   But I need to assume the order of that array.  If this is always going to work in ActionScript3, then no problem.  Although I'll continue to worry about the ECMA standard for my own code, and wont make assumptions about ordering - but I won't force my anal-retentive programming style on the other guy.

    I did a test on it
    case1:
    var arr:Array = new Array();
    arr[0] = 'a';
    arr[1] = 'b';
    arr[2] = 'c';
    arr[3] = 'd';
    for each(var arrEle:string in arr)
         trace(arrEle);
    always output a,b,c,d
    case2:
    var arr:Array = new Array();
    arr[6] = 'd';
    arr[0] = 'a';
    arr[1] = 'b';
    arr[3] = 'c';
    for each(var arrEle:string in arr)
         trace(arrEle);
    always output a,b,d,c
    so I assume array is created in this way: alloc a memory block for array first, when attaching new element(numeric indexd by i) to array, check if i >= length, put new element in the end of array, else put element at i; so in case 2, array is alloced in this way
    array:{'d'} //6>0
    array:{'a', 'd'} //0<1
    array:{'a', 'b', 'd'} //1<2
    array:{'a', 'b', 'd', 'c'} //3>=3
    disclaimer: totally assumption!!!

  • Information about DSO: Order Items (0SD_O01)

    Hello Experts!
    I have a little question about DSO Order Items (0SD_O01)
    and Info cube  Service Level: Order Items (0SD_C12).
    The DSO is provided from 2LIS_11_VAITM (Customer order)  and 2LIS_11_V_SSL (Delivery).
    My question now, how will the delivery data and the customer order data joined?
    Maybe someone can explain me the data flow up to info cube 0SD_C12.
    Thanks for your help!
    Best regards
    Florian

    For Deliveries in DSO 0SD_O01 a lot of Objects are not filled (like Material Customer...), that is ok because in data source deliveries are not such detailed information as in customer orders.
    But if I have a look in the Cube 0SD_C12 I all Info Objects are filled.
    So my Question, will the data joined together in the basis of Document number?
    Maybe you can explain a little bit.
    Thank you for your help!
    Best regards
    Florian
    Edited by: Florian Trütschel on May 20, 2009 6:13 PM

  • Explain me briefly about evaluation order.As per my knowledge it show data type order.but I have different data type in same diemension ex:account- acc_001 is smart list data type.account-ac_002 is percentage.So fot this i will accont dim in evaluation or

    Explain me briefly about evaluation order.As per my knowledge it show data type order.but I have different data type in same dimension ex:account->acc_001 is smart list data type.account-ac_002 is percentage.So fot this i will accont dim in evaluation order.What going can any one explaining brifly ?

    2786712 wrote:
    thanks John for reply.If you dont mine can you explain clearly with example and screenshot.
    @John: You got a task
    Here you go: Hyperion Planning and More...

  • Why haven't i received my confirmation e-mail about my order? I ordered yesterday afternoon.

    I ordered by phone yesterday afternoon and I have not received a confirmation e-mail about my order. I was just wondering when I would get one. I have a confirmation number and my order is in MyVerizon. Thanks.

    I had the same thing happen to me. I called verizon and they said that it is most likely due to the fact that there were so many pre-orders coming in that the system was just taking longer to process. My account wasn't charged until 9/13

  • About production order change historic records

    The users want to know about production order change historic records.how can I get it, please do me a favour. Thanks.

    Hello ,
    Look into:
    SAP NOTE: 1407961 and
    History of production order changes
    Please search the forum first for such questions.
    - Pushkar
    Edited by: Pushkar Patil on Aug 6, 2010 9:56 AM

  • Link order of libCrun and libthread

    If I quote the man page:
    -mt
    Ensures that, for standard mode (the default mode), libthread is linked before libCrun
    But when I run CC -mt -verbose=diags, the linking order looks like: -lCstd -lCrun -lm -lthread -lc
    Who is right?

    The man page is not correct. With past versions of Solaris, libthread must be linked after libCrun, as shown by the CC output.
    But in Solaris 10, the point is moot: libthread has no real contents, and the former contents are in libc, which is always linked.

  • Why do you need to go about linking to services-config.xml in your flex compiler

    Why do you need to go about linking to services-config.xml in
    your flex compiler when you want to do remoting. It just seems like
    a complicated way to do things.

    Yeah I find this perplexing as well. I'm guessing it has something to do with Opalis origins perhaps.
    Would be good to understand why.

  • How can I find out about an order?

    Hi I ordered a tablet on 06.08.15.Had an email saying order had been referred.I haven't heard anything since and I cannot ring customer services as I have no phone at the minute.Just worrying in case they have been trying to phone me about my order. What can I do?

    I know that. My post was to find out if there was another way of making contact as I CANNOT phone them.

Maybe you are looking for

  • **** ASSERTION FAILED **** Error while starting WebLogic Server 7.0

    Hi, I am getting following error while starting WebLogic Server 7.0 for the first time. Can anybody help me it this? Error is: ================================================== Enter username to boot WebLogic server:system Enter password to boot Web

  • Itunes not working when trying to sync ipad and iphone 4

    Hello I have been having a number of issues with itunes not working. When I try to sync my ipad or iphone 4 itunes locks up does not see my devices connected I have to reboot 5 times before I can get them to be seen in itunes. Also when I am able to

  • Why isnt this working urgent please help

    why isnt this working im trying to connect a panel to a scrollpane the panel will contain several dozen text fields the scrollpane shouls be about 350, 450 , but the pane is 350 by 1200 the problem now is that the scorllbar isnt created and even when

  • Is it possible to read a book from iBoooks app in a regular PC usinf Windows7 ?

    I downloaded the iBooks APP on to my iPod touch and downloaded a book in it ... Works just fine ...  But I would like to find a way to read that book on to my larger PC , that is using Windows 7 . Is it possible ?

  • Apple, what's with these garbage fans?

    Dear Apple, Let me say, i love your products. My macbook is great, fast, OS X is really smooth and crisp, and the ease of use and various features of the mac beat windows by a mile. With that said, i have to ask one thing: Why are the fans equipped w