×

Discussion Board

Results 1 to 11 of 11
  1. #1
    Registered User
    Join Date
    Dec 2004
    Posts
    6

    "Not found" on target 9500

    Hello.

    I've built an application which runs perfectly on 9500 emulator, but fails to run on target saying "Not found" at once.

    It _does_ have:
    a) All needed resources, mbms and data files installed in right place
    b) All .dlls - I've checked that with self-built tool
    c) Correct UIDs everywhere

    Application doesn't event come up to the AppUi::ConstructL, that's for sure. I thought the problem is in libraries, but they all are present.

    How can I track what's going on over there? What's your opinion on this problem?

    Regards,
    Alex

  2. #2
    Nokia Developer Expert
    Join Date
    Apr 2003
    Location
    Finland
    Posts
    425
    Hello,

    Typically this happen if some needed dll file dosen't exists on the device. What you should do is try to find all dependant dll files. This is able to be done e.g. dependency walker of visual studio 6.0. Later you should check the target device have all these dll files. Ok this is able to be done by checking all LIBRARY statements from the mmp file too.

    This could also be caused by some other missing resource,...

    ...so maybe the easiest way to find solution is to eliminate libraries one by one and detect when applications is able to launch.

    Yes, it is not not easy to find what cause this :-(

    Br V

  3. #3
    Registered User
    Join Date
    Dec 2004
    Posts
    6
    Veskola, thanks for reply.

    I have checked the library files. I've taken all libraries from MMP and built a simple application which checks corresponding DLLs on z: and asked some of our beta-testers to run it. All libraries are present on target.

    However, it seems that eliminating libraries is the only way now to debug this prob.

    That's especially difficult without having the real 9500 here at the development desk

    Regards,
    Alex

  4. #4
    Nokia Developer Expert
    Join Date
    Apr 2003
    Location
    Finland
    Posts
    425
    >>That's especially difficult without having the real 9500 here at the development desk

    I really can believe this, hope you will soon get a device for testing purpose :-o

    My suggestion to use dependency walker is caused by the fact some libary (dll) could use some other missing dll file, and this is not documented anywhere. Dependency walker is able to show dependencies of dll files.

    One possibility comes to my mind. Duplicate uid's!!! Is it possible there is used this same uid on this device beforehand, and are this uid is really 'free' not used by manufacturer. In this case you can try to format device (clear c-drive) to get rid of unneeded uids.

    The system try to seek correspond resource with aid of uid and it can found the file from wrong location, from location of some other older application. This could cause not found too.

    Br V

  5. #5
    Registered User
    Join Date
    Dec 2004
    Posts
    6
    Yeah, I think I should use dependency walker. I'll try.

    There's absolutely no chance the problem is caused by the duplicate UIDs. I've taken the one generated by Symbian for us about two weeks ago and it is guaranteed to be unique.

    I'm aware of the problems could be caused by UIDs. I have some ER5 source code here from CD of one Symbian programming books and that's clearly visible over there how imporant these UIDs are. But that seem to be not my case.

    On symbian knowledgebase I've read that it is possible to track application loading via eshell.exe, which (hmm?) outputs tracing information when application starts. However I'm not sure if there is a eshell.exe on target 9500 and, moreover, even if it is, I doubt it outputs any debugging information.

    Regards,
    Alex

  6. #6
    Nokia Developer Expert
    Join Date
    Apr 2003
    Location
    Finland
    Posts
    425
    Unfortunately it is not able to trace launch of application :-( Let's hope it is just some silly missing dll, maybe some deprecated one and easy to maintain with a new one :-)

    Br V

  7. #7
    Registered User
    Join Date
    Dec 2004
    Posts
    6
    With your help I tried to analyze the missing dependencies on the target. The following DLLs are reported to be missing (to the right there are their dependency tree)

    - cflog.dll ->ETEL->ETELMM->GSMU->PHONECLIENT->PARSEPHONE->SKIN->UIKLAF->EIKCORE
    - comsdbgcutl.dll ->ETEL->ETELMM->GSMU->PHONECLIENT->PARSEPHONE->SKIN->UIKLAF->EIKCORE
    - comsdbgsvr ->ETEL->ETELMM->GSMU->PHONECLIENT->PARSEPHONE->SKIN->UIKLAF->EIKCORE

    - edisp.dll ->EWSRV->ECONS->EUSER
    - efile.dll ->EFSRV
    - ewsrv.dll ->ECONS->EUSER
    - mmfaudiopolicyproxy.dll ->MMFDEVSOUND->MEDIACLIENTAUDIO
    - randsrv.dll ->PBE->ESTOR

    Well, now it can be seen that even though these files are missing, they are "included" only by top-level DLLs which *are* present on target and none of which I may remove from the project.
    Hence it looks like all needed DLLs are also there. I'm afraid I'm totally lost

    Alex

  8. #8
    Nokia Developer Expert
    Join Date
    Apr 2003
    Location
    Finland
    Posts
    425
    Hello again :-)

    - cflog.dll ->ETEL->ETELMM->GSMU->PHONECLIENT->PARSEPHONE->SKIN->UIKLAF->EIKCORE

    I think this means you project uses cflog.dll which uses etel etc.

    If cflog.dll and yes it is missing from the target the application is not able to launch, or did i understand something wrong ?

    I find the cflog.dll from my wins build and I take a peek to it and it uses comsdbgutl.dll and euser.dll. Is it some dll needed by emulator, but why my application dosen't use it ? Have you the LIBRARY cflog.lib statement on your mmp file ?

    This is how i use dependency walker (DW): I copied my application binary (wins) to epoc32\release\wins\udeb. Launch DW and open my.app. It show all dll files (libraries) what i have include in the mmp file and in the same order. If one of these dll files are missing you are in trouble and need to find some other dll file.

    What is cflog.dll, google and forum dosen't give any hint :-(

    Br V

  9. #9
    Registered User
    Join Date
    Dec 2004
    Posts
    6
    Hi

    I use DW absolutely the same way. I've taken all the DLLs it generated and inserted it into the library checker - I think you remeber that app Sadly, DW works only with WINS binaries, whereas ARMI binaries may differ significantly in what's related to the full dependency tree of libraries.

    Of course I do not link directly none of "lost libraries". And I don't link that cflog.lib too. I think it is only for WINS build.
    The dependency I've pointed is in reverse direction. I.e. I link to EIKCORE.lib which itself uses UIKLAF, and that on - SKIN and so on.
    So I only link to the rightmost libraries in my hierarchies. Here's my mmp library list:

    LIBRARY euser.lib
    LIBRARY apparc.lib
    LIBRARY cone.lib
    LIBRARY eikcore.lib
    LIBRARY eikcoctl.lib
    LIBRARY commonengine.lib
    LIBRARY bafl.lib
    LIBRARY egul.lib
    LIBRARY ckndlg.lib
    LIBRARY ckncore.lib
    LIBRARY etext.lib
    LIBRARY eikctl.lib
    LIBRARY fbscli.lib
    LIBRARY form.lib
    LIBRARY eikdlg.lib
    LIBRARY cknctl.lib
    LIBRARY gdi.lib
    LIBRARY charconv.lib
    LIBRARY efsrv.lib
    LIBRARY insock.lib
    LIBRARY esock.lib
    LIBRARY estor.lib
    LIBRARY ws32.lib
    LIBRARY bitgdi.lib
    LIBRARY mediaclientaudio.lib
    LIBRARY hlplch.lib
    //LIBRARY eikfile.lib // I suspected this one
    LIBRARY mediaclientimage.lib
    LIBRARY ecam.lib
    LIBRARY securesocket.lib
    LIBRARY Etel3rdParty.lib

    I think there's nothing suspicious here.

    Please, advice me what to do, if you can.

  10. #10
    Nokia Developer Expert
    Join Date
    Apr 2003
    Location
    Finland
    Posts
    425
    Hi,

    Maybe we are totally on wrong way, Etel3rdParty.dll uses that missing cflog.dll but this really could be wins related issue.

    I think the only way to continue is to eliminate 6 last libraries one by one, and finally find out what the actual 'bad' library is. Maybe there is used some deprecated method, which is not available anymore, becase it is located in some missing dll.

    yeah guessing...but have a good and relaxing weekend.

    Br V

    P.S Here are the methods available from etel3rdparty.dll
    Defined in CTelephony:
    CancelEstablishDataCall(), CancelReceiveDataCall(), EstablishDataCall(), EstablishDataCall(), FindDeviceStatus(), NewL(), NewLC(), ReceiveDataCall(), ReceiveDataCall(), TerminateDataCall(), Version(), ~CTelephony()
    Check you are not using any other...e.g. wins only methods or kind.

  11. #11
    Registered User
    Join Date
    Dec 2004
    Posts
    6
    Hi again

    Thanks for reply!

    I'm using CTelephony::GetPhoneId(), I think it's available, isn't it?!
    Huh. If it is not, how do I get IMEI then. PLP is no longer supported.


    So to you, have a nice weekend

    Alex

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×