Yate fails on the amd64 because -fPIC cflag is not envoked. I suggest it gets added to ensure cross platform compatability. Reproducible: Always Steps to Reproduce: 1. 2. 3. Expected Results: Compile
So what ebuild are you talking about; yate or gsm?
gsm
The change is applicable to the gsm ebuild
which version are you talking about? gsm-1.0.10 works fine here. also, please post your emerge --info
I assume its for all versions. gsm works fine without -fPIC but cannot be linked against from an x86_64 system. sudo emerge --info Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r10 x86_64) ================================================================= System uname: 2.6.12-gentoo-r10 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.6.13 distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.5-r2 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.blueyonder.co.uk ftp://ftp.gentoo.mesh-solutions.com/gentoo/ http://gentoo.mirror.icd.hu/ ftp://gentoo.blueyonder.co.uk/mirrors/gentoo http://gentoo.seren.com/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X aac alsa apache2 avi bash-completion berkdb bitmap-fonts browserplugin bzip2 bzlib calendar cdb cdda cddb cdparanoia cdr clamav clamd cpudetection crypt css cups curl dbase directfb doc dvd dvdr dvdread eds emboss encode esd examples exif fam firefox flac flash foomaticdb fortran gd gdbm gif gimpprint gkrellm gnome gphoto2 gpm gps gsm gstreamer gtk gtk2 httpd imagemagick imlib ipv6 java javacomm jpeg jpeg2k junit kde kerberos ldap libwww lm_sensors lzw lzw-tiff mad maildir mime motif mozilla mp3 mpeg mpeg4 mpi mplayer msn mysql ncurses nls nptl nvidia oav odbc offensive ogg oggvorbis opengl pam pdflib perl png posix ppds python qt quicktime readline real reiserfs samba scanner sdl sftp speex spell sqlite ssl tcltk tcpd tetex threads tiff transcode truetype truetype-fonts type1-fonts usb userlocales utf8 videos vorbis xgetdefault xine xml xml2 xmlrpc xmms xpm xprint xscreensaver xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Check out the following link for more info... http://dev.gentoo.org/~plasmaroo/devmanual//archs/amd64/
Considering that Simon wrote that part, I think he knows it. Can you paste the error log?
(In reply to comment #5) > I assume its for all versions. gsm works fine without -fPIC but cannot be linked > against from an x86_64 system. right, now i got what you wanted to say (In reply to comment #7) > Considering that Simon wrote that part, I think he knows it. One should think so, but who knows? ;)
Wayne: Please tell us which application does not link against gsm. Libraries w/o -fPIC are totally fine as long as they are static (which is true for media-sound/gsm), so in this case the application you're trying to compile is bogus. NEEDINFO
As previously stated I'm trying to compile Yate 0.9.0. The following are the errors that I receive. /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../lib64/libgsm.a(code.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../lib64/libgsm.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[1]: *** [gsmcodec.yate] Error 1 make[1]: *** Waiting for unfinished jobs.... make -C ./test all These errors are fixed by recompiling gsm with -FPIC.
I've tried to fix gsm in the past, but there's no way to do so. AMD64, please check if yate needs gsmlib and fails for PIC, it should be -amd64 instead. gsm is dead upstream.
use flag is masked now, consider this fixed
*** Bug 187359 has been marked as a duplicate of this bug. ***