Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 171694 - media-sound/musepack-tools-1.15v fails to build on linux/amd64
Summary: media-sound/musepack-tools-1.15v fails to build on linux/amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: AMD64 Project
URL:
Whiteboard:
Keywords:
: 190002 200763 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-03-21 16:37 UTC by Guido Winkelmann
Modified: 2008-03-24 07:11 UTC (History)
4 users (show)

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


Attachments
Output of emerge -v musepack-tools (log,17.92 KB, text/plain)
2007-03-21 16:39 UTC, Guido Winkelmann
Details
files/musepack-tools-1.15v-Makefile-esd.patch (musepack-tools-1.15v-Makefile-esd.patch,639 bytes, patch)
2007-04-24 16:15 UTC, Mark Glines
Details | Diff
ebuild diff (ebuild.diff,430 bytes, patch)
2007-04-24 16:16 UTC, Mark Glines
Details | Diff
Patch against /usr/portage/media-sound/musepack-tools/ (musepack-tools-1.15v-merged-ebuild.patch,1.03 KB, patch)
2007-12-01 14:18 UTC, Mihai Moldovan
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Guido Winkelmann 2007-03-21 16:37:48 UTC
media-sound/musepack-tools-1.15v fails to build on linux/amd64.

When trying to link mppdec, the build process stops with the following error message:

--------------
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `cpu_feat.o' is incompatible with i386:x86-64 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `synthasm.o' is incompatible with i386:x86-64 output
--------------

Reproducible: Always

Steps to Reproduce:
1. emerge -v musepack-tools
Actual Results:  
Package fails to build

Expected Results:  
musepack should have been built and installed.

# emerge --info
Portage 2.1.2.2 (default-linux/amd64/2006.1/desktop, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r6 x86_64)
=================================================================
System uname: 2.6.18-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3200+
Gentoo Base System release 1.12.9
Timestamp of tree: Wed, 21 Mar 2007 15:30:01 +0000
dev-java/java-config: 1.3.7, 2.0.31-r4
dev-lang/python:     2.3.5-r3, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://ftp.romnet.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
LINGUAS="de en fr nds"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac aiglx alsa amd64 apache2 arts avi bash-completion berkdb bitmap-fonts bzip2 cairo cdr cjk cli cracklib crypt ctype cups dbus dri dvd dvdr dvdread eds emboss encode esd fam ffmpeg firefox flac fortran gcj gd gdbm gif gimp gpm gstreamer gtk gtk2 hal iconv idn imap ipv6 isdnlog java jpeg kde ldap libg++ mad matroska midi mikmod mng moznocompose moznoirc mp3 mpeg ncurses nls nptl nptlonly nvidia ogg oggvorbis opengl oss pam pcre perl png postgres ppd ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session spell spl ssl subtitles tcpd theora truetype truetype-fonts type1-fonts unicode userlocales vcd vorbis xml xorg xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en fr nds" USERLAND="GNU" VIDEO_CARDS="nv mach64 radeon vga fbdev vesa"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Guido Winkelmann 2007-03-21 16:39:29 UTC
Created attachment 113982 [details]
Output of emerge -v musepack-tools
Comment 2 Mark Glines 2007-04-24 16:06:12 UTC
(In reply to comment #1)
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `cpu_feat.o' is incompatible with i386:x86-64 output
> /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: i386 architecture of input file `synthasm.o' is incompatible with i386:x86-64 output
> wave_out.o: In function `Set_ESD_Params':
> wave_out.c:(.text+0x129): undefined reference to `esd_open_sound'
> wave_out.c:(.text+0x13a): undefined reference to `esd_get_server_info'
> wave_out.c:(.text+0x14e): undefined reference to `esd_free_server_info'
> wave_out.c:(.text+0x155): undefined reference to `esd_close'
> wave_out.c:(.text+0x282): undefined reference to `esd_audio_rate'
> wave_out.c:(.text+0x288): undefined reference to `esd_audio_format'
> wave_out.c:(.text+0x265): undefined reference to `esd_play_stream_fallback'
> collect2: ld returned 1 exit status

Hi,

I think you might be experiencing two separate issues at the same time.  I am on i686 and I don't see the architecture mismatch warnings, but I *do* see the undefined esd symbols.  In my case, adding a "-lesd" to the compiler command-line allowed a successful compilation.
Comment 3 Mark Glines 2007-04-24 16:15:15 UTC
Created attachment 117153 [details, diff]
files/musepack-tools-1.15v-Makefile-esd.patch

add -lesd to mppdec compiler line, apply this in USE=esd case
Comment 4 Mark Glines 2007-04-24 16:16:13 UTC
Created attachment 117154 [details, diff]
ebuild diff

patch ebuild to apply musepack-tools-1.15v-Makefile-esd.patch in USE=esd case
Comment 5 Willard Dawson 2007-05-07 17:48:51 UTC
Feedback:
I had the same problem as documented in this bug report.  I applied the patches to an overlay ebuild of musepack-tools, and they did indeed allow the build to complete.

Perhaps you need to roll this patch out to the general population.
Comment 6 Steve Dibb (RETIRED) gentoo-dev 2007-05-12 15:45:59 UTC
(In reply to comment #3)
> Created an attachment (id=117153) [edit]
> files/musepack-tools-1.15v-Makefile-esd.patch
> 
> add -lesd to mppdec compiler line, apply this in USE=esd case
> 

Thanks for the patch, Mark!

Applied in CVS
Comment 7 Thomas S. Howard 2007-07-23 18:14:31 UTC
That's great for esound users, but I'm seeing the same "is incompatible with
i386:x86-64 output" errors, which is ostensibly what this bug is about.
Comment 8 Christian Faulhammer (RETIRED) gentoo-dev 2007-08-24 06:46:31 UTC
*** Bug 190002 has been marked as a duplicate of this bug. ***
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2007-11-29 21:18:43 UTC
*** Bug 200763 has been marked as a duplicate of this bug. ***
Comment 10 Mihai Moldovan 2007-11-30 19:04:21 UTC
Hello Mark,

your patch is cool, but in fact the functionality is already included in the eBuild.

------------------SNIP---------------
    if ! use esd ; then
        sed -i -e 's/#define USE_ESD_AUDIO/#undef USE_ESD_AUDIO/' mpp.h
    else
        sed -i -e 's/^LDADD    = -lm$/LDADD    = $(shell esd-config --libs)/' \
            Makefile
------------------SNAP---------------

In fact, this should do the trick. Now the question rather is WHY it does *not* replace the things in the Makefile. Yes, it does simply nothing and thus the LDADD line is not being changed and thus musepack-tools fail.

So we should rather fix the eBuild and drop the patch (which isn't even "right", because esd-config --libs prints, at least on my system, -L/usr/lib -lesd -laudiofile -lm -laudiofile -lm and you just added "-lesd", "forgetting" all the others. Although it might work at the moment, this *could* become a problem some time.)

I'll test a little bit more on that and let you know however.


-Ionic
Comment 11 Mihai Moldovan 2007-12-01 14:18:28 UTC
Created attachment 137460 [details, diff]
Patch against /usr/portage/media-sound/musepack-tools/

Hello again,

thank you for your patience. This patch for the two eBuilds will fix the problems. As you may noticed, just the expression has been wrong and thus the Makefile not changed at all, now everythings works correctly.

Please add it to CVS/SVN and delete the "old" Makefile-Patch in ${FILESDIR}.

-Ionic
Comment 12 Darren Kirby 2008-03-23 17:59:51 UTC
Well, not sure how this bug went off on the ESD tangent, or why it has been marked as fixed. This bug is very much alive. My amd64 system without ESD USE flag still dies with:

/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `cpu_feat.o' is incompatible with i386:x86-64 output
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: i386 architecture of input file `synthasm.o' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status
make: *** [mppdec] Error 1

I have tried both musepack-tools-1.15v and musepack-tools-1.15v-r1. I tried adding Mihai Moldovan's patch. Always the same error.

I'll see if anyone responds here, else, I will have to open a new bug, as this one seems to be taken over by this ESD issue...
Comment 13 Darren Kirby 2008-03-23 18:04:18 UTC
Ahhh nuts. Seems it is over here now: Bug #188160