[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