Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 366945 - dev-libs/gf2x-0.9.5 - ./gf2x/gf2x_mul2.h:40:2: error: #error "This code needs sse-2 support"
Summary: dev-libs/gf2x-0.9.5 - ./gf2x/gf2x_mul2.h:40:2: error: #error "This code needs...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Science Mathematics related packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-12 01:36 UTC by François Bissey
Modified: 2011-07-08 12:29 UTC (History)
0 users

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


Attachments
ebuild proposal using bindist (gf2x-1.0.ebuild,911 bytes, text/plain)
2011-07-06 22:37 UTC, François Bissey
Details

Note You need to log in before you can comment on or make changes to this bug.
Description François Bissey 2011-05-12 01:36:13 UTC
gf2x has an sse2 use flag and configure will take --{en,dis}able-sse2 as an option. However if the target_cpu is x86_64 a sse2 tuned of gf2x_mul2.h will automatically be used resulting in a compilation error:

USE="-sse2" ebuild /usr/portage/dev-libs/gf2x/gf2x-0.9.5.ebuild compile
 * gf2x-0.9.5.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                         [ ok ]
 * checking ebuild checksums ;-) ...                                                                                         [ ok ]
 * checking auxfile checksums ;-) ...                                                                                        [ ok ]
 * checking miscfile checksums ;-) ...                                                                                       [ ok ]
 * checking gf2x-0.9.5.tar.gz ;-) ...                                                                                        [ ok ]
 * Package:    dev-libs/gf2x-0.9.5
 * Repository: gentoo
 * Maintainer: sci-mathematics@gentoo.org
 * USE:        amd64 elibc_glibc kernel_linux multilib userland_GNU
 * FEATURES:   fakeroot preserve-libs sandbox splitdebug
>>> Unpacking source...
>>> Unpacking gf2x-0.9.5.tar.gz to /var/tmp/portage/dev-libs/gf2x-0.9.5/work
>>> Source unpacked in /var/tmp/portage/dev-libs/gf2x-0.9.5/work
>>> Preparing source in /var/tmp/portage/dev-libs/gf2x-0.9.5/work/gf2x-0.9.5 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-libs/gf2x-0.9.5/work/gf2x-0.9.5 ...
 * econf: updating gf2x-0.9.5/config/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating gf2x-0.9.5/config/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-sse2 ABI=default
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for style of include used by make... GNU
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking dependency style of x86_64-pc-linux-gnu-gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for x86_64-pc-linux-gnu-gcc... (cached) x86_64-pc-linux-gnu-gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... (cached) yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... (cached) none needed
checking dependency style of x86_64-pc-linux-gnu-gcc... (cached) gcc3
checking for x86_64-pc-linux-gnu-g++... x86_64-pc-linux-gnu-g++
checking whether we are using the GNU C++ compiler... yes
checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes
checking dependency style of x86_64-pc-linux-gnu-g++... gcc3
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether x86_64-pc-linux-gnu-g++ accepts -g... (cached) yes
checking dependency style of x86_64-pc-linux-gnu-g++... (cached) gcc3
checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E
checking for ld used by x86_64-pc-linux-gnu-g++... /usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the x86_64-pc-linux-gnu-g++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for x86_64-pc-linux-gnu-g++ option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-g++ PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-g++ static flag -static works... yes
checking if x86_64-pc-linux-gnu-g++ supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-g++ supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-g++ linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking warning verbosity option... -Wall -W for C++ -Wall -W for C
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C99... -std=gnu99
checking whether x86_64-pc-linux-gnu-gcc -std=gnu99 and cc understand -c and -o together... yes
checking size of unsigned long... 8
checking whether x86_64-pc-linux-gnu-gcc -std=gnu99 can compile sse-2 code... explicitly disabled, no
checking the number of bits in an unsigned long... 64
using ABI="default"
      CC="x86_64-pc-linux-gnu-gcc -std=gnu99"
      CFLAGS="-O1 -march=native -pipe -ggdb -Wall -W"
      CPPFLAGS=""
      hwdir="x86_64"
checking whether hardware/x86_64/ is right assuming 64-bits unsigned longs... yes
configure: creating ./config.status
config.status: creating version.sh
config.status: creating Makefile
config.status: creating tests/Makefile
config.status: creating apps/Makefile
config.status: creating tuning/Makefile
config.status: creating gf2x/gf2x-config.h
config.status: linking hardware/x86_64/gf2x-thresholds.h to gf2x/gf2x-thresholds.h
config.status: linking hardware/generic64/gf2x_mul1.h to gf2x/gf2x_mul1.h
config.status: linking hardware/x86_64/gf2x_mul2.h to gf2x/gf2x_mul2.h
config.status: linking hardware/generic/gf2x_mul3.h to gf2x/gf2x_mul3.h
config.status: linking hardware/generic/gf2x_mul4.h to gf2x/gf2x_mul4.h
config.status: executing depfiles commands
config.status: executing libtool commands
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-libs/gf2x-0.9.5/work/gf2x-0.9.5 ...
make -j12 VERBOSE=1 
Making all in .
make[1]: Entering directory `/var/tmp/portage/dev-libs/gf2x-0.9.5/work/gf2x-0.9.5'
/bin/sh ./libtool --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x     -O1 -march=native -pipe -ggdb -Wall -W -MT gf2x.lo -MD -MP -MF .deps/gf2x.Tpo -c -o gf2x.lo gf2x.c
/bin/sh ./libtool --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x     -O1 -march=native -pipe -ggdb -Wall -W -MT toom.lo -MD -MP -MF .deps/toom.Tpo -c -o toom.lo toom.c
/bin/sh ./libtool --tag=CC   --mode=compile x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x     -O1 -march=native -pipe -ggdb -Wall -W -MT fft.lo -MD -MP -MF .deps/fft.Tpo -c -o fft.lo fft.c
libtool: compile:  x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x -O1 -march=native -pipe -ggdb -Wall -W -MT gf2x.lo -MD -MP -MF .deps/gf2x.Tpo -c gf2x.c  -fPIC -DPIC -o .libs/gf2x.o
libtool: compile:  x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x -O1 -march=native -pipe -ggdb -Wall -W -MT toom.lo -MD -MP -MF .deps/toom.Tpo -c toom.c  -fPIC -DPIC -o .libs/toom.o
libtool: compile:  x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x -O1 -march=native -pipe -ggdb -Wall -W -MT fft.lo -MD -MP -MF .deps/fft.Tpo -c fft.c  -fPIC -DPIC -o .libs/fft.o
In file included from gf2x/gf2x-small.h:94:0,
                 from toom.c:32:
./gf2x/gf2x_mul2.h:40:2: error: #error "This code needs sse-2 support"
In file included from gf2x/gf2x-small.h:94:0,
                 from gf2x.c:31:
./gf2x/gf2x_mul2.h:40:2: error: #error "This code needs sse-2 support"
make[1]: *** [gf2x.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [toom.lo] Error 1
libtool: compile:  x86_64-pc-linux-gnu-gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I./gf2x -O1 -march=native -pipe -ggdb -Wall -W -MT fft.lo -MD -MP -MF .deps/fft.Tpo -c fft.c -o fft.o >/dev/null 2>&1
mv -f .deps/fft.Tpo .deps/fft.Plo
make[1]: Leaving directory `/var/tmp/portage/dev-libs/gf2x-0.9.5/work/gf2x-0.9.5'


emerge --info
Portage 2.2.0_alpha32 (default/linux/amd64/10.0, gcc-4.5.2, glibc-2.11.3-r0, 2.6.37-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.37-gentoo-r4-x86_64-Intel-R-_Core-TM-_i7_CPU_970_@_3.20GHz-with-gentoo-2.0.2
Timestamp of tree: Wed, 11 May 2011 22:45:01 +0000
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.6-r2::sage-on-gentoo, 2.7.1-r1::sage-on-gentoo, 3.1.3-r1
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.65-r1
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.4.5, 4.5.2
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.2.10
sys-devel/make:           3.81-r2
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.11.3
Repositories: gentoo sunrise science sage-on-gentoo bicatali CRAN BlueFern
Installed sets: 
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O1 -march=native -pipe -ggdb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O1 -march=native -pipe -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs candy collision-protect distlocks ebuild-locks fakeroot fixlafiles fixpackages multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms split-log splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="http://mirrors.tds.net/gentoo http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo ftp://mirrors.tds.net/gentoo http://gentoo.eliteitminds.com"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_GB fr"
MAKEOPTS="-j12 VERBOSE=1"
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="/var/lib/layman/sunrise /var/lib/layman/science /var/lib/layman/sage-on-gentoo /var/lib/layman/bicatali /var/lib/layman/CRAN /home/fbissey/Work/Overlays/BlueFern"
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
USE="X a52 aac aalib acl acpi alsa amd64 amr ao apm asf audiofile berkdb bidi bootsplash branding bzip2 cairo cdda cddb cdf cdparanoia cg cli composite consolekit cracklib crypt cups curl cxx dbus declarative device-mapper dga dmi dri dts dv dvd dvdr dvdread encode exif expat ffmpeg fftw flac fontconfig foomaticdb fortran fpx gdbm geoip gif gimpprint glib glitz glut gmp graphviz gs gstreamer gtk gtk2 iconv icu id3tag idn imagemagick imlib imlib2 ipv6 ipython jack java jbig joystick jpeg jpeg2k kde kdehiddenvisibility kipi kontact kpathsea lame lapack latex lcms ldap libffi libsamplerate lzma lzo mad mathml matroska mikmod mime mmx mng modules motif mp3 mp4 mpeg mpi mplayer mudflap multilib musicbrainz ncurses netcdf network nls nptl nptlonly ogg openal openexr opengl pari24 pcre pdf perl png policykit portaudio posix ppds pppd ps python qt3support qt4 quicktime readline romio sdl secure-delete semantic-desktop session sndfile sox spell sqlite3 sse sse2 sse3 sse4 ssl ssse3 startup-notification svg sysfs szip t1lib tcl tcltk tcpd tetex tga theora thumbnail tiff tk truetype udev unicode usb v4l2 vcd vnc vorbis wavpack webkit wmf x264 xanim xattr xcb xcomposite xine xinerama xml xorg xpm xsl xv xvid xvmc zlib" 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 cgi cgid 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="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_GB fr" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vga nvidia nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2011-05-13 00:32:12 UTC
Don't do that.
Comment 2 Thomas Kahle (RETIRED) gentoo-dev 2011-05-14 09:58:00 UTC
Is this true for 1.0 too? If not then I'll ask for stable of that version shortly.
Comment 3 François Bissey 2011-05-14 23:22:31 UTC
(In reply to comment #2)
> Is this true for 1.0 too? If not then I'll ask for stable of that version
> shortly.

It is unfortunately. Although you have a recent intel cpu you may escape it by chance and get pclmul instead.

I have put an ebuild there:
https://bitbucket.org/burcin/sage-prefix/changeset/0242206a4d8f#chg-dev-libs/gf2x/gf2x-1.0.ebuild

But I am thinking we should just drop sse2 and pclmul and have a bindist flag instead. On x86 it would disable sse2 and on amd64 it would disable pclmul.
My reasoning is that not using those is only useful if
1) implementation is buggy
2) we want to make distributable binaries

What do you think?
Comment 4 François Bissey 2011-05-15 02:13:11 UTC
Just to document the problem. There is a 
CHECK_SSE2_SUPPORT()
defined in config/acinclude.m4 and it does what you expect and takes into account the configure option --disable-sse2. My first thought was the problem was there. But no that bit works as expected. The problem lies a bit further in the hardware platform detection - this is taken form configure.ac in 1.0:

if test x$hwdir = x ; then
 # Our _default_ setting for hwdir is to use 8*sizeof(ulong).
 hwdir=generic$gf2x_wordsize

 # Yet there are several situations in which we select another directory.
 # This refined selection mechanism is impacted by the ABI= setting.
 case "$target_cpu" in
  # All 32-bit pentium patterns
  i?86|pentium*|athlon|prescott)
   if test "$gf2x_cv_cc_supports_sse2" = "no" ; then
    hwdir=x86_nosse2
   else
    hwdir=x86_sse2
    # Maybe on some funny platform from hell, we could get i386 yet have a
    # 64-bit cpu ?
    if test x$ABI = x64 ; then
     hwdir=x86_64
    fi
   fi
   ;;
  core2|opteron|x86_64|nocona|k10)
   # Note: could set to something else if we have separate tuning files.
   if test "$gf2x_cv_cc_supports_pclmul" = "no" ; then
     hwdir=x86_64
   else
     hwdir=x86_64_pclmul
   fi
   if test x$ABI = x32 ; then
    hwdir=x86_sse2
   elif test x$ABI = xdefault ; then
    RUNTIME_ULONG_BITS()
    case x$gf2x_cv_ulongbits in
     x64|xdontknow) true ;;
     *)
       AC_MSG_WARN([The default ABI for this compiler has $gf2x_cv_ulongbits-bit unsigned longs, not 64-bit as the CPU supports. Using $gf2x_cv_ulongbits-bit])
       hwdir=x86_sse2;;
    esac
   fi
   ;;
 esac
else
 AC_MSG_NOTICE([Using supplied hwdir value $hwdir])
fi

Notice that on x86 there is a check for gf2x_cv_cc_supports_sse2 and you can have hwdir be x86_sse2 or x86_nosse2 but for x86_64 in 0.9.5 there was only x86_64. In 1.0 above you can get x86_64 (which is sse2 enabled) or x86_64_pclmul instead if your cpu supports it. On x86_64 by default you get sse2 regardless of configure options and there is no hwdir alternatives that isn't either sse2 or pclmul.
Comment 5 François Bissey 2011-07-06 22:37:36 UTC
Created attachment 279283 [details]
ebuild proposal using bindist

So I am attaching an ebuild proposal for gf2x-1.0 following the bindist idea. It would probably be useful to have some info about it in metadata.xml.

Basically with the bindist flag enabled we make sure we have the lowest common denominator for that arch by disabling what can be. In other case we let the autodetection run its course as it otherwise can lead to conflict of configuration as explained above.
Comment 6 Thomas Kahle (RETIRED) gentoo-dev 2011-07-08 11:25:08 UTC
+*gf2x-1.0-r1 (08 Jul 2011)
+
+  08 Jul 2011; Thomas Kahle <tomka@gentoo.org> +gf2x-1.0-r1.ebuild:
+  Adding Francois Bissey's fix for bug 366945 
+
Comment 7 Thomas Kahle (RETIRED) gentoo-dev 2011-07-08 11:25:45 UTC
(In reply to comment #6)
> +*gf2x-1.0-r1 (08 Jul 2011)
> +
> +  08 Jul 2011; Thomas Kahle <tomka@gentoo.org> +gf2x-1.0-r1.ebuild:
> +  Adding Francois Bissey's fix for bug 366945 
> +

Francois, many thanks for all the research and the fix.  You should become a dev and do these things yourself ;)
Comment 8 François Bissey 2011-07-08 12:29:44 UTC
(In reply to comment #7)
> (In reply to comment #6)
> > +*gf2x-1.0-r1 (08 Jul 2011)
> > +
> > +  08 Jul 2011; Thomas Kahle <tomka@gentoo.org> +gf2x-1.0-r1.ebuild:
> > +  Adding Francois Bissey's fix for bug 366945 
> > +
> 
> Francois, many thanks for all the research and the fix.  You should become a
> dev and do these things yourself ;)

I hope that once the situation stabilize with my new son I'll have some more time for quizzes and kick start my dev-bug again. Hopefully this time around the recruiter won't call at a time when 200 scripts to mark have landed on my desk.