RE: prefer static linking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Following the chain and playing around with the makefile has yielded the
following, judicious use of both -Bdynamic and -Bstatic in front of the
different -l statements does in fact change the behavior of the linker
so that the desired outcome is achieved. Thank you both for your input.

Patrick Weaver
China Lake, CA
Voice: (760) 939-8744
Email: john.p.weaver(at)navy.mil

-----Original Message-----
From: Jonathan Wakely [mailto:jwakely.gcc@xxxxxxxxx] 
Sent: Tuesday, November 29, 2011 11:29
To: Weaver, John P CIV
Cc: gcc-help@xxxxxxxxxxx
Subject: Re: prefer static linking


On Nov 29, 2011 7:03 PM, "Weaver, John P CIV" wrote:
>
> The gcc compiler prefers to use dynamic libraries in the linking
phase.

GCC just calls the linker, any preference is the linker's.

For the GNU linker -Bdynamic and -Bstatic allow you to control whether
dynamic or static libraries are used for each lib named with -l 

See 'man ld'

-----Original Message-----
From: Ian Lance Taylor [mailto:iant@xxxxxxxxxx] 
Sent: Tuesday, November 29, 2011 11:21
To: Weaver, John P CIV
Cc: gcc-help@xxxxxxxxxxx
Subject: Re: prefer static linking

"Weaver, John P CIV" <john.p.weaver@xxxxxxxx> writes:

> The gcc compiler prefers to use dynamic libraries in the linking
> phase. When porting software from one machine to another it is
> frequently desirable to link to static libraries as much as possible
> to account for different versions of the libraries. The -static flag
> is useful when you do not need any dynamic library support but causes
> the linker to fail if there is only a dynamic library for a particular
> call. Is there a way to ask the linker to use static libraries when
> possible and report the dynamic libraries that are needed to complete
> the linking process?

I am not aware of any such option.

If you are using the GNU linker, you can tell it to prefer dynamic
libraries using -Bdynamic and tell it to use only static libraries using
-Bstatic, but I don't know of any option to tell it to prefer static
libraries but use dynamic libraries if they are available.

Ian



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux