dumb-bmp will not compile on amd64 with the default ebuild or default Makefile.inc, saying: bj/dumb-bmp.o: relocation R_X86_64_32 against `duh_ip' can not be used when making a shared object; recompile with -fPIC However, if the Makefile.inc file that comes in the package tarball source is edited so that -fPIC is added to the CFLAGS line, it will work and install fine on AMD64. Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r5 x86_64) ================================================================= System uname: 2.6.11-gentoo-r5 x86_64 AMD Athlon(tm) 64 Processor 3200+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 26 2005, 03:30:37)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-O3 -march=k8 -pipe -fweb -ftracer -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=k8 -pipe -fweb -ftracer -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="ftp://mirrors.tds.net/gentoo ftp://ftp.ndlug.nd.edu/pub/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acpi alsa berkdb bitmap-fonts cdr crypt cups curl dvd fam flac font-server foomaticdb fortran gif gnome gpm gstreamer gtk gtk2 hal imlib ipv6 java joystick jp2 jpeg lzw lzw-tiff mad mp3 ncurses nls nptl nptlonly oggvorbis opengl pam perl png ppds python readline spell ssl tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml2 xpm xprint xrandr xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
please provide a patch. simply adding -fPIC to cflags for everything isn't a solution, -fPIC should only be applied to shared objects
If adding -fPIC to the CFLAGS is not an acceptable solution, when compiling dumb-bmp on AMD64, then I have no idea how to get this working on AMD64.
well you have to stick -fPIC into the cflags, but only for shared objects -> you have to edit the (broken) makefile. i'm sorry to say this, but we have to priorize the packages that already are marked for amd64 and still have that issue. feel free to reopen with a patch
Created attachment 55231 [details, diff] patch to enable compilation with -fPIC
Since this ebuild simply compiles a single shared library "append-flags -fPIC" is an acceptable solution IMO.
ok, i've overseen that, sorry. patch is applied in CVS.