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

Bug#578831: link failure with LTO: “invalid DSO for symbol `pthread_cancel@@GLIBC_2.0' definition”



On Fri, Apr 23, 2010 at 08:41:53AM +0200, Vincent Danjean wrote:
> Please, look at #577961. It seems to me that this is the same bug (and
> now, I think the bug belong to gcc-4.5)

OK, adding -lpthread makes the error go away. Now let me try adding
-fwhole-program to the link (which is the point of the LTO exercise :-) ):

  g++-4.5 -o intro script/engine.o script/progressbar.o mumps/mumps_glx.o engine/fbo_rtt.o mumps/XF86VMode.o script.o -flto -lpthread -fwhole-program -fno-exceptions -Wl,--gc-sections -lGL -lGLU  -L/usr/X11R6/lib -lXext -lX11 -lfreetype -lz -Wl,--start-group engine/engine.a texgen/texgen.a meshgen/meshgen.a common/common.a effects/effects.a script/script.a sanestation/libsanestation.a -Wl,--end-group
  script/script.a(curve.o): In function `_ZN6script5Curve13make_tangentsEv':
  curve.cpp:(.text._ZN6script5Curve13make_tangentsEv+0x391): undefined reference to `_ZN6script6engine13get_num_paramENS_5Curve8knottypeE'
  script/script.a(curve.o): In function `_ZN6script5Curve9get_valueEfPf':
  curve.cpp:(.text._ZN6script5Curve9get_valueEfPf+0x1d6): undefined reference to `_ZN6script6engine7targetsE'
  curve.cpp:(.text._ZN6script5Curve9get_valueEfPf+0x1e6): undefined reference to `_ZN6script6engine8texturesE'
  curve.cpp:(.text._ZN6script5Curve9get_valueEfPf+0x214): undefined reference to `_ZN6script6engine6meshesE'
  curve.cpp:(.text._ZN6script5Curve9get_valueEfPf+0x23f): undefined reference to `_ZN6script6engine9materialsE'
  curve.cpp:(.text._ZN6script5Curve9get_valueEfPf+0x253): undefined reference to `_ZN6script6engine13get_num_paramENS_5Curve8knottypeE'
  collect2: ld returned 1 exit status
  make: *** [intro] Error 1

It's actually a bit curious the missing symbols don't even get demangled.

/* Steinar */
-- 
Homepage: http://www.sesse.net/



Reply to: