[oe] gnome-mplayer fails to build due to no libstdc++.so.6 instaging (available in cross)
Ulf Samuelsson
ulf.samuelsson at atmel.com
Tue Mar 16 20:26:23 UTC 2010
Ulf Samuelsson skrev:
> Paul Menzel skrev:
>> Am Montag, den 15.03.2010, 23:00 +0100 schrieb Ulf Samuelsson:
>>
>> […]
>>
>>> If I move the "libstdc++.so[.6[.0.10]]" files to the staging directory
>>> the build will complete, and gnome-mplayer runs on the target.
>>>
>>> I tried doing
>>> DEPENDS = "libstdc++"
>>> in "libmusicbrainz.inc"
>>> but get a "no buildable provider" error.
>>>
>>> I tried
>>> RDEPENDS = "libstdc++"
>>> and then libmusicbrainz completes, but again gnome-mplayer exists with
>>> the error above.
>>>
>>> How ensure that staging gets populated with libstdc++ if libmusicbrainz
>>> is used?
>> You cannot use package names in `DEPENDS`. You have to use the name of
>> the recipe or the recipes has to have `PROVIDES` set. I ask the same on
>> IRC today.
>>
>> So you have to find the name of the recipe creating `libstdc++`.
>>
>>
>> Thanks,
>>
>> Paul
>>
>
> If I grep for libstdc++ in recipes, then it looks like the provider
> is "meta/external-toolchain.bb"
>
> I don't want to add the complete cross-compiler.
>
> Will try adding "libstd++" to the image I am building.
> The line "images/fso-image-nox.bb: libstdc++ \" below
> and some googling gives me hope!
Adding
IMAGE_INSTALL += " libstdc++ "
to a very basic image gives me
libstdc++.so.6 and libstdc++.so.6.0.10 in /usr/lib
If I add
IMAGE_INSTALL += " libstdc++ "
to my main image and the build gnome-mplayer
then gnome-mplayer fails during compile.
This little recipe will do what I want, but is there a better way?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
PR = "r1"
LIBSTDCPLUSPLUS_TARGET = ${STAGING_DIR_TARGET}/lib
do_install () {
if ! [ -e ${LIBSTDCPLUSPLUS_TARGET}/libstdc++.so ] ; then
cp ${CROSS_DIR}/${TARGET_SYS}/lib/libstdc++.so.6.*
${LIBSTDCPLUSPLUS_TARGET}
cd ${LIBSTDCPLUSPLUS_TARGET}
file=`ls libstdc++.so.6.*`
ln -s $file libstdc++.so.6
ln -s $file libstdc++.so
fi
}
----------------------------------------------------------------------------
>
>
>
>
> gcc/gcc-configure-canadian-sdk.inc: (cd ${S}/libstdc++-v3 && autoreconf)
> gcc/gcc-configure-common.inc: --enable-libstdcxx-pch \
> gcc/gcc-cross_csl-arm-2008q3.bb: sed -i -e
> 's:gcc_no_link=yes:gcc_no_link=no:' ${S}/libstdc++-v3/configure
> gcc/gcc-cross_csl-arm-2008q1.bb: sed -i -e
> 's:gcc_no_link=yes:gcc_no_link=no:' ${S}/libstdc++-v3/configure
> gcc/gcc-4.1.2.inc: ln -sf ${S}/libstdc++-v3/config/os/uclibc/
> ${S}/libstdc++-v3/config/os/uclibc-linux
> gcc/gcc-configure-cross.inc: sed -i
> "s|dependency_libs\s*=\s*.*|dependency_libs='-L${CROSS_DIR}/${TARGET_SYS}/$d
> ${LIBGCCS_VAR} -lc
> -lm '|" ${CROSS_DIR}/${TARGET_SYS}/$d/libstdc++.la || true
> gcc/mingw-gcc-build.inc: sed -i -e "s|installed=yes|installed=no|" -e
> "s|dependency_libs\s*=\s*.*|dependency_libs='-L${STAGING_DIR_HOST
> }${layout_libdir} ${LIBGCCS_VAR} -lc -lm '|"
> ${STAGING_DIR_HOST}${layout_libdir}/libstdc++.la || true
> gcc/gcc-cross_csl-arm-2007q3.bb: sed -i -e
> 's:gcc_no_link=yes:gcc_no_link=no:' ${S}/libstdc++-v3/configure
> gcc/gcc-package-sdk.inc: ${TARGET_PREFIX}strip
> ${D}${prefix}/${TARGET_SYS}/lib/libstdc++.so.*
> gcc/gcc-package-cross.inc:PACKAGES = "libgcc libssp libstdc++ libg2c
> libgfortran"
> gcc/gcc-package-cross.inc:FILES_libstdc++ =
> "${target_libdir}/libstdc++.so.*"
> gcc/gcc-package-cross.inc: # Move libstdc++ and libg2c into libdir
> (resetting our prefix to /usr
> gcc/gcc-package-cross.inc: if [ -f
> ${D}${prefix}/*/lib/nof/libstdc++.so ]; then
> gcc/gcc-package-cross.inc: mv -f
> ${D}${prefix}/*/lib/nof/libstdc++.so* ${D}${target_libdir} || true
> gcc/gcc-package-cross.inc: mv -f
> ${D}${prefix}/*/${target_base_libdir}/libstdc++.so* ${D}${target_libdir}
> || true
> gcc/gcc-package-cross.inc: ${TARGET_PREFIX}strip
> ${D}${target_libdir}/libstdc++.so.* || true
> gcc/gcc-package-target.inc: libstdc++-dev \
> gcc/gcc-package-target.inc:FILES_libstdc++ = "${libdir}/libstdc++.so.*"
> gcc/gcc-package-target.inc:FILES_libstdc++-dev = "\
> gcc/gcc-package-target.inc: ${libdir}/libstdc++.so \
> gcc/gcc-package-target.inc: ${libdir}/libstdc++.la \
> gcc/gcc-package-target.inc: ${libdir}/libstdc++.a \
> images/fso-image-nox.bb: libstdc++ \
> mamona/gcc-noemu_4.1.2.bb: ln -sf
> ${S}/libstdc++-v3/config/os/uclibc/ ${S}/libstdc++-v3/config/os/uclibc-linux
> meta/slugos-native.bb: libstdc++-dev \
> meta/external-toolchain-generic.bb:RPROVIDES = "glibc glibc-utils
> libsegfault glibc-thread-db libgcc-dev libgcc libstdc++-dev libstdc++ ldd"
> meta/external-toolchain-csl.bb:INSANE_SKIP_libstdc++ = True
> meta/external-toolchain-csl.bb: libstdc++ \
> meta/external-toolchain-csl.bb: libstdc++-dev \
> meta/external-toolchain-csl.bb:FILES_libstdc++ = "${libdir}/libstdc++.so.*"
> meta/external-toolchain-csl.bb:FILES_libstdc++-dev = "\
> meta/external-toolchain-csl.bb: ${libdir}/libstdc++.so \
> meta/external-toolchain-csl.bb: ${libdir}/libstdc++.la \
> meta/external-toolchain-csl.bb: ${libdir}/libstdc++.a \
> meta/external-toolchain-csl.bb:PKGV_libstdc++ = ${CSL_VER_GCC}
> meta/external-toolchain-csl.bb:PKGV_libstdc++-dev = ${CSL_VER_GCC}
> meta/external-toolchain.bb:RPROVIDES = "glibc-utils libsegfault
> glibc-thread-db libgcc-dev libgcc libstdc++-dev libstdc++"
> sharprom-toolchain/sharprom-toolchain-native_1.0.bb:RPROVIDES =
> "glibc-utils libsegfault glibc-thread-db libgcc-dev libstdc++-dev libstdc++"
> tasks/task-sdk-bare.bb: libstdc++ \
> tasks/task-sdk-bare.bb: libstdc++-dev \
> tasks/task-openmoko-native-sdk.bb: libstdc++-dev \
> tasks/task-fso-toolchain-target.bb: libstdc++ \
> tasks/mamona-sdk.inc: libstdc++-dev \
> tasks/task-openmoko-toolchain-target.bb: libstdc++ \
> tasks/task-mamona-base.bb: libstdc++ \
>
>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
>
--
Best Regards
Ulf Samuelsson
More information about the Openembedded-devel
mailing list