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

Bug 266008

Summary: media-sound/amarok-1.4.10_p20090130-r1: missing libpcreposix.la file
Product: Gentoo Linux Reporter: Ivan Alejandro <ivanalejandro0>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED WORKSFORME    
Severity: normal CC: gengor
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Ivan Alejandro 2009-04-13 14:52:38 UTC
Compilation aborts because a file is missing:
"grep: /usr/lib/libpcreposix.la: No such file or directory"

Extract from "libpcre-7.9.ebuild":
src_install() {
        emake DESTDIR="${D}" install || die "make install failed"

        gen_usr_ldscript -a pcre

        dodoc doc/*.txt AUTHORS
        use doc && dohtml doc/html/*
        find "${D}" -type f -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
}

The .la files are deleted in libpcre's installation, so amarok never find it.

Reproducible: Always

Steps to Reproduce:
1. emerge =amarok-1.4.10_p20090130-r1 -v
Actual Results:  
Couldn't compile because a missing file (/usr/lib/libpcreposix.la)

Expected Results:  
No errors

~ # emerge =amarok-1.4.10_p20090130-r1 -v

[snip]

/bin/sh ../../../libtool --silent --tag=CXX --mode=compile i486-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../amarok/src/amarokcore -I/usr/kde/3.5/include -I/usr/qt/3/include -I.  -I/usr/kde/3.5/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -mtune=i686 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -c -o universalamarok.lo universalamarok.cpp
/bin/sh ../../../libtool --silent --tag=CXX --mode=compile i486-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I../../../amarok/src/amarokcore -I/usr/kde/3.5/include -I/usr/qt/3/include -I.  -I/usr/kde/3.5/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -mtune=i686 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -c -o amarokdcopiface_stub.lo amarokdcopiface_stub.cpp
/bin/sh ../../../libtool --silent --tag=CXX --mode=link i486-pc-linux-gnu-g++  -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -O2 -mtune=i686 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION   -Wl,-O1 -o konqsidebar_universalamarok.la -rpath /usr/lib/kde3 -module -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /usr/lib -R /usr/kde/3.5/lib -R /usr/qt/3/lib -R /usr/kde/3.5/lib  -L/usr/kde/3.5/lib -L/usr/qt/3/lib     -L/usr/kde/3.5/lib -lkonqsidebarplugin universalamarok.lo amarokdcopiface_stub.lo -lkhtml -lkparts -lkio
grep: /usr/lib/libpcreposix.la: No such file or directory
/bin/sed: can't read /usr/lib/libpcreposix.la: No such file or directory
libtool: link: `/usr/lib/libpcreposix.la' is not a valid libtool archive
make[4]: *** [konqsidebar_universalamarok.la] Error 1
make[4]: se sale del directorio `/var/tmp/portage/media-sound/amarok-1.4.10_p20090130-r1/work/amarok-1.4.10/amarok/src/konquisidebar'
make[3]: *** [all-recursive] Error 1
make[3]: se sale del directorio `/var/tmp/portage/media-sound/amarok-1.4.10_p20090130-r1/work/amarok-1.4.10/amarok/src'
make[2]: *** [all-recursive] Error 1
make[2]: se sale del directorio `/var/tmp/portage/media-sound/amarok-1.4.10_p20090130-r1/work/amarok-1.4.10/amarok'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/var/tmp/portage/media-sound/amarok-1.4.10_p20090130-r1/work/amarok-1.4.10'
make: *** [all] Error 2
 *
 * ERROR: media-sound/amarok-1.4.10_p20090130-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 4240:  Called kde_src_compile
 *             environment, line 3045:  Called kde_src_compile 'all'
 *             environment, line 3170:  Called kde_src_compile 'myconf' 'configure' 'make'
 *             environment, line 3166:  Called die
 * The specific snippet of code:
 *                   emake || die "died running emake, $FUNCNAME:make"
 *  The die message:
 *   died running emake, kde_src_compile:make
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-sound/amarok-1.4.10_p20090130-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-sound/amarok-1.4.10_p20090130-r1/temp/environment'.
 *
Comment 1 Peter Alfredsen (RETIRED) gentoo-dev 2009-04-13 14:58:56 UTC
Run revdep-rebuild -i -- -a
revdep-rebuild is available in the gentoolkit package.
Comment 2 Ivan Alejandro 2009-04-15 19:02:34 UTC
(In reply to comment #1)
> Run revdep-rebuild -i -- -a
> revdep-rebuild is available in the gentoolkit package.
> 

Thanks, it solved my problem...
I would like to know the reason for the disappearing of some .la files
Comment 3 Francisco Blas Izquierdo Riera (RETIRED) gentoo-dev 2009-06-11 23:15:18 UTC
Acoording to the ebuild of libpcre:
 * Messages for package dev-libs/libpcre-7.9-r1:

 * This version of libpcre has stopped installing .la files. This may
 * cause compilation failures in other packages. To fix this problem,
 * install dev-util/lafilefixer and run:
 * lafilefixer --justfixit
Comment 4 Miroslaw Mieszczak 2009-06-14 21:21:51 UTC
It is strange. How lafilefixer can fix files that don't even exist?
if you look into the script you can find:

                for arg in "${@}"
                do
                        if [[ -d "${arg}" || -f "${arg}" ]]
                        then
                                arglist+=( "${arg}" )
                        else
                                printf '%s\n' "${arg} is not a valid directory or file, skipping."
                        fi
                done
Comment 5 anomen 2009-06-15 09:55:49 UTC
> It is strange. How lafilefixer can fix files that don't even exist?
lafilefixer fixes existing .la files not to point to non-existing ones.

running "lafilefixer --justfixit" solved this problem for me.