public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Eljay Love-Jensen <eljay@adobe.com>
To: kirill_pekarov <kirill_pekarov@valentina-db.com>,
	        GCC-help <gcc-help@gcc.gnu.org>
Subject: Re: Lazy linking.
Date: Wed, 13 Aug 2008 20:26:00 -0000	[thread overview]
Message-ID: <C4C8A6E1.7CEC%eljay@adobe.com> (raw)
In-Reply-To: <1266807070.20080813224632@valentina-db.com>

Hi Kirill,

It appears that somewhere in your link line, you've made a SSO dependency on
the DLL you wanted to be DSO (via dlopen).

That SSO dependency may be direct (executable directly has SSO dependency on
the DLL) or indirect (some direct SSO itself has a SSO dependency on the
DLL).

Use the ldd command to see the SSO dependencies of your executable.

HTH,
--Eljay

SSO - static shared object
DSO - dynamic shared object
DLL - dynamically loaded library (either SSO at load time, DSO via dlopen)
HTH - hope that helps


On 8/13/08 2:46 PM, "Kirill Pekarov" <kirill_pekarov@valentina-db.com>
wrote:

> Hi, All.
> 
> Please help me with lazy linking in the Linux.
> 
> I've ELF executable file with shared library.
> The executable load the shared using dlopen() when it need it. The executable
> also
> should work without this shared when the shared is absent, but here I've
> stuck. A whole day I can't resolve it.
> 
> When I run executable with absent shared library - I've error message
> at start: 
> "./myprog: error while loading shared libraries: libMyprog.so: Cannot open
> shared object file: No such file or directory".
> 
> The question is: What I should tell to the linker to avoid this message?
> The executable should work with shared and without it.
> man ld, info gcc and Mr. Google can't help me.
> 
> Thanks for any help!
> 
> Debian Etch. GCC 4.1.2
> 

  reply	other threads:[~2008-08-13 19:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-13 19:58 Kirill Pekarov
2008-08-13 20:26 ` Eljay Love-Jensen [this message]
2008-08-14 11:49   ` Re[2]: " Kirill Pekarov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C4C8A6E1.7CEC%eljay@adobe.com \
    --to=eljay@adobe.com \
    --cc=gcc-help@gcc.gnu.org \
    --cc=kirill_pekarov@valentina-db.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).