Forwarded Re: Quick external problem? 
Author Message
 Forwarded Re: Quick external problem?

[Forwarded by A.S. on account of mail->news relay problem.]

To: pop-forum

Hi all,

I've managed to narrow down my problem. It only occurs when I use two
pre-compiled libraries. Heres the egcs++ command I use to link the
object files...

egcs++ -shared
-L/home/mhl/rti/RTI-1.3NGv6/Linux-rh62-i386-egcs-2.91.66-opt-mt/lib
-L/usr/i386-glibc21-linux external.o -o external.so -lRTI-NG -lfedtime
-lpthread -lrt -ldl

If I remove -lRTI-NG and -lfedtime the ioctl problem stops, other
combinations of the libraries produce bad systems calls (causing poplog
to crash). Could this be due to the way these two libraries have been
compiled?? Any ideas would be appreciated.

Sorry I can't be anymore specific, the libraries are part of the USDoD
RTI software and so I don't have (and can't get) source.

Cheers

Quote:

> Hi all,

> I have managed to get external load to work for previous .so files. The
> .so file I'm trying to load now consists of the three C files compiled
> against other libraries. I was hoping that I was missing something
> obvious when trying to load.

> Normally if there is an error in the .so file ie. headers don't match up
>  then it will specify which values/symbols it can't match. In the
> current example poplog fails to find any of the symbols, which is why I
> suspect it to be something to do with the way I'm loading the file??

> One interesting point which I have just come across is if I have
> mismatched one of the headers in the poplog file to the header in the
> .so file. The first time I compile the poplog file it complains about
> all the symbols/values ie. it can't find any of the functions. The
> second time I compile the file (in the same pop session) it only
> complains about the mismatched header??

> As a consequence I've noticed (with the mismatched header fixed) the
> file doesn't complain the second time I load??

> I've included a sample of the error messages below...

> The first time I compile (in Xemacs) I get something like,...

> : ;;; Compiling buffer rti.p
> ;;; Warning: can't open shared object rti.so
> ;;;     (Inappropriate ioctl for device)
> ;;; Error: can't find value for symbol getAttributeHandle
> ;;; Error: can't find value for symbol getAttributeName
> ;;; Error: can't find value for symbol getObjectClassName
> ;;; Error: can't find value for symbol getObjectClassHandle
> ;;; Error: can't find value for symbol enableTimeRegulation
> ;;; Error: can't find value for symbol
> attributeOwnershipAcquisitionIfAvailable
> ;;; Error: can't find value for symbol
> unconditionalAttributeOwnershipDivesture
> ;;; Error: can't find value for symbol requestObjectAttributeValueUpdate
> ;;; Error: can't find value for symbol requestClassAttributeValueUpdate
> ;;; Error: can't find value for symbol deleteObjectInstance
> ;;; Error: can't find value for symbol updateAttributeValues
> ;;; Error: can't find value for symbol registerObjectInstance
> ;;; Error: can't find value for symbol subscribeObjectClassAttributes
> ;;; Error: can't find value for symbol publishObjectClass
> ;;; Error: can't find value for symbol resignFederationExecution
> ;;; Error: can't find value for symbol joinFederationExecution
> ;;; Error: can't find value for symbol destroyFederationExecution
> ;;; Error: can't find value for symbol createFederationExecution

> ;;; MISHAP - ERRORS ACCESSING EXTERNAL SYMBOLS (see above)
> ;;; FILE     :  /tmp/emacsxaF_9t   LINE NUMBER:  432
> ;;; DOING    :  external_do_load exload_do_batch_load external
> pop_setpop_comp
> ;;;     iler

> The second time with one function renamed ('t' missing),...

> : ;;; Compiling buffer rti.p
> ;;; Error: can't find value for symbol geAttributeHandle

> ;;; MISHAP - ERRORS ACCESSING EXTERNAL SYMBOLS (see above)
> ;;; FILE     :  /tmp/emacsxaFtFL   LINE NUMBER:  432
> ;;; DOING    :  external_do_load exload_do_batch_load external
> pop_setpop_compiler

> If the 't' isn't missing then the second time I compile I get no errors?
> I've added a simple function into the .so file to test if the functions
> work after the second compile and they do work?!

> However if I add a printf statement to this simple test function I get a
> stack error...

> ;;; MISHAP - ste: STACK EMPTY (missing argument? missing result?)
> ;;; DOING    :  new_pop_ext_call pop_setpop_compiler

> I know I had 'printf' and 'cout' statements in my original simple
> example any ideas why it doesn't like them now?

> Cheers

> Mike


>> I have just noticed that the examples in REF external
>> use "exload".

>> Have you tried that? Do those examples work?

>> Is your .so file produced from a C program?

>> Aaron

--
Mike


http://www.*-*-*.com/ ~mhl/
====
Aaron Sloman, ( http://www.*-*-*.com/ ~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK

PAPERS: http://www.*-*-*.com/ (And free book on Philosophy of AI)
FREE TOOLS: http://www.*-*-*.com/



Sun, 16 Jan 2005 18:25:31 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. Forwarded Re: Quick external problem?

2. Forwarded Re: Quick external problem?

3. Quick external problem?

4. External syncing of Quick Time

5. Forward reference problem

6. Forward reference problem

7. Forwarded (Matthias Scheutz) Re: Sockets problem

8. Forwarded: Still Windows problems with popautolib?

9. Forwarded:Poplog installation problem

10. Problem with using method_missing to forward messages

11. Problem doing forward-chaining / findall

12. Bug report (Tk4.0b4): search forward problem in text widgets

 

 
Powered by phpBB® Forum Software