Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 59890 - beecrypt-3.1.0-r2 fails to compile, cflags problem
Summary: beecrypt-3.1.0-r2 fails to compile, cflags problem
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Daniel Black (RETIRED)
URL:
Whiteboard:
Keywords:
: 116542 117961 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-08-09 12:50 UTC by Manuel Lauss
Modified: 2008-08-08 01:22 UTC (History)
4 users (show)

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


Attachments
beecrypt-3.1.0.patch (beecrypt-3.1.0.patch,2.62 KB, patch)
2005-06-26 15:12 UTC, Stian Skjelstad
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Manuel Lauss 2004-08-09 12:50:23 UTC
Try to emerge beecrypt-3.1.0-r2, fails with the following error:

/bin/sh ./libtool --mode=link gcc  -march=pentium-m -fomit-frame-pointer -mmmx -msse -mno-sse2 -pipe -O3 -fomit-frame-pointer -mcpu=pentiumpro -march=pentium-m   -o libbeecrypt.la -rpath /usr/lib -no-undefined -version-info 8:0:2 aes.lo base64.lo beecrypt.lo blockmode.lo blockpad.lo blowfish.lo dhaes.lo dldp.lo dlkp.lo dlpk.lo dlsvdp-dh.lo dsa.lo elgamal.lo endianness.lo entropy.lo fips186.lo hmac.lo hmacmd5.lo hmacsha1.lo hmacsha256.lo md5.lo memchunk.lo mp.lo mpbarrett.lo mpnumber.lo mpprime.lo mtprng.lo rsa.lo rsakp.lo rsapk.lo sha1.lo sha256.lo timestamp.lo aesopt.lo blowfishopt.lo mpopt.lo sha1opt.lo -lrt -lpthread 
rm -fr .libs/libbeecrypt.la .libs/libbeecrypt.* .libs/libbeecrypt.*
gcc -shared  aes.lo base64.lo beecrypt.lo blockmode.lo blockpad.lo blowfish.lo dhaes.lo dldp.lo dlkp.lo dlpk.lo dlsvdp-dh.lo dsa.lo elgamal.lo endianness.lo entropy.lo fips186.lo hmac.lo hmacmd5.lo hmacsha1.lo hmacsha256.lo md5.lo memchunk.lo mp.lo mpbarrett.lo mpnumber.lo mpprime.lo mtprng.lo rsa.lo rsakp.lo rsapk.lo sha1.lo sha256.lo timestamp.lo aesopt.lo blowfishopt.lo mpopt.lo sha1opt.lo  -lrt -lpthread  -Wl,-soname -Wl,libbeecrypt.so.6 -o .libs/libbeecrypt.so.6.2.0
blowfishopt.lo(.text+0x0): In function `blowfishEncrypt':
: multiple definition of `blowfishEncrypt'
blowfish.lo(.text+0x0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `blowfishEncrypt' changed from 1245 in blowfish.lo to 815 in blowfishopt.lo
blowfishopt.lo(.text+0x330): In function `blowfishDecrypt':
: multiple definition of `blowfishDecrypt'
blowfish.lo(.text+0x790): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `blowfishDecrypt' changed from 1245 in blowfish.lo to 815 in blowfishopt.lo
mpopt.lo(.text+0x0): In function `mpzero':
: multiple definition of `mpzero'
mp.lo(.text+0x0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpzero' changed from 32 in mp.lo to 15 in mpopt.lo
mpopt.lo(.text+0x10): In function `mpfill':
: multiple definition of `mpfill'
mp.lo(.text+0x20): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpfill' changed from 28 in mp.lo to 17 in mpopt.lo
mpopt.lo(.text+0x24): In function `mpeven':
: multiple definition of `mpeven'
mp.lo(.text+0x50): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpeven' changed from 19 in mp.lo to 18 in mpopt.lo
mpopt.lo(.text+0x38): In function `mpodd':
: multiple definition of `mpodd'
mp.lo(.text+0x40): first defined here
mpopt.lo(.text+0x48): In function `mpaddw':
: multiple definition of `mpaddw'
mp.lo(.text+0xba0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpaddw' changed from 83 in mp.lo to 42 in mpopt.lo
mpopt.lo(.text+0x74): In function `mpsubw':
: multiple definition of `mpsubw'
mp.lo(.text+0xd10): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpsubw' changed from 83 in mp.lo to 42 in mpopt.lo
mpopt.lo(.text+0xa0): In function `mpadd':
: multiple definition of `mpadd'
mp.lo(.text+0xc00): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpadd' changed from 120 in mp.lo to 41 in mpopt.lo
mpopt.lo(.text+0xcc): In function `mpsub':
: multiple definition of `mpsub'
mp.lo(.text+0xd70): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpsub' changed from 129 in mp.lo to 41 in mpopt.lo
mpopt.lo(.text+0xf8): In function `mpdivtwo':
: multiple definition of `mpdivtwo'
mp.lo(.text+0x13f0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpdivtwo' changed from 43 in mp.lo to 24 in mpopt.lo
mpopt.lo(.text+0x110): In function `mpmultwo':
: multiple definition of `mpmultwo'
mp.lo(.text+0x1220): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpmultwo' changed from 60 in mp.lo to 29 in mpopt.lo
mpopt.lo(.text+0x130): In function `mpsetmul':
: multiple definition of `mpsetmul'
mp.lo(.text+0xef0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpsetmul' changed from 186 in mp.lo to 49 in mpopt.lo
mpopt.lo(.text+0x164): In function `mpaddmul':
: multiple definition of `mpaddmul'
mp.lo(.text+0xfb0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpaddmul' changed from 194 in mp.lo to 55 in mpopt.lo
mpopt.lo(.text+0x19c): In function `mpaddsqrtrc':
: multiple definition of `mpaddsqrtrc'
mp.lo(.text+0x11a0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mpaddsqrtrc' changed from 125 in mp.lo to 50 in mpopt.lo
mpopt.lo(.text+0x1d0): In function `mppndiv':
: multiple definition of `mppndiv'
mp.lo(.text+0x1ed0): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `mppndiv' changed from 120 in mp.lo to 13 in mpopt.lo
sha1opt.lo(.text+0x0): In function `sha1Process':
: multiple definition of `sha1Process'
sha1.lo(.text+0x80): first defined here
/usr/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../i686-pc-linux-gnu/bin/ld: Warning: size of symbol `sha1Process' changed from 5356 in sha1.lo to 3290 in sha1opt.lo
collect2: ld returned 1 exit status
make[2]: *** [libbeecrypt.la] Error 1
make[2]: Leaving directory `/var/tmp/portage/beecrypt-3.1.0-r2/work/beecrypt-3.1.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/beecrypt-3.1.0-r2/work/beecrypt-3.1.0'
make: *** [all] Error 2

!!! ERROR: dev-libs/beecrypt-3.1.0-r2 failed.
!!! Function src_compile, Line 53, Exitcode 2
!!! emake failed


I *think* this is due to me having a pentium-m processor and the beecrypt
configure script creating its own cflags (look at aclocal.m4). They somewhat
clash it seems (see first line of error output above)

I've commented out the lines 43-46 in the ebuild (where the gentoo cflags are
appended) and voila, the build succeeds.


Reproducible: Always
Steps to Reproduce:
1.emerge beecrypt-3.1.0-r2
2.watch it fail (see above output)
3.

Actual Results:  
compile failure

Expected Results:  
compile & emerge successfully :-)

Portage 2.0.50-r9 (default-x86-1.4, gcc-3.4.1, glibc-2.3.4.20040619-r1,
2.6.8-rc3-mm1)
=================================================================
System uname: 2.6.8-rc3-mm1 i686 Intel(R) Pentium(R) M processor 1.80GHz
Gentoo Base System version 1.5.2
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -mmmx -msse -mno-sse2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.3/share/config /usr/kde/3/share/config /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 -march=pentium-m -fomit-frame-pointer -mmmx -msse -mno-sse2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache sandbox"
GENTOO_MIRRORS="http://gentoo.inode.at/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="X aalib acpi alsa apache2 apm arts avi berkdb bonobo cdr crypt cups
directfb dvb dvd encode esd fb fbcon foomaticdb gdbm ggi gif gpm gtk gtk2 guile
icc imlib ipv6 java jpeg kde libcaca libg++ libwww mad mikmod mmx motif mozilla
mpeg ncurses nls nptl oggvorbis opengl oss pam pcmcia pda pdflib perl png python
qt quicktime readline samba scanner sdl slang speex spell sse ssl svga tcpd
tetex theora tiff truetype usb x86 xinerama xml2 xmms xv zlib"
Comment 1 Manuel Lauss 2004-08-09 13:04:01 UTC
Same issues as in bug 47592, this time with pentium-m instead of athlon
Comment 2 Mike Basinger 2004-08-31 11:13:44 UTC
Same here, also ussing gcc 3.4.1 with pentium-m flag.
Comment 3 ivo welch 2004-12-23 15:03:44 UTC
hi chaps:  I am trying to get a flashplayer to install, and I was told that there is a binary rpm that may work (ftp://ruslug.rutgers.edu/pub/macromedia/apt/fedora/3/).  so,  I should try to install "rpm" first (bad memories!).  rpm emerges beecrypt, which in turn dies in aesopt.

this bug is of course 4 months old, so I hope this is still the same issue---else I am misposting.

$ emerge rpm
...
86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I. -DOPTIMIZE_I686 -DOPTIMIZE_MMX -march=athlon64 \
-pipe -O3 -fomit-frame-pointer -march=athlon64 -c aesopt.s  -fPIC -DPIC -o .libs/aesopt.lo
aesopt.s: Assembler messages:
aesopt.s:95: Error: suffix or operands invalid for `push'
aesopt.s:96: Error: suffix or operands invalid for `push'
aesopt.s:97: Error: suffix or operands invalid for `push'
aesopt.s:98: Error: suffix or operands invalid for `push'
aesopt.s:100: Error: `20(%esp)' is not a valid 64 bit base/index expression
aesopt.s:101: Error: `24(%esp)' is not a valid 64 bit base/index expression


Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r9 x86_64)
=================================================================
System uname: 2.6.9-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3000+
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.90.0.1.1-r3
Headers:  sys-kernel/linux26-headers-2.6.8.1-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X acpi alsa berkdb bitmap-fonts cdr crypt cups curl dvd dvdr esd f77 fam fbcon fortran g77 gdbm gif gnome gpm gtk imlib ipv6 jp2 jpeg kde libwww lzw lzw-tiff motif mozilla mpeg multilib ncurses nls opengl oss pam perl png python qt readline ssl tcpd tetex tiff truetype usb userlocales xml xml2 xmms xpm xrandr xv zlib"

Comment 4 Rob 2005-01-18 08:11:29 UTC
I also have the AMD64 problem. Commenting out the lines from
"      conf=""                                    "
to
"      econf \                                    "
fixes the problem.
Comment 5 Charlie Gehlin 2005-03-13 02:22:00 UTC
I confirm the bug and the solution in Comment #4 .
I'm also on (~)amd64.

Cheers!

/Charlie
Comment 6 Daniel Black (RETIRED) gentoo-dev 2005-06-26 03:11:06 UTC
amd64 peoples does comment 4 need to be implemented? 
 
I've just added 4.1.2 - hope that works. 
Comment 7 Daniel Black (RETIRED) gentoo-dev 2005-06-26 03:11:55 UTC
02 Apr 2005; Jeremy Huddleston <eradicator@gentoo.org>  
  beecrypt-3.1.0-r2.ebuild:  
  Fix compilation on amd64.  
 
hopefully this has been fixed. 
Comment 8 Stian Skjelstad 2005-06-26 07:50:08 UTC
From comment #1

> gcc -shared  aes.lo base64.lo beecrypt.lo blockmode.lo blockpad.lo blowfish.lo
dhaes.lo dldp.lo dlkp.lo dlpk.lo dlsvdp-dh.lo dsa.lo elgamal.lo endianness.lo
entropy.lo fips186.lo hmac.lo hmacmd5.lo hmacsha1.lo hmacsha256.lo md5.lo
memchunk.lo mp.lo mpbarrett.lo mpnumber.lo mpprime.lo mtprng.lo rsa.lo rsakp.lo
rsapk.lo sha1.lo sha256.lo timestamp.lo aesopt.lo blowfishopt.lo mpopt.lo
sha1opt.lo  -lrt -lpthread  -Wl,-soname -Wl,libbeecrypt.so.6 -o
.libs/libbeecrypt.so.6.2.0

dldp.lo is listed three times.. That doesn't look good.
Comment 9 Daniel Black (RETIRED) gentoo-dev 2005-06-26 14:25:35 UTC
Stian - one for the .la file and once for the .so 
 
I can't see the problem. 
 
Does beecrypt-4.1.2 fix the problem? 
Comment 10 Stian Skjelstad 2005-06-26 15:12:07 UTC
Created attachment 62009 [details, diff]
beecrypt-3.1.0.patch

Finally I'm at my gentoo box :-)

configure.ac has this logic in mind

pentium*)   defines that assembler inlines is to be included

but no pentium-m) rules exists later in configure to enable what kind of x86
optimize. I tried to create this patch, but I don't know how to disable libtool
regenerating configure/automake files. Tried to make file-stamps the same, but
still they want to be regenerated (with automake 1.7, which I don't have)

So either add pentium-m flag support to configure, or filter pentium-m flag to
a equalent cpu type in ebuild.
Comment 11 Manuel Lauss 2005-06-26 22:55:50 UTC
[response to #10]

I'd say replace pentium-m with pentium3. AFAIK gcc does not have any
special optimizations for p-m, and the p-m is a heavily optimized p-3 
anyway..
Comment 12 Daniel Black (RETIRED) gentoo-dev 2005-06-27 13:44:19 UTC
With pentium-m - the author knows about it and it will be fixed in 4.2.0 
 
Also there is a gcc-4.0 issue that compiles bad code for AES that will be 
fixed in this release. 
Comment 13 Jakub Moc (RETIRED) gentoo-dev 2005-12-23 14:31:38 UTC
*** Bug 116542 has been marked as a duplicate of this bug. ***
Comment 14 Jakub Moc (RETIRED) gentoo-dev 2006-01-05 17:13:54 UTC
*** Bug 117961 has been marked as a duplicate of this bug. ***
Comment 15 Stian Skjelstad 2006-01-05 23:09:26 UTC
Why not apply the pentium-m patch? simular patches are added for other cpu-types.
Comment 16 Ivan D Vasin 2008-08-08 01:22:53 UTC
This is still a bug in beecrypt-4.1.2-r2 with -march=pentium4m. Setting -march=pentium-m works, however.