Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 276433 - media-sound/timidity++-2.13.2-r10 fails to build with l1-cache-line-size=64 CFLAG
Summary: media-sound/timidity++-2.13.2-r10 fails to build with l1-cache-line-size=64 C...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High minor (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-04 10:23 UTC by Róbert Čerňanský
Modified: 2009-07-24 08:37 UTC (History)
2 users (show)

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


Attachments
Build log (media-sound:timidity++-2.13.2-r10:20090704-100309.log,17.60 KB, text/plain)
2009-07-04 10:24 UTC, Róbert Čerňanský
Details
configure.in patch (timidity++-2.13.2-configure.in.patch,502 bytes, patch)
2009-07-16 07:33 UTC, Andrew Savchenko
Details | Diff
ebuild patch (timidity++-2.13.2-r10.ebuild.patch,840 bytes, patch)
2009-07-16 07:35 UTC, Andrew Savchenko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Róbert Čerňanský 2009-07-04 10:23:14 UTC
When building media-sound/timidity++-2.13.2-r10 with --param l1-cache-size=64 --param l1-cache-line-size=64 options in CFLAGS it fails to build with error:

[...]
if x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../libarc -I../timidity  -I/usr/include -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -DAU_ALSA -DAU_JACK -DAU_VORBIS -DAU_FLAC -DAU_SPEEX  -O2 -march=k8 -msahf --param l1-cache-size=64 l1-cache-line-size=64 -fweb -pipe -MT fft4g.o -MD -MP -MF ".deps/fft4g.Tpo" \
	  -c -o fft4g.o `test -f 'fft4g.c' || echo './'`fft4g.c; \
	then mv -f ".deps/fft4g.Tpo" ".deps/fft4g.Po"; \
	else rm -f ".deps/fft4g.Tpo"; exit 1; \
	fi
x86_64-pc-linux-gnu-gcc: l1-cache-line-size=64: No such file or directory
x86_64-pc-linux-gnu-gcc: l1-cache-line-size=64: No such file or directory
make[2]: *** [bitset.o] Error 1
[...]

It seems that second --param option is somehow misinterpreted or ignored. You might want to filter out these options from CFLAGS in the timidity ebuild.

Full build log will follow in attachment.


$ emerge --info
Portage 2.1.6.13 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.28-gentoo-r5 x86_64)
=================================================================
System uname: Linux-2.6.28-gentoo-r5-x86_64-AMD_Athlon-tm-_64_Processor_3200+-with-glibc2.2.5
Timestamp of tree: Thu, 02 Jul 2009 17:30:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.4-r2
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.6.4
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=k8 -msahf --param l1-cache-size=64 --param l1-cache-line-size=64 -fweb -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/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=k8 -msahf --param l1-cache-size=64 --param l1-cache-line-size=64 -fweb -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://mirror.gentoo.sk http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en sk cs ru"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/berkano /usr/portage/local/layman/latest-released /usr/portage/local/layman/autoarchive /usr/portage/local/layman/sunrise /opt/reserve/install/portage/hs /opt/reserve/install/portage/xmms-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext 7zip X Xaw3d a52 aac aalib acl acpi adplug ads afterimage aim alsa amd64 amr amrnb amrwb ares aspell audacious bash-completion bdf berkdb binfilter blender-game bluetooth bonjour branding bzip2 cairo caps cddb cdparanoia cdr cli cracklib crypt css cups daemon dbus dga divx djvu dri dssi dts dv dvd dvdnav dvdr dvdread editor emacs emboss enblend encode exif expat fbcon fbcondecor ffmpeg firefox flac flash font-server fontconfig foomaticdb fortran freesound ftp gd gdbm gif gimp gimpprint glade gmedia gnutella gnutls gphoto2 gpm gs gtk gtkhtml guile gzip-el hal hdri iconv icq id3tag imagemagick imap imlib ipv6 isdnlog jabber jack javascript jbig jpeg jpeg2k kerberos kqemu ladcca ladspa lcms ldap leim libcaca libnotify lirc live lm_sensors logrotate lzma mad maildir matroska memlimit midi mikmod mime mjpeg mmx mmxext mng modplug mono motif mp2 mp3 mp4 mpeg mplayer msn mtp mudflap mule multilib musepack musicbrainz ncurses nemesi network networking new-login nls nocd nowin nptl nptlonly nsplugin nvidia objc ofx ogg openal openexr opengl openmp oscar pam pcre pda pdf perl png portaudio ppds pppd python qt3 qt3support qt4 quicktime quotes rar raw readline realmedia recode reflection restrict-javascript roe rtc samba sasl schroedinger scrobbler sdl server session shout sid sift snmp sockets sound sox speex spell spl srt sse sse2 ssl startup-notification subtitles svg sysfs syslog tcl tcpd teamarena themes theora threads tiff tk toolkit-scroll-bars truetype tta unicode usb userlocales utempter vcd vorbis wavpack wireshark wma wmf wmp wxwindows x264 xcomposite xface xft xiph xml xmp xorg xosd xpm xscreensaver xulrunner xv xvid xvmc yahoo zeroconf zlib zrtp" 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 mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CAMERAS="*" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en sk cs ru" LIRC_DEVICES="serial" USERLAND="GNU" VIDEO_CARDS="nvidia nv fbdev vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Róbert Čerňanský 2009-07-04 10:24:32 UTC
Created attachment 196594 [details]
Build log
Comment 2 Arttu Valo 2009-07-04 15:50:25 UTC
The cause are the SET_UNIQ_WORDS macro/function calls at the end of configure.in. It is defined in the aclocal.m4. So I'm pretty sure this exists on all platforms, not just amd64, the other platforms' users just don't try tweaking so much? :)

Nothing seemed to break on my system when I bluntly commented them out, and replaced latter ones with CFLAGS="$CFLAGS $EXTRACFLAGS"-style catenations. But then again, I'm no c/c++ nor timidity++ guru and didn't perform proper, extensive testing either. YMMV.
Comment 3 Andrew Savchenko gentoo-dev 2009-07-16 07:09:47 UTC
I confirm the same bug here on x86.

The problem is silly 'tweaking' of CFLAGS/LDFLAGS by configure script leading to '--param' removal before all its appearances except first.
Comment 4 Andrew Savchenko gentoo-dev 2009-07-16 07:33:53 UTC
Created attachment 198132 [details, diff]
configure.in patch

Fixed as suggested by Arttu.
We can safely live without uniq flags.
Comment 5 Andrew Savchenko gentoo-dev 2009-07-16 07:35:25 UTC
Created attachment 198133 [details, diff]
ebuild patch

configure.in change requires eautoconf.
Note: eautoreconf fails, but eautoconf is sufficient.
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2009-07-24 08:19:15 UTC
That doesn't look right... and I'm not sure if we care about --param; i'd rather filter it out with flag-o-matic.
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2009-07-24 08:23:24 UTC
And I can't even reproduce..

[output]
x86_64-pc-linux-gnu-gcc  --param l1-cache-line-size=64  -Wl,-O1 -Wl,--as-needed
-Wl,--hash-style=gnu -o timidity...
[output]
>>> Source compiled.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2009-07-24 08:37:39 UTC
Fixed in CVS, used the patch afterall, ignore my prev. comments.