Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 70334 - mjpegtools-1.6.2-r3 fails to compile on amd64
Summary: mjpegtools-1.6.2-r3 fails to compile on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-07 01:27 UTC by Paul Taylor
Modified: 2004-11-14 04:55 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Taylor 2004-11-07 01:27:54 UTC
After changing to the new 2004.3 AMD64 profile and finetuning my USE flags, mjpegtools-1.6.2-r3 no longer compiles.  The added flags appear to be dv and yv12:

# emerge -pv mjpegtools

These are the packages that I would merge, in order:

Calculating dependencies  ...done!
[ebuild   R   ] media-video/mjpegtools-1.6.2-r3  (-3dnow) +X +avi -debug +dv* +gtk (-mmx) +quicktime +sdl (-sse) +yv12* 0 kB


Reproducible: Always
Steps to Reproduce:
1. emerge mjpegtools

Actual Results:  

[snip]
*** Warning: Linking the shared library libmplex2.la against the
*** static library ../utils/libmjpegutils.a is not portable!
x86_64-pc-linux-gnu-g++ -shared -nostdlib
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../lib/crti.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/crtbeginS.o 
.libs/libmplex2_la-ac3strm_in.o .libs/libmplex2_la-audiostrm_out.o
.libs/libmplex2_la-bits.o .libs/libmplex2_la-buffer.o
.libs/libmplex2_la-dtsstrm_in.o .libs/libmplex2_la-inputstrm.o
.libs/libmplex2_la-interact.o .libs/libmplex2_la-lpcmstrm_in.o
.libs/libmplex2_la-mpastrm_in.o .libs/libmplex2_la-multiplexor.o
.libs/libmplex2_la-padstrm.o .libs/libmplex2_la-stillsstream.o
.libs/libmplex2_la-stream_params.o .libs/libmplex2_la-systems.o
.libs/libmplex2_la-vector.o .libs/libmplex2_la-videostrm_in.o
.libs/libmplex2_la-videostrm_out.o  -Wl,--rpath
-Wl,/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2 -Wl,--rpath
-Wl,/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2 -L/usr/x86_64-pc-linux-gnu/lib
-L/usr/x86_64-pc-linux-gnu/bin ../utils/libmjpegutils.a
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/lib/../lib
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/lib
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../lib
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../.. -L/lib/../lib
-L/usr/lib/../lib /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/libstdc++.so -lm -lc
-lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/crtendS.o
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../lib/crtn.o  -march=athlon64
-Wl,-soname -Wl,libmplex2-1.6.so.0 -o .libs/libmplex2-1.6.so.0.2.2
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.2/../../../../x86_64-pc-linux-gnu/bin/ld:
../utils/libmjpegutils.a(mjpeg_logging.o): relocation R_X86_64_32 against `a
local symbol' can not be used when making a shared object; recompile with -fPIC
../utils/libmjpegutils.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libmplex2.la] Error 1
make[2]: Leaving directory
`/var/tmp/portage/mjpegtools-1.6.2-r3/work/mjpegtools-1.6.2/mplex'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/mjpegtools-1.6.2-r3/work/mjpegtools-1.6.2'
make: *** [all] Error 2

!!! ERROR: media-video/mjpegtools-1.6.2-r3 failed.
!!! Function src_compile, Line 97, Exitcode 2
!!! compile problem
!!! If you need support, post the topmost build error, NOT this status message.




Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.2,
glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r3 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r3 x86_64 AMD Athlon(tm) 64 Processor 3500+
Gentoo Base System version 1.6.5
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r6
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CFLAGS="-march=athlon64 -O3 -pipe"
CHOST="x86_64-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /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/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon64 -O3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
USE="amd64 X aalib acpi adns alsa apache2 arts avi berkdb bitmap-fonts cdr cjk
crypt cups divx4linux dmx dv dvd dvdr encode esd f77 fam fbcon flac foomaticdb
fpx freetype gdbm gif gimpprint gpm gps graphviz gtk imagemagick imap imlib jack
java jbig jp2 jpeg junit kde lcms lzw lzw-tiff mad maildir mikmod motif mpeg
multilib ncurses nls nptl nptlonly nvidia offensive oggvorbis opengl pam pda
perl png ppds python qt quicktime readline sdk sdl slang snmp spamassassin speex
ssl tcltk tcpd theora tiff truetype usb userlocales virus-scan wmf xml xml2 xpm
xrandr xv yv12 zlib"
Comment 1 Paul Taylor 2004-11-08 14:14:10 UTC
Addendum:  mjpegtools-1.6.2-r1 fails with the same error:

*** Warning: Linking the shared library libmplex2.la against the
*** static library ../utils/libmjpegutils.a is not portable!
x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/crtbeginS.o  .libs/libmplex2_la-ac3strm_in.o .libs/libmplex2_la-audiostrm_out.o .libs/libmplex2_la-bits.o .libs/libmplex2_la-buffer.o .libs/libmplex2_la-dtsstrm_in.o .libs/libmplex2_la-inputstrm.o .libs/libmplex2_la-interact.o .libs/libmplex2_la-lpcmstrm_in.o .libs/libmplex2_la-mpastrm_in.o .libs/libmplex2_la-multiplexor.o .libs/libmplex2_la-padstrm.o .libs/libmplex2_la-stillsstream.o .libs/libmplex2_la-stream_params.o .libs/libmplex2_la-systems.o .libs/libmplex2_la-vector.o .libs/libmplex2_la-videostrm_in.o .libs/libmplex2_la-videostrm_out.o  -Wl,--rpath -Wl,/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3 -Wl,--rpath -Wl,/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/../../../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/../../../x86_64-pc-linux-gnu/lib/../lib -L/usr/x86_64-pc-linux-gnu/lib -L/usr/x86_64-pc-linux-gnu/bin ../utils/libmjpegutils.a -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../.. -L/lib/../lib -L/usr/lib/../lib /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/libstdc++.so -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../lib/crtn.o  -march=athlon64 -Wl,-soname -Wl,libmplex2-1.6.so.0 -o .libs/libmplex2-1.6.so.0.2.2
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: ../utils/libmjpegutils.a(mjpeg_logging.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
../utils/libmjpegutils.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libmplex2.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.2-r1/work/mjpegtools-1.6.2/mplex'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/mjpegtools-1.6.2-r1/work/mjpegtools-1.6.2'
make: *** [all] Error 2

!!! ERROR: media-video/mjpegtools-1.6.2-r1 failed.
!!! Function src_compile, Line 86, Exitcode 2
!!! compile problem
!!! If you need support, post the topmost build error, NOT this status message.
Comment 2 Daniel Karlsson 2004-11-09 09:09:10 UTC
Adding something like:

if use amd64; then
	autoreconf || or die
fi

to the .ebuild solved the problem for me..
Comment 3 Paul Taylor 2004-11-09 13:25:08 UTC
Based on the "use ppc" code in the ebuild, I think your "or" is extraneous?  
At any rate, this worked for me too - thanks!  Can this be added to the CVS?

    if use amd64; then
        autoreconf || die
    fi
Comment 4 Jan Schubert 2004-11-14 02:26:06 UTC
Worked for me tooo!
Comment 5 Simon Stelling (RETIRED) gentoo-dev 2004-11-14 04:55:30 UTC
in CVS now, thanks!