Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 26474

Summary: esound merge fails with undefined reference to OtsMove
Product: Gentoo Linux Reporter: Timothy Bissell <tbissell>
Component: New packagesAssignee: Tavis Ormandy (RETIRED) <taviso>
Status: RESOLVED TEST-REQUEST    
Severity: normal    
Priority: Low    
Version: unspecified   
Hardware: Alpha   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Timothy Bissell 2003-08-12 03:49:02 UTC
EV56 system, trying to compile esound fails as follows:

gcc -mcpu=ev56 -Wa,-mev6 -O3 -pipe -fPIC -o .libs/esdcat esdcat.o 
./.libs/libesd.so -L/usr/lib /usr/lib/libaudiofile.a -lm
./.libs/libesd.so: undefined reference to `_OtsMove'
./.libs/libesd.so: undefined reference to `__floor'
./.libs/libesd.so: undefined reference to `_OtsZero'
./.libs/libesd.so: undefined reference to `_OtsDivide64Unsigned'
./.libs/libesd.so: undefined reference to `_OtsDivide64'
./.libs/libesd.so: undefined reference to `_OtsFill'
collect2: ld returned 1 exit status
Comment 1 Timothy Bissell 2003-08-12 03:50:45 UTC
Adding -lots and -lcpml to the linking corrects this problem.

I corrected it by adding a quick sed entry to the ebuild.
Comment 2 Timothy Bissell 2003-08-12 03:54:08 UTC
Portage 2.0.48-r7 (default-alpha-1.4, gcc-3.2.3, glibc-2.3.2-r1)
=================================================================
System uname: 2.4.20 alpha EV56
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="alpha crypt cups encode foomaticdb gif gnome jpeg kde libg++ mikmod ncurses nls opengl oss pdflib png qt quicktime sdl spell truetype X xml2 xmms xv zlib gnome-libs gdbm berkdb slang readline java guile mysql gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gtk motif"
COMPILER="gcc3"
CHOST="alphaev56-unknown-linux-gnu"
CFLAGS="-mcpu=ev56 -Wa,-mev6 -O3 -pipe -fPIC"
CXXFLAGS="-O2 -pipe"
ACCEPT_KEYWORDS="alpha ~alpha"
MAKEOPTS="-j3"
AUTOCLEAN="yes"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
FEATURES="sandbox buildpkg ccache distcc userpriv usersandbox notitles"
Comment 3 Tavis Ormandy (RETIRED) gentoo-dev 2003-08-12 05:02:59 UTC
The problem is if you compile a library with ccc, anything that links with it (even if your compiling with gcc) will need to be linked with libots. 

This isnt a problem, theres a function called otsify() in ccc.eclass that will add all of the libots functions to a library which then will not require -lots.

The problem is detecting when someone is using ccc without disrupting the dependencies of other arches. otsify() would be great otherwise, all the speed benefits of using ccc without any of the problems of mixing ccc/gcc compiles.
Comment 4 Tavis Ormandy (RETIRED) gentoo-dev 2003-08-12 05:03:51 UTC
This is a problem though, assigning to self to try and find a solution.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2005-12-10 06:09:47 UTC
Pretty stale bug, reopen if this is still a problem with current versions in
portage.