Documentation Development GCC Tools Beat

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
Line 2: Line 2:
  
 
[[Features/ChangeInImplicitDSOLinking |Implicit DSO Linking ]]
 
[[Features/ChangeInImplicitDSOLinking |Implicit DSO Linking ]]
 +
Key points:
 +
# ld will no longer automatically search in the dependencies of linked objects.
 +
# If your project used both A and B, it will not compile unless A and B are both explicitly linked.
 +
# There are more explanations on the Features page.
 +
 +
Under the new changes, if your package fails ti build with a message like:
 +
 +
  /usr/bin/ld: gpx-parser.o: undefined reference to symbol 'acos@@GLIBC_2.0'
 +
  /usr/bin/ld: note: 'acos@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line
 +
 +
Then you the line that builds the specified .o needs to explicitly link libm.
 +
 +
More examples are [[UnderstandingDSOLinkChange |here]]
 +
  
 
<noinclude>[[Category:Release Notes]]<noinclude>
 
<noinclude>[[Category:Release Notes]]<noinclude>
 
[[Category:Documentation_beats]]
 
[[Category:Documentation_beats]]

Revision as of 17:12, 10 March 2010

Warning (medium size).png
F13
Beat owner should begin placing Fedora 13 content in this beat.

Implicit DSO Linking Key points:

  1. ld will no longer automatically search in the dependencies of linked objects.
  2. If your project used both A and B, it will not compile unless A and B are both explicitly linked.
  3. There are more explanations on the Features page.

Under the new changes, if your package fails ti build with a message like:

 /usr/bin/ld: gpx-parser.o: undefined reference to symbol 'acos@@GLIBC_2.0'
 /usr/bin/ld: note: 'acos@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line

Then you the line that builds the specified .o needs to explicitly link libm.

More examples are here