Summary: | media-video/vlc-1.0.1 fails to build with relocation error | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Thomas Capricelli <orzel> |
Component: | Current packages | Assignee: | Alexis Ballier <aballier> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | antogerva, cweiske, media-video |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
config.log |
Description
Thomas Capricelli
2009-08-18 20:13:43 UTC
the faulty command is a few lines above what you posted; please attach the full build log and the config.log Created attachment 201711 [details]
build.log
Oops.. sorry for this, here they are
Created attachment 201712 [details]
config.log
and here's the config.log
That's weird, the object that its ranting about is built with PIC so this shouldn't happen. What's the output of: emerge -pv sys-devel/gcc sys-devel/binutils These are the packages that would be merged, in order: this is it : (i've unmasked gcc-4.4.1) Calculating dependencies... done! [ebuild R ] sys-devel/binutils-2.19.1-r1 USE="nls -gold -multislot -multitarget -test -vanilla" 0 kB [ebuild R ] sys-devel/gcc-4.4.1 USE="fortran gtk mudflap (multilib) nls nptl objc objc++ openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -graphite (-hardened) -ip28 -ip32r10k -libffi -multislot (-n32) (-n64) -nocxx -objc-gc -test -vanilla" 0 kB Total: 2 packages (2 reinstalls), Size of downloads: 0 kB I've more or less the same setup but can't trigger the error :( Can you check if: - -march=athlon64 instead of -march=native triggers it too - vlc-1.0.9999 and vlc-9999 still fail to build? march=athlon64 instead of -march=native triggers it too -----> yes, same problem I'm on to try live ebuilds (btw, i can be found as 'orzel' on irc if that can help) same problem with vlc-1.0.9999 and exact same problem with vlc-9999 i'v tried to re-install freetype, just in case, but that does not fix the problem. I've tried using gcc 4.3 instead, doesn't work neither. mm, anyway this is not a problem with a dependency. This function is inside vlc source: vlc-1.0.1/modules/misc/freetype.c if i touch this file and do 'make' then i see libtool: compile: x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DSYS_LINUX -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__LIBVLC__ -D__PLUGIN__ -I/usr/include/freetype2 -I/usr/include/fribidi -DHAVE_FRIBIDI -DMODULE_NAME=freetype -DMODULE_NAME_IS_freetype -DMODULE_STRING=\"freetype\" -O0 -march=native -pipe -msse3 -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -Werror-implicit-function-declaration -MT libfreetype_plugin_la-freetype.lo -MD -MP -MF .deps/libfreetype_plugin_la-freetype.Tpo -c freetype.c -fPIC -DPIC -o .libs/libfreetype_plugin_la-freetype.o so indeed this file is compiled with PIC... the.o should contain the symbol, but indeed has a undefined symbol.. this is not right : #berlioz misc # nm .libs/libfreetype_plugin_la-freetype.o | grep GetStyleFromFont U GetStyleFromFontStack the function is inside a #ifdef FONTCONFIG and i have : berlioz misc # grep HAVE_FONTCONFIG ../../config.h /* #undef HAVE_FONTCONFIG_FONTCONFIG_H */ that's the reason for failure. the reason is that configure was started with --without-fontconfig : i missed the 'fontconfig' use flag, though i have the freetype one. I think there is a bug in vlc that if compiled with freetype but without fontconfig, then if fails to build. I would recommend the gentoo ebuild to take this into account when dealing with use flag. i confirm that adding the fontconfig use flag was the definite solution to this problem. I let you decide whether or not a workaround should be added to the ebuild and close this bug or not according tot this. greatings. I can confirm this bug with vlc 1.0.2. Enabling the fontconfig use flag fixed it for me. Ok i think i found the cause... indeed its caused by the #ifdef but at -O2 at least gcc performs dead code elimination, thus i couldn't reproduce it. At -O0 it wants the function which is never defined and then fail. For now, as a workaround you can build with -O2 in CFLAGS until it is fixed for real. *** Bug 285827 has been marked as a duplicate of this bug. *** fixed in 1.0.2, thanks for reporting. |