Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 217907 - dev-libs/crypto++-5.5.2 fails to compile
Summary: dev-libs/crypto++-5.5.2 fails to compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-16 07:24 UTC by Wolfram Schlich (RETIRED)
Modified: 2008-06-01 10:36 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfram Schlich (RETIRED) gentoo-dev 2008-04-16 07:24:59 UTC
--8<--
[...]
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c tea.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c tftables.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c tiger.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c tigertab.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c trdlocal.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c ttmac.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c twofish.cpp
i686-pc-linux-gnu-g++ -O2 -march=i686 -pipe -mno-tls-direct-seg-refs -c vmac.cpp
vmac.cpp: In member function `void CryptoPP::VMAC_Base::VHASH_Update_SSE2(const CryptoPP::word64*, size_t, int)':
vmac.cpp:367: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
make: *** [vmac.o] Error 1
make: *** Waiting for unfinished jobs....
 *
 * ERROR: dev-libs/crypto++-5.5.2 failed.
 * Call stack:
 *               ebuild.sh, line   46:  Called src_compile
 *             environment, line 2518:  Called die
 * The specific snippet of code:
 *       emake -f GNUmakefile CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" || diefunc "$FUNCNAME" "$LINENO" "$?"
 *  The die message:
 *   (no error message)
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/dev-libs:crypto++-5.5.2:20080416-065905.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/crypto++-5.5.2/temp/environment'.
 *
--8<--

emerge --info:
--8<--
Portage 2.1.4_rc14 (hardened/x86/2.6, gcc-3.4.6, glibc-2.6.1-r0, 2.6.21-hardened-r2 i686)
=================================================================
System uname: 2.6.21-hardened-r2 i686 Intel(R) Celeron(R) D CPU 3.06GHz
Timestamp of tree: Wed, 16 Apr 2008 00:45:01 +0000
app-shells/bash:     3.2_p17-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.7.9-r1, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe -mno-tls-direct-seg-refs"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/glftpd/etc /opt/glftpd/ftp-data"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe -mno-tls-direct-seg-refs"
DISTDIR="/local/portage/distfiles"
FEATURES="buildpkg ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
INSTALL_MASK=" /etc/apache2/modules.d/*default*vhost* /etc/apache2/vhosts.d/*default*vhost* /etc/postfix/saslpass /etc/cron.monthly/update-pciids /etc/stunnel/stunnel.{crt,csr,key,pem} /etc/openldap/ssl/ldap.{crt,csr,key,pem}"
LINGUAS="en de fr"
MAKEOPTS="-j2"
PKGDIR="/local/portage/packages"
PORTAGE_COMPRESS="bzip2"
PORTAGE_COMPRESS_FLAGS="-9"
PORTAGE_RSYNC_EXTRA_OPTS="--timeout=30"
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"
PORTDIR_OVERLAY="/local/portage/layman/wschlich /local/portage/layman/wschlich-testing /usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X509 accounting acl acpi adns ansi apache2 automount bash-completion bcmath berkdb bidi bzip2 calendar caps ccache chroot cracklib crypt cscope csv ctype dbm dbus dbx dhcp ecc expat fam ftp gdbm gzip hardened hpn http iconv idled idn imap inifile innodb ipalias ipv6 jpeg lm_sensors lmtp logrotate logwatch mailbox maildir mailwrapper mbox mcal memlimit mgetty mhash mime mimencode mmap mmx mpi mppe-mppc mysql mysqli ncurses network nfs nis nls nntp nptl nptlonly openssh openssl pam pam_chroot pam_timestamp pcntl pcre perl pic png posix postfix procmail pwdb python quotas readline samba sample sasl screen sendfile sensord sftp sftplogging shaper shared sharedext sharedmem skey slang smime smtp sockets sql sse ssl sysfs syslog sysvipc tcpd tiff tokenizer unicode usb userlocales utf8 vim vim-pager x86 xattr xinetd xml xml2 xmlrpc xsl xslt zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1  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" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config log_forensic logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="prefork" ELIBC="glibc" INPUT_DEVICES="mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en de fr" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt      mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage    siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware         voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS
--8<--
Comment 1 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-16 12:21:51 UTC
Use gcc-4 or disable sse... :)
Comment 2 Wolfram Schlich (RETIRED) gentoo-dev 2008-04-23 08:31:35 UTC
Can someone please fix this so =amule-2.2* is actually useable on hardened?
Thanks.
Comment 3 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-23 08:47:08 UTC
If you disable see does it fails too?
Comment 4 Wolfram Schlich (RETIRED) gentoo-dev 2008-04-23 21:48:56 UTC
(In reply to comment #3)
> If you disable see does it fails too?

How would I do that? Add '-mno-sse -mno-sse2 -mno-sse3' to CFLAGS?
Comment 5 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-24 06:25:29 UTC
Oh... I was sure I re-read the ebuild again and saw USE flag!!!
Sorry...

You can try to define CRYPTOPP_DISABLE_SSE2 or CRYPTOPP_DISABLE_ASM.

CFLAGS="-DCRYPTOPP_DISABLE_SSE2"

If one of these works for you I will add a USE flag.
Comment 6 Wolfram Schlich (RETIRED) gentoo-dev 2008-04-24 08:27:54 UTC
(In reply to comment #5)
> Oh... I was sure I re-read the ebuild again and saw USE flag!!!
> Sorry...
> 
> You can try to define CRYPTOPP_DISABLE_SSE2 or CRYPTOPP_DISABLE_ASM.
> 
> CFLAGS="-DCRYPTOPP_DISABLE_SSE2"
> 
> If one of these works for you I will add a USE flag.

Yes, it did work :) Thanks!
Comment 7 Wolfram Schlich (RETIRED) gentoo-dev 2008-04-24 08:30:01 UTC
(In reply to comment #6)
> [...]
> Yes, it did work :) Thanks!

CFLAGS="-DCRYPTOPP_DISABLE_SSE2", that is.

Comment 8 Alon Bar-Lev (RETIRED) gentoo-dev 2008-04-24 13:07:16 UTC
Added sse2 USE flag.
Thanks!
Comment 9 Jordi Ferrer 2008-06-01 10:36:05 UTC
(In reply to comment #8)
> Added sse2 USE flag.
> Thanks!
> 

I had the same problem. I had to change the line:
        use sse2 || append-flags -DCRYPTOPP_DISABLE_SSE2
for:
        use sse2 || append-flags -DCRYPTOPP_DISABLE_SSE2 -DCRYPTOPP_DISABLE_ASM

in the ebuild to make it work.