Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 136565
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: Eldad Zack (RETIRED) <eldad@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Chris Smith <chris@realcomputerguy.com>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 136565 depends on: Show dependency tree
Bug 136565 blocks:
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2006-06-12 11:40 0000
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../config -I.. -I..
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -g -O2 -march=i686
-mtune=pentium4 -fomit-frame-pointer -pipe -DJACK_LOCATION=\"/usr/bin\"
-I../config -I.. -I.. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -g -O2
-march=i686 -mtune=pentium4 -fomit-frame-pointer -pipe -march=i686 -MT
libjack_la-port.lo -MD -MP -MF .deps/libjack_la-port.Tpo -c port.c  -fPIC -DPIC
-o .libs/libjack_la-port.o
port.c: In function 'x86_3dnow_add2f':
port.c:98: error: unknown register name 'mm0' in 'asm'
port.c:109: error: unknown register name 'mm1' in 'asm'
port.c:109: error: unknown register name 'mm0' in 'asm'
port.c: In function 'x86_3dnow_copyf':
port.c:135: error: unknown register name 'mm0' in 'asm'
port.c:137: error: unknown register name 'mm1' in 'asm'
port.c:139: error: unknown register name 'mm2' in 'asm'
port.c:141: error: unknown register name 'mm3' in 'asm'
port.c:143: error: unknown register name 'mm4' in 'asm'
port.c:145: error: unknown register name 'mm5' in 'asm'
port.c:147: error: unknown register name 'mm6' in 'asm'
port.c:149: error: unknown register name 'xmm7' in 'asm'
port.c:152: error: unknown register name 'mm0' in 'asm'
port.c:154: error: unknown register name 'mm1' in 'asm'
port.c:156: error: unknown register name 'mm2' in 'asm'
port.c:158: error: unknown register name 'mm3' in 'asm'
port.c:160: error: unknown register name 'mm4' in 'asm'
port.c:162: error: unknown register name 'mm5' in 'asm'
port.c:164: error: unknown register name 'mm6' in 'asm'
port.c:166: error: unknown register name 'mm7' in 'asm'
port.c:171: error: unknown register name 'mm0' in 'asm'
port.c:180: error: unknown register name 'mm0' in 'asm'
port.c: In function 'x86_sse_copyf':
port.c:204: error: unknown register name 'xmm0' in 'asm'
port.c:206: error: unknown register name 'xmm1' in 'asm'
port.c:208: error: unknown register name 'xmm2' in 'asm'
port.c:210: error: unknown register name 'xmm3' in 'asm'
port.c:212: error: unknown register name 'xmm4' in 'asm'
port.c:214: error: unknown register name 'xmm5' in 'asm'
port.c:216: error: unknown register name 'xmm6' in 'asm'
port.c:218: error: unknown register name 'xmm7' in 'asm'
port.c:221: error: unknown register name 'xmm0' in 'asm'
port.c:223: error: unknown register name 'xmm1' in 'asm'
port.c:225: error: unknown register name 'xmm2' in 'asm'
port.c:227: error: unknown register name 'xmm3' in 'asm'
port.c:229: error: unknown register name 'xmm4' in 'asm'
port.c:231: error: unknown register name 'xmm5' in 'asm'
port.c:233: error: unknown register name 'xmm6' in 'asm'
port.c:235: error: unknown register name 'xmm7' in 'asm'
port.c:240: error: unknown register name 'xmm0' in 'asm'
port.c:249: error: unknown register name 'xmm0' in 'asm'
port.c: In function 'x86_sse_add2f':
port.c:275: error: unknown register name 'xmm0' in 'asm'
port.c:287: error: unknown register name 'xmm0' in 'asm'
make[2]: *** [libjack_la-port.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../config -I.. -I..
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -g -O2 -march=i686
-mtune=pentium4 -fomit-frame-pointer -pipe -DJACK_LOCATION=\"/usr/bin\"
-I../config -I.. -I.. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -g -O2
-march=i686 -mtune=pentium4 -fomit-frame-pointer -pipe -march=i686 -MT
libjack_la-ringbuffer.lo -MD -MP -MF .deps/libjack_la-ringbuffer.Tpo -c
ringbuffer.c  -fPIC -DPIC -o .libs/libjack_la-ringbuffer.o
make[2]: Leaving directory
`/var/tmp/portage/jack-audio-connection-kit-0.101.1/work/jack-audio-connection-kit-0.101.1/libjack'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/jack-audio-connection-kit-0.101.1/work/jack-audio-connection-kit-0.101.1'
make: *** [all] Error 2

!!! ERROR: media-sound/jack-audio-connection-kit-0.101.1 failed.

The previous version of jack-audio-connection-kit (0.100.7) has the same
problem.

------- Comment #1 From Jakub Moc (RETIRED) 2006-06-12 12:15:22 0000 -------
Compiles fine here w/ gcc-4.1.1. 

Reopen with emerge --info and 'emerge -pv jack-audio-connection-kit' output,
please.

------- Comment #2 From Chris Smith 2006-06-12 12:30:01 0000 -------
# emerge -pv jack-audio-connection-kit

These are the packages that would be merged, in order:

Calculating dependencies  ... done!
[ebuild   R   ] media-sound/jack-audio-connection-kit-0.101.1  USE="alsa doc
jack-tmpfs mmx oss sndfile sse -caps -debug -netjack -portaudio" 0 kB

# emerge --info
Portage 2.1 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3,
2.6.16-gentoo-r9 i686)
=================================================================
System uname: 2.6.16-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz
Gentoo Base System version 1.12.1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -mtune=pentium4 -fomit-frame-pointer -pipe"
CHOST="i686-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/eselect/compiler /etc/gconf
/etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=i686 -mtune=pentium4 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig candy distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com http://mirrors.tds.net/gentoo
http://open-systems.ufl.edu/mirrors/gentoo"
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'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X a52 aac aalib acl acpi alsa apache2 arts audiofile avi
bash-completion berkdb bitmap-fonts bzip2 cairo cdparanoia cdr cli crypt cups
curl dlloader dri dts dv dvb dvd dvdr dvdread emboss encode exif fam ffmpeg
flac fortran gdbm ggvorbis gif gphoto2 gpm gstreamer gtk gtk2 hal imagemagick
imap imlib ipv6 isdnlog jack java jpeg jpeg2k kde kdeenablefinal lcd lcms ldap
libg++ libwww mad mikmod mmx motif mozcalendar mozilla mp3 mpeg musicbrainz
ncurses nls nodrm nptl nvidia ofx ogg openexr opengl oss pam pcre pda pdf
pdflib perl png ppds pppd python qt quicktime readline reflection samba sasl
scanner sdl session slp sndfile spell spl sse ssl subversion svg svga tcltk
tcpd theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb
utf8 v4l v4l2 vcd vorbis win32codecs wmf xcomposite xine xml xmms xorg
xscreensaver xv xvid zlib elibc_glibc input_devices_keyboard
input_devices_mouse input_devices_evdev kernel_linux userland_GNU
video_cards_nvidia video_cards_vesa video_cards_fbdev video_cards_vmware
video_cards_v4l"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS,
LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS

------- Comment #3 From Renato Caldas 2006-06-13 14:24:04 0000 -------
I'm having the same problem.

The culprit is the 'sse' use flag. If you do "USE=-sse" it emerges fine. It
seems as the ebuild activates the 3dnow support when sse is activated, which it
obviously shouldn't do (I believe 3dnow is specific to athlon cpu's).

------- Comment #4 From Renato Caldas 2006-06-13 14:57:09 0000 -------
Got it. In the ebuild the sse use flag enables dynsimd:

>   $(use_enable portaudio) \
>   $(use_enable sse) $(use_enable sse dynsimd) \
>   --with-pic \

But it seems that the ./configure script or whatever isn't detecting the cpu
features correctly for dynsimd to work. It apears to be a recorrent problem.

It is not an ebuild bug per se, but the workaround would be either disable the
sse use flag (loosing the sse optimizations) or removing the dynsimd option
from the ebuild. The last solution apears to be the best, also because
--enable-dynsimd is disabled by default in the configure script.

Either way, it should be reported upstream.

Cheers
  Renato

------- Comment #5 From Chris Smith 2006-06-13 15:10:16 0000 -------
(In reply to comment #4)
> Got it. In the ebuild the sse use flag enables dynsimd:
> 
> >   $(use_enable portaudio) \
> >   $(use_enable sse) $(use_enable sse dynsimd) \
> >   --with-pic \
> 
> But it seems that the ./configure script or whatever isn't detecting the cpu
> features correctly for dynsimd to work. It apears to be a recorrent problem.

However, it compiles just fine with gcc-3.5.x (with the sse flag).

------- Comment #6 From Jakub Moc (RETIRED) 2006-09-28 06:13:55 0000 -------
Re-assign wrt Bug 60090.

------- Comment #7 From Eldad Zack (RETIRED) 2006-10-07 18:55:11 0000 -------
I'm taking maintainership.

------- Comment #8 From Eldad Zack (RETIRED) 2006-10-07 20:02:00 0000 -------
I've added a local useflag cpudetection.
with it enabled, it will test for 3dnow presence in /proc/cpuinfo and enable
dynsimd if it is found.

fixed this for 101.1-r1 and the just added 102.20.

If anyone is interested in creating a patch for this (enclosing the asm
routines with ifdefs, and updating the configure script respectivly) - this
should really be fixed upstream.

in cvs.

------- Comment #9 From Jakub Moc (RETIRED) 2006-10-08 10:57:11 0000 -------
*** Bug 150486 has been marked as a duplicate of this bug. ***

------- Comment #10 From Jakub Moc (RETIRED) 2006-10-27 09:51:34 0000 -------
*** Bug 153001 has been marked as a duplicate of this bug. ***

------- Comment #11 From Brett T. Warden 2006-10-31 17:08:34 0000 -------
This looks like the wrong fix. The point of dynsimd seems to be to detect the
host CPU and automatically select MMX or SSE code for the necessary SIMD
operations. If I'm on the right track, this certainly doesn't require 3dnow.
The current fix masks the problem only as long as you're building on a CPU
without 3dnow, since it just won't enable dynsimd. See bug 153001 for the
underlying problem preventing compilation of the dynsimd code.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug