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

Bug 46127

Summary: gst-plugins-oss-0.8.0 ebuild fails: no rule to make ../../gst-libs/gst/libgstinterfaces-0.8.la
Product: Gentoo Linux Reporter: burrelln
Component: [OLD] GNOMEAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Output of emerge

Description burrelln 2004-03-29 09:35:00 UTC
Emerging gst-plugins-oss-0.8.0 fails with the attached output.  The last error is

make: *** No rule to make target `../../gst-libs/gst/libgstinterfaces-0.8.la', needed by `libgstossaudio.la'.  Stop.



Reproducible: Always
Steps to Reproduce:
1.emerge =gst-plugins-oss-0.8.0
2.
3.

Actual Results:  
ebuild fails with 

!!! ERROR: media-plugins/gst-plugins-oss-0.8.0 failed.
!!! Function gst-plugins_src_compile, Line 138, Exitcode 2
!!! compile failure

Expected Results:  
emerge should have succeeded

Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0,
2.6.4-gentoo)
=================================================================
System uname: 2.6.4-gentoo i686 Pentium III (Coppermine)
Gentoo Base System version 1.4.3.13p1
distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops  -pipe
-fomit-frame-pointer -msse -mmmx -mfpmath=sse,387"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /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="-O3 -march=pentium3 -fprefetch-loop-arrays -funroll-loops  -pipe
-fomit-frame-pointer -msse -mmmx -mfpmath=sse,387"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://mirror.tucdemonic.org/gentoo/
http://csociety-ftp.ecn.purdue.edu/pub/gentoo/ http://mirrors.tds.net/gentoo
http://cudlug.cudenver.edu/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/gnome-current /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X alsa apm avi berkdb crypt cups dvd emacs encode esd fam foomaticdb gdbm
gif gnome gpm gtk gtk2 gtkhtml imagemagick imap imlib java jpeg libg++ libwww
mad mikmod motif mozilla mpeg ncurses nls oggvorbis opengl pam pcmcia pdflib
perl png python quicktime readline sdl slang spell ssl svga tcpd tetex truetype
x86 xml2 xv zlib"
Comment 1 burrelln 2004-03-29 09:36:10 UTC
Created attachment 28296 [details]
Output of emerge
Comment 2 Joe Tennies 2004-03-29 11:47:27 UTC
It's an ugly fix, but it works.  In the gst-plugins.eclass, replace gst-plugins_src+compile() with the following

gst-plugins_src_compile() {

	gst-plugins_src_configure ${@}

	if ! [ -z ${GST_NEED_INTERFACE} ]; then
		cd ${S}/gst-libs
		emake
	fi

	gst-plugins_find_plugin_dir
	mv Makefile Makefile.old
	cat Makefile.old | sed s/'$(top_builddir)\/gst-libs\/gst\/libgstinterfaces-0.8.la'// | \
		sed s/'${top_builddir}\/gst-libs\/gst\/libgstinterfaces-0.8.la'// > Makefile
	emake || die "compile failure"

}
Comment 3 Joe Tennies 2004-03-29 12:49:35 UTC
actually that doesn't work.  a simple one is:

gst-plugins_src_compile() {

	gst-plugins_src_configure ${@}

	if ! [ -z ${GST_NEED_INTERFACE} ]; then
		cd ${S}/gst-libs
		emake
	fi

	gst-plugins_find_plugin_dir
	cp /usr/lib/libgstinterfaces-0.8* ../../gst-libs/gst/
	emake -lgstinterfaces-0.8 || die "compile failure"

}

Though there should be a way to change /usr/lib if things are installed in something like /home/newsys/usr/lib (hope that made more sense than it seemed)
Comment 4 foser (RETIRED) gentoo-dev 2004-03-29 22:23:56 UTC
this works fine here already, are you sure your eclass is up-to-date ? Your code snippets suggest it isn't.
Comment 5 Joe Tennies 2004-03-30 01:08:14 UTC
you're right.  Apparently you made a new one after I last synced.
Comment 6 foser (RETIRED) gentoo-dev 2004-03-30 09:10:49 UTC
hmm i never update the eclass without updating the ebuilds if necessary, so it's very unlikely this should ever be out-of-sync on a normal system.
Comment 7 burrelln 2004-03-30 09:15:30 UTC
Emerge sync this morning still does not work.  The gst-plugins eclass I have has this version:

# $Header: /home/cvsroot/gentoo-x86/eclass/gst-plugins.eclass,v 1.11 2004/03/29 15:36:16 foser Exp $

Is this the same eclass that you are testing with?
Comment 8 foser (RETIRED) gentoo-dev 2004-03-30 09:29:18 UTC
@ comment #7 : thats the correct version. You havent been using non-gentoo stuff have you (BMG) ?
Comment 9 burrelln 2004-03-30 09:39:04 UTC
Guilty as charged.  The old gst-plugins.eclass from BMG that I had in one of my overlay directories doesn't appropriately handle the libgstinterface renaming.  Building with PORTDIR_OVERLAY="" emerge gst-plugins-oss works correctly.  My apologies about wasting your time with a problem of my own causing.  In the future, is there any way to tell which eclass file is being used for a particular ebuild?
Comment 10 foser (RETIRED) gentoo-dev 2004-03-30 10:53:25 UTC
not that i know of at this time...