Please take our Survey
logo       

Choosing A Webhost:
A web hosting service is a type of Internet hosting service that allows individuals and organizations to provide their own website accessible via the World Wide Web. Web hosts are companies that provide space on a server they own for use by their clients as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for servers they do not own to be located in their data center, called colocation. more...

how do you link to a different lib location at run time?: msg#00012

Subject: how do you link to a different lib location at run time?
  (hoping this is the appropriate forum for this.)

  i have a project that involves

  1) creating some shared libs in a temporary location
  2) compiling some executables which will link to those libs
     at run time

however, once the above is done, both the executables and the shared
libs will be installed on a totally separate system, in different
locations.  what i want to do is do the "gcc" build of the executables
against the shared libs in their temp location on the build system:

 $ gcc ... -L/temp-dir -llib1 -llib2    # and so on

but when all of the above is moved to the new system, the run-time
linker should use the new location for searching for the shared libs.

  if i call the old and new library locations "/old" and "/new"
respectively, one option is to compile the programs with:

  $ gcc ... -Wl,-R /new -L/old -llib1 -llib2

so the compile will use the current location for library search, but
will embed the rpath value of "/new" in the executable for the new
system.

  however, if i do it this way, it turns out that gcc *demands* that
that new directory exist on the current (build) system.  it doesn't
have to *contain* anything, it just has to exist, and i'd like to
avoid having to create the directory "/new" on the build system if i
could.

  other options include working with /etc/ld.so.conf on the new
system, of course, or using LD_LIBRARY_PATH (although there are
numerous online essays about why this is a bad idea.)

  what's the standard way to do this?  thanks.

rday



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
qnx.openqnx.dev...    gcc.libstdc++.c...    solaris.opensol...    information-ret...    misc.misterhous...    web.catalyst.ge...    apache.webservi...    redhat.release....    hardware.lirc/2...    kernel.autofs/2...    technology.sust...    linux.vdr/2003-...    editors.lyx.gen...    org.user-groups...    netbsd.devel.pk...    xdg.devel/2004-...    version-control...    jakarta.slide.d...    debian.packages...    creativecommons...    ports.ppc.embed...    bug-tracking.bu...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe