From Fedora Project Wiki

No edit summary
No edit summary
Line 18: Line 18:
   /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'
   /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
   /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 the line that builds the specified .o needs to explicitly link libm.
Then the line that builds the specified .o needs to explicitly link libm.

Revision as of 21:35, 12 March 2010

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

GCC upgraded in alpha

Note: gcc has upgraded from 4.4.2 to 4.4.3 This includes gcc, gcc-c++, gcc-fortran, gcc-gnat, and gcc-objc. GCC now uses DSO linking (Dynamic Shared Object linking)


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. here

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 the line that builds the specified .o needs to explicitly link libm.