From Fedora Project Wiki

No edit summary
mNo edit summary
Line 8: Line 8:
Key points:
Key points:
# ld will no longer automatically search in the dependencies of linked objects.  
# 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.  
# If your project used both libraries A and B, it will not compile unless A and B are both explicitly linked.  
# There are more explanations on the Features page.
# There are more explanations on the Features page.


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


   /usr/bin/ld: gpx-parser.o: undefined reference to symbol 'acos@@GLIBC_2.0'
   /usr/bin/ld: gpx-parser.o: undefined reference to symbol 'acos@@GLIBC_2.0'

Revision as of 20:48, 12 March 2010

Warning.png
F13
Beat owner should begin placing Fedora 13 content in this beat.

Note: gcc has upgraded from 4.4.2 to 4.4.3 This includes gcc, gcc-c++, gcc-fortran, gcc-gnat, and gcc-objc.


Implicit DSO Linking Key points:

  1. ld will no longer automatically search in the dependencies of linked objects.
  2. If your project used both libraries 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 its 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