Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 121366 - liboil-0.3.6 causes compilation error on Celeron (Coppermine)
Summary: liboil-0.3.6 causes compilation error on Celeron (Coppermine)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Zaheer Abbas Merali (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-02 15:24 UTC by belandor
Modified: 2006-12-05 06:06 UTC (History)
1 user (show)

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


Attachments
/var/tmp/portage/liboil-0.3.7/temp/ccN1dfiC.out (liboil-compile-error.log,124.29 KB, text/plain)
2006-02-22 21:14 UTC, nEO
Details

Note You need to log in before you can comment on or make changes to this bug.
Description belandor 2006-02-02 15:24:58 UTC
liboil doesn't compile on my machine due to some mixup with the SSE instructions. It seems, that liboil configure assumes, my gcc supports SSE2 and SSE3 instructions, however, I have disabled them in my CFLAGS, as they will not work on my architecture. At least, this is, what I find during one of the configure runs:

checking if compiler supports MMX intrinsics... yes
checking if compiler supports SSE intrinsics... yes
checking if compiler supports SSE2 intrinsics... yes
checking if compiler supports SSE3 intrinsics... yes
checking if compiler supports 3DNOW intrinsics... no
checking if compiler supports 3DNOWEXT intrinsics... no
checking if compiler supports ALTIVEC intrinsics... no

Later this ends in the following error:
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -msse -msse2 -Wall -D_BSD_SOURCE -D_GNU_SOURCE -I../.. -O2 -march=pentium3 -O3 -pipe -fomit-frame-pointer -mmmx -msse -mno-sse2 -mno-sse3 -MT libsse_la-conv_sse.lo -MD -MP -MF .deps/libsse_la-conv_sse.Tpo -c conv_sse.c  -fPIC -DPIC -o .libs/libsse_la-conv_sse.o
conv_sse.c: In function `conv_f32_s32_sse':
conv_sse.c:44: error: `__m128' undeclared (first use in this function)
conv_sse.c:44: error: (Each undeclared identifier is reported only once
conv_sse.c:44: error: for each function it appears in.)
conv_sse.c:44: error: syntax error before "xmm0"
conv_sse.c:41: warning: unused variable `i'
conv_sse.c:42: warning: unused variable `tmp_dest_array'
conv_sse.c:42: warning: unused variable `tmp_dest'
conv_sse.c:43: warning: unused variable `tmp_src_array'
conv_sse.c:43: warning: unused variable `tmp_src'
conv_sse.c: At top level:
conv_sse.c:45: error: syntax error before "xmm1"
conv_sse.c:45: warning: type defaults to `int' in declaration of `xmm1'
conv_sse.c:45: warning: data definition has no type or storage class
conv_sse.c:47: warning: type defaults to `int' in declaration of `tmp_dest'
conv_sse.c:47: error: `tmp_dest_array' undeclared here (not in a function)
conv_sse.c:47: warning: data definition has no type or storage class
... and a lot more complaints about xmm0 and xmm1

Are maybe my CFLAGS insensible?

this is the emerge info output:
Portage 2.0.54 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r2, 2.6.14-gentoo-r5 i686)
=================================================================
System uname: 2.6.14-gentoo-r5 i686 Celeron (Coppermine)
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O3 -pipe -fomit-frame-pointer -mmmx -msse -mno-sse2 -mno-sse3"
CHOST="i686-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.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distcc distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://strauss2.rsise.anu.edu.au/ http://mirror.isp.net.au/ftp/pub/gentoo/ http://mirror.pacific.net.au/linux/Gentoo ftp://mirror.isp.net.au/pub/gentoo/"
LC_ALL="en_US.utf8"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
USE="x86 X aalib acpi alsa apm arts audiofile avi bash-completion berkdb bitmap-fonts bzip2 crypt cups curl dhcp divx4linux dvd dvdread eds emacs emboss encode esd ethereal exif expat fam foomaticdb fortran gdbm glut gpm gstreamer gtk gtk2 idn imap ipv6 java jpeg kde lcms libg++ libwww mad mikmod mmx mng motif mp3 mpeg mppe-mppc ncurses nls nsplugin offensive ogg oggvorbis opengl oss pam pcre pdflib perl plotutils png python qt quicktime readline recode samba sdl slang spell sse ssl svga tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-02-16 14:28:51 UTC
Your gcc is outdated, reopen if reproducible with gcc-3.4.4-r1
Comment 2 belandor 2006-02-19 17:31:50 UTC
I updated my gcc to version 3.4.4-r1 and the bug still appears with exactly the same symptoms and error messages.
Comment 3 nEO 2006-02-22 21:14:14 UTC
Created attachment 80496 [details]
/var/tmp/portage/liboil-0.3.7/temp/ccN1dfiC.out

/var/tmp/portage/liboil-0.3.7/temp/ccN1dfiC.out
Comment 4 nEO 2006-02-22 21:16:23 UTC
Comment on attachment 80496 [details]
/var/tmp/portage/liboil-0.3.7/temp/ccN1dfiC.out

My AMD athlon seem met the same problem.

athlon ~ # emerge --info
Portage 2.1_pre4-r1 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.6-r3, 2.6.14-rc5-mm1 i686)
=================================================================
System uname: 2.6.14-rc5-mm1 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.12.0_pre16
dev-lang/python:     2.3.5-r2, 2.4.2-r1
sys-apps/sandbox:    1.2.17
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-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.139pay.com http://ftp.gentoo.or.kr/ http://gentoo.mirrors.tds.net/gentoo http://gentoo.llarian.net/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portages/glc"
SYNC="rsync://gentoo.139pay.com/gentoo-portage"
USE="x86 3dnow X alsa apm arts avi bash-completion berkdb bitmap-fonts bzip2 cairo cjk crypt cups eds emboss encode foomaticdb fortran gdbm gif glc gnome gpm gstreamer gtk gtk2 imlib jpeg kde kdeenablefinal lcms libg++ libwww linguas_zh_CN linguas_zh_TW mad mikmod mmx motif mp3 mpeg ncurses nls nptl nptlonly ogg oggvorbis opengl oss pam pdflib perl pic png python qt quicktime readline sblive sdl spell ssl tcpd truetype truetype-fonts type1-fonts unicode vorbis xml2 xmms xv zlib elibc_glibc kernel_linux userland_GNU"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LINGUAS

athlon ~ # emerge -pv gcc

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

Calculating dependencies ...done!
[ebuild   R   ] sys-devel/gcc-3.4.5  USE="fortran gtk nls -bootstrap -boundschecking -build -gcj -hardened -ip28 -multislot -nocxx -nopie -nossp -objc -vanilla" 0 kB

Total size of downloads: 0 kB
Comment 5 Zaheer Abbas Merali (RETIRED) gentoo-dev 2006-02-23 02:05:36 UTC
please try with CFLAGS="-O2" only

if it works i will filter everything out in the ebuild and make it reset CFLAGS to just -O2
Comment 6 belandor 2006-02-23 15:31:31 UTC
I'm able to compile with CFLAGS="-O2" 

The question however is, if liboil is a library for functions optimized for CPUs, whether it should then be compiled without special optimizations for the target architecture.
Comment 7 Zaheer Abbas Merali (RETIRED) gentoo-dev 2006-02-24 06:51:58 UTC
The answer is that it figures it out itself so you shouldnt tell it yourself.
Comment 8 Jesus Gonzalez Alvarez 2006-03-01 04:03:49 UTC
FYI I've successfully build the package with the following CFLAGS

$ cat /var/db/pkg/dev-libs/liboil-0.3.6/CFLAGS
-march=pentium4 -fomit-frame-pointer -funroll-loops -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4 -O2 -pipe
Comment 9 nEO 2006-03-02 08:03:09 UTC
I have confirmed my problem is gcc version
use gcc 3.4 and -O2 flags compile ok.

I think you can close this case.

thx.
Comment 10 Hanno Böck gentoo-dev 2006-12-05 06:06:58 UTC
done