Re: R: Pjsip Recipe for Yocto

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




----- On Mar 28, 2017, at 4:04 AM, Daniele Elia 86eldnl@xxxxxxxxx wrote:

> Hi guys,
> I have wrote this Pjsip Yocto recipe, but when I try to copy all static (.a)
> libraries into target I have the following error:

Normally in yocto you want the static libs in the -staticdev package [0], so in your
recipe you would usually do something like:

FILES_${PN} = "<path to your .so>"
FILES_${PN}-dev = "<path to the headers>"
FILES_${PN}-staticdev = "<path to the static libs 
FILES_${PN}-dbg = "<path to the debug symbols>"

Also, I think if you don't explicitly set these variables, yocto will try to
auto-detect what goes where based on common paths.

0 - http://www.yoctoproject.org/docs/1.6.1/dev-manual/dev-manual.html#including-static-library-files

> 
> Pjsip Yocto Recipe
> ==================================================================================
> 
> DEPENDS += "alsa-lib openssl"
> 
> SRC_URI = " \
> file://pjproject-2.5.5 \
> "
> 
> S = "${WORKDIR}/pjproject-2.5.5"
> 
> inherit autotools pkgconfig
> 
> do_configure_prepend() {
> export LD="${CXX}"
> }
> 
> do_configure() {
> cd ${WORKDIR}/pjproject-2.5.5
> ./aconfigure --host=arm-poky-linux-gnueabi --disable-libwebrtc
> --target=arm-poky-linux-gnueabi CFLAGS="" LDFLAGS=""
> --prefix=${WORKDIR}/pjproject-2.5.5
> }
> 
> do_compile_prepend() {
> cd ${WORKDIR}/pjproject-2.5.5
> oe_runmake dep
> oe_runmake
> }
> 
> do_install() {
> 
> install -d ${D}/usr
> install -d ${D}/usr/local
> install -d ${D}/usr/local/include
> install -d ${D}/usr/local/lib
> 
> cp -RLf ${WORKDIR}/pjproject-2.5.5/pjlib/include/* ${D}/usr/local/include
> cp -RLf ${WORKDIR}/pjproject-2.5.5/pjlib-util/include/* ${D}/usr/local/include
> cp -RLf ${WORKDIR}/pjproject-2.5.5/pjnath/include/* ${D}/usr/local/include
> cp -RLf ${WORKDIR}/pjproject-2.5.5/pjmedia/include/* ${D}/usr/local/include
> cp -RLf ${WORKDIR}/pjproject-2.5.5/pjsip/include/* ${D}/usr/local/include
> 
> cp -Lf ${WORKDIR}/pjproject-2.5.5/pjsip/lib/libpjsua2-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> 
> cp -Lf ${WORKDIR}/pjproject-2.5.5/pjsip/lib/libpjsua-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf ${WORKDIR}/pjproject-2.5.5/pjsip/lib/libpjsip-ua-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/pjsip/lib/libpjsip-simple-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf ${WORKDIR}/pjproject-2.5.5/pjsip/lib/libpjsip-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/pjmedia/lib/libpjmedia-codec-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/pjmedia/lib/libpjmedia-videodev-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/pjmedia/lib/libpjmedia-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/pjmedia/lib/libpjmedia-audiodev-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf ${WORKDIR}/pjproject-2.5.5/pjnath/lib/libpjnath-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/pjlib-util/lib/libpjlib-util-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf ${WORKDIR}/pjproject-2.5.5/pjlib/lib/libpj-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> 
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libsrtp-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libresample-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libgsmcodec-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libspeex-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libilbccodec-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libg7221codec-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> # cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libportaudio-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> cp -Lf
> ${WORKDIR}/pjproject-2.5.5/third_party/lib/libyuv-arm-poky-linux-gnueabi.a
> ${D}/usr/local/lib
> 
> }
> 
> FILES_${PN} += "${libdir}/* \
> /usr/local/* \
> /usr/local/include/* \
> /usr/local/lib/* \
> /usr/local/lib/libpjsua2-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjsua-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjsip-ua-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjsip-simple-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjsip-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjmedia-codec-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjmedia-videodev-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjmedia-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjmedia-audiodev-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjnath-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpjlib-util-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libpj-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libsrtp-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libresample-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libgsmcodec-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libspeex-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libilbccodec-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libg7221codec-arm-poky-linux-gnueabi.a \
> /usr/local/lib/libyuv-arm-poky-linux-gnueabi.a \
> "
> ==================================================================================
> 
> Obtained error:
> 
> ERROR: pjproject-1.0-r0 do_package_qa: QA Issue: non -staticdev package contains
> static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libresample-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjsip-ua-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjsip-simple-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjlib-util-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libilbccodec-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjsua2-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjsua-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjnath-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libsrtp-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libyuv-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjmedia-videodev-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjmedia-audiodev-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjsip-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjmedia-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libspeex-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpj-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libg7221codec-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libpjmedia-codec-arm-poky-linux-gnueabi.a'
> non -staticdev package contains static .a library: pjproject path
> 'work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/packages-split/pjproject/usr/local/lib/libgsmcodec-arm-poky-linux-gnueabi.a'
> [staticdev]
> ERROR: pjproject-1.0-r0 do_package_qa: QA run found fatal errors. Please
> consider fixing them.
> ERROR: pjproject-1.0-r0 do_package_qa: Function failed: do_package_qa
> ERROR: Logfile of failure stored in:
> /home/user/krogoth/fsl-release-bsp/icoremx6quad/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/pjproject/1.0-r0/temp/log.do_package_qa.44126
> 
> How can I solve this problem? Thanks in advice.
> 
> Best Regards
> Ll
> 
> 2017-03-27 8:24 GMT+02:00 Praveen Kumar < praveen.kumar@xxxxxxxxxxxx > :
> 
> 
> 
> Yes. You can copy the required files in 'do_install' task so that they get
> copied in the target file system.
> 
> --
> Praveen Kumar
> VVDN Technologies Pvt Ltd
> Mobile: +91 987 162 3666 | Skype: praveenkumar_vvdn
> 
> 
> On Fri, Mar 24, 2017 at 8:45 PM, Lele < 86eldnl@xxxxxxxxx > wrote:
> 
> 
> 
> 
> 
> Hi Kumar,
> 
> Thanks for the support. I have been used your recipe and bitbake is working
> fine, but when I run bitbake of Yocto Image that includes pjsiproject (thus
> pjsip recipe), in the target filesystem there aren't PJSIP libraries. Should I
> copy some directories in do_install task? Thanks in advice
> 
> 
> 
> Best Regards
> 
> Ll
> 
> 
> 
> Da: pjsip [mailto: pjsip-bounces@xxxxxxxxxxxxxxx ] Per conto di Praveen Kumar
> Inviato: Thursday, March 23, 201 7 12:51
> A: pjsip list < pjsip@xxxxxxxxxxxxxxx >
> Oggetto: Re:  Pjsip Recipe for Yocto
> 
> 
> 
> 
> 
> Hi Lele,
> 
> 
> 
> 
> 
> You can use the following recipe as a reference & give it a shot. Please note
> that I'm manually downloading the PJSIP code (rather than bitbake recipe fetch
> it) & placing it source code.
> 
> 
> 
> 
> 
> Also, I'm installing all the PJSIP libs & includes in my source directory itself
> using 'prefix' while configuring. You can customize as per you need.
> 
> 
> 
> 
> 
> 
> 
> 
> DESCRIPTION = "PJ Project"
> 
> 
> SECTION = "app"
> 
> 
> LICENSE = ""
> 
> 
> PR = ""
> 
> 
> 
> 
> 
> DEPENDS = "alsa-lib openssl"
> 
> 
> 
> 
> 
> inherit autotools pkgconfig
> 
> 
> 
> 
> 
> do_configure_prepend () {
> 
> 
> export LD="${CXX}"
> 
> 
> }
> 
> 
> 
> 
> 
> do_configure() {
> 
> 
> cd ${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib/pjproject-lib
> 
> 
> ./aconfigure --host=arm-poky-linux-gnueabi --disable-libwebrtc
> --target=arm-poky-linux-gnueabi
> --prefix=${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib
> 
> 
> }
> 
> 
> 
> 
> 
> do_compile_prepend() {
> 
> 
> cd ${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib/pjproject-lib
> 
> 
> oe_runmake dep
> 
> 
> oe_runmake
> 
> 
> }
> 
> 
> 
> 
> 
> do_install() {
> 
> 
> cd ${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib/pjproject-lib
> 
> 
> oe_runmake install
> 
> 
> }
> 
> 
> 
> 
> 
> do_pre_clean() {
> 
> 
> cd ${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib/pjproject-lib
> 
> 
> oe_runmake clean
> 
> 
> rm -rf ${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib/include
> 
> 
> rm -rf ${TOPDIR}/../sources/meta-eliuaccs/recipes-app/pjproject-lib/lib
> 
> 
> }
> 
> 
> 
> 
> 
> addtask do_pre_clean after do_clean
> 
> 
> 
> 
> 
> --
> Praveen Kumar
> VVDN Technologies Pvt Ltd
> 
> 
> Mobile: +91 987 162 3666 | Skype: praveenkumar_vvdn
> 
> 
> 
> 
> 
> 
> 
> 
> On Thu, Mar 23, 2017 at 5:06 PM, Lele < 86eldnl@xxxxxxxxx > wrote:
> 
> 
> 
> 
> Hi guys,
> 
> I’m trying to build and install Pjsip library on ARM target with Yocto.
> 
> I have wrote the following recipe but it’s not working properly. Yocto Image has
> been compiled successfully but in the destination Target there aren’t pjsip
> libraries (probably there is some misconfiguration on do_install task):
> 
> 
> 
> ===================================================================================================
> 
> 
> 
> DESCRIPTION = “”
> 
> SECTION = ””
> 
> HOMEPAGE = HTTP://www.pjsip.org/
> 
> LICENSE = ””
> 
> 
> 
> DEPENDS = “alsa-lib libv4l openssll util-linux”
> 
> 
> 
> PARALLEL_MAKE = “”
> 
> 
> 
> SRC_URI = “ file:// ...”
> 
> 
> 
> S = “${WORKDIR}/pjproject-2.5.5”
> 
> 
> 
> Inherit autotools-brokensep pkgconfig pythonnative
> 
> 
> 
> do_configure_prepend() {
> 
> export LD= ”${CC}”
> 
> echo “export CFLAGS += -Fpic” > user.mak
> 
> echo “export LDFLAGS += -fuse-ld=bfd” > user.mak
> 
> }
> 
> 
> 
> do_compile_prepend() {
> 
> make dep
> 
> }
> 
> 
> 
> do_compile_append() {
> 
> make
> 
> }
> 
> 
> 
> do_install_prepend() {}
> 
> do_install_append() {
> 
> # remove the absolute path to the host’s include dir
> 
> sed -i ‘s:\-I/usr/include::’ ${D}/usr/lib/pkgconfig/libpjproject.pc
> 
> # remove the fdebug-prefix-map options
> 
> Sed -I ‘s:\-fdebug-prefix-map[a-Za-Z0-9\._\/=\-]*::g’
> ${D}/usr/lib/pkgconfig/libpjproject.pc
> 
> }
> 
> 
> 
> ALLOW_EMPTY_${PN} = “1”
> 
> 
> 
> ===================================================================================================
> 
> 
> 
> How can I write a recipe for a Pjsip libraries? Thanks in advice
> 
> 
> 
> Best Regards
> 
> Ll
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip@xxxxxxxxxxxxxxx
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
> 
> 
> 
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip@xxxxxxxxxxxxxxx
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
> 
> 
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip@xxxxxxxxxxxxxxx
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
> 
> 
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip@xxxxxxxxxxxxxxx
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux