Public bug reported:

Binary package hint: gcc-4.6

cairo fails to build in oneiric, because linking with -flto results in
an undefined reference:

/bin/bash ../../libtool  --tag=CC   --mode=link gcc -D_REENTRANT   
-I/usr/include/pixman-1        -I/usr/include/freetype2   
-I/usr/include/libpng12             -Wall -Wextra -Wold-style-definition 
-Wdeclaration-after-statement -Wmissing-declarations 
-Werror-implicit-function-declaration -Wnested-externs -Wpointer-arith 
-Wwrite-strings -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes 
-Wpacked -Wswitch-enum -Wmissing-format-attribute -Wbad-function-cast 
-Wvolatile-register-var -Wstrict-aliasing=2 -Winit-self 
-Wunsafe-loop-optimizations -Wno-missing-field-initializers 
-Wno-unused-parameter -Wno-attributes -Wno-long-long -Winline -Wlogical-op 
-fno-strict-aliasing -fno-common -flto -Wp,-D_FORTIFY_SOURCE=2 
-DXCB_GENERIC_ERROR_HAS_MAJOR_MINOR_CODES                    -g -O2 -Wall -g 
-version-info 11002:2:11000 -no-undefined  -Wl,-Bsymbolic-functions -Wl,-z,defs 
-Wl,-O1 -Wl,--as-needed -o libcairo-script-interpreter.la -rpath 
/usr/lib/x86_64-linux-gnu libcairo_script_interpreter_la-cairo-script-file.lo 
libcairo_script_interpreter_la-cairo-script-hash.lo 
libcairo_script_interpreter_la-cairo-script-interpreter.lo 
libcairo_script_interpreter_la-cairo-script-objects.lo 
libcairo_script_interpreter_la-cairo-script-operators.lo 
libcairo_script_interpreter_la-cairo-script-scanner.lo 
libcairo_script_interpreter_la-cairo-script-stack.lo ../../src/libcairo.la 
-lpthread   -lpixman-1      -L/usr/lib/x86_64-linux-gnu -lfontconfig   
-L/usr/lib/x86_64-linux-gnu -lfreetype   -L/usr/lib/x86_64-linux-gnu -lpng12   
-L/usr/lib/x86_64-linux-gnu -lxcb-shm -lxcb   -L/usr/lib/x86_64-linux-gnu 
-lxcb-render -lxcb   -L/usr/lib/x86_64-linux-gnu -lXrender -lX11   
-L/usr/lib/x86_64-linux-gnu -lX11             -lz -lz         -lz -lm
libtool: link: gcc -shared  -fPIC -DPIC  
.libs/libcairo_script_interpreter_la-cairo-script-file.o 
.libs/libcairo_script_interpreter_la-cairo-script-hash.o 
.libs/libcairo_script_interpreter_la-cairo-script-interpreter.o 
.libs/libcairo_script_interpreter_la-cairo-script-objects.o 
.libs/libcairo_script_interpreter_la-cairo-script-operators.o 
.libs/libcairo_script_interpreter_la-cairo-script-scanner.o 
.libs/libcairo_script_interpreter_la-cairo-script-stack.o   -Wl,-rpath 
-Wl,/build/buildd/cairo-1.10.2/debian/build/main/src/.libs -Wl,--as-needed 
../../src/.libs/libcairo.so -lpthread -lpixman-1 -L/usr/lib/x86_64-linux-gnu 
-lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -lpng12 -lxcb-shm 
-lxcb-render -lxcb -lXrender -lX11 -lz -lm  -flto -O2 -Wl,-Bsymbolic-functions 
-Wl,-z -Wl,defs -Wl,-O1   -Wl,-soname -Wl,libcairo-script-interpreter.so.2 -o 
.libs/libcairo-script-interpreter.so.2.11000.2
/tmp/ccbzCZUW.ltrans11.ltrans.o: In function `_csi_parse_number':
ccbzCZUW.ltrans11.o:(.text+0x1074): undefined reference to `pow'
collect2: ld returned 1 exit status
/tmp/ccJCGA7g.ltrans11.ltrans.o: In function `_csi_parse_number':
ccJCGA7g.ltrans11.o:(.text+0x1074): undefined reference to `pow'
collect2: ld returned 1 exit status

https://launchpad.net/ubuntu/+source/cairo/1.10.2-2ubuntu3/+buildjob/2530315

Given that -lm is being explicitly passed, and pow is a symbol provided
by libm, that looks like a bug in gcc to me?

Running the same command without -flto works just fine.

** Affects: gcc-4.6 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/778292

Title:
  undefined reference to `pow' when building with -flto

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to