×

Discussion Board

Results 1 to 5 of 5

Hybrid View

  1. #1
    Registered User
    Join Date
    May 2011
    Posts
    12

    Exclamation Failed to start process after linking with a shared library

    Hi,

    I encountered this problem after trying to link my app with an external dll library. The dll libray build and works fine on desktop build. However, on Symbian it builds fine and links successfully with my app but when I try to run the app on my Nokia N8 I get the following error:

    Failed to start process: 'Failed to create the process (verify that the executable and all required DLLs have been transferred) (permission denied)' Code: -46

    I also checked the pkg file and exctracted the sis file contents and found out that the external dll is there.

    Any idea what I missed?

  2. #2
    Registered User
    Join Date
    May 2011
    Posts
    12

    Re: Failed to start process after linking with a shared library

    I just checked the 'sys\bin' contents on my SD card. Both, exe and dll files are there.

    Why is there a "permission denied" error?

  3. #3
    Regular Contributor
    Join Date
    Oct 2008
    Location
    Oslo, Norway
    Posts
    329

    Re: Failed to start process after linking with a shared library

    Quote Originally Posted by mohs3nmo View Post
    Why is there a "permission denied" error?
    Most likely there's a platform security capability mismatch between the DLL and the loading process. In Symbian, a DLL needs to have at least the same capability set as the process that tries to load it. What TARGET.CAPABILITY have you defined for them, both the app and the DLL?

  4. #4
    Registered User
    Join Date
    May 2011
    Posts
    12

    Re: Failed to start process after linking with a shared library

    Thanks, that solved the problem. But what happens if I don't have any control over the TARGET.CAPABILITY of the DLL? Does the DLL need to have exact same capabilities of the process?

  5. #5
    Regular Contributor
    Join Date
    Oct 2008
    Location
    Oslo, Norway
    Posts
    329

    Re: Failed to start process after linking with a shared library

    Quote Originally Posted by mohs3nmo View Post
    Thanks, that solved the problem. But what happens if I don't have any control over the TARGET.CAPABILITY of the DLL? Does the DLL need to have exact same capabilities of the process?
    No. The capabilities of the DLL must be a superset of those in the loading process, that is, it must have at least all the capabilities that the loading process has, but it can have more. In practice, this means that if you want to make certain any client can load your DLL, it needs to have ALL (typically, ALL -TCB) capabilities even though they would not be needed for the functionality provided by the DLL. This is because the DLL cannot know the capabilities of the client beforehand.

    Distributing DLLs with an extensive capability set does mean more red tape, of course, as the sensitive capabilities need to be separately approved.

Similar Threads

  1. Help ! "Failed to load the JNI shared library"
    By kalpspugaz in forum Mobile Java Tools & SDKs
    Replies: 3
    Last Post: 2013-04-06, 02:39
  2. Using shared library -can`t find a source file
    By ugurix in forum Symbian C++
    Replies: 1
    Last Post: 2010-12-13, 16:47
  3. Deploying as shared library under windows
    By snehasishkumar in forum Qt
    Replies: 0
    Last Post: 2010-06-13, 14:35
  4. shared library in 3rd edition
    By can_bal99 in forum Symbian C++
    Replies: 2
    Last Post: 2007-11-20, 10:22

Posting Permissions

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