Thanks for the fast reply, yes, the packages-split/libutil is empty.  As 
stated, I produce a .so, a .a and some headers, it appears that bitbake.conf 
will treat those as libutil-dev and libutil-staticdev, leaving my libutil 
empty.  You say I must fix that, but I am unclear how.  Basically, if I look at 
the logic it seems ok, shared/static libs are "-dev" stuff and I do not mind, 
but then if I change IMAGE_INSTALL_append to use libutil-dev I still get an 
error:

        error: Can't install libutil-dev-1.0.0-r0@i586: no package provides 
libutil = 1.0.0-r0

I looked at libpcap as an example, I see no override of FILES_ or PACKAGES, and 
yet the libpcap package exists.  Ha! Think I got it, libpcap.so is actually 
libpcap.so.1, so likely the issue is that my lib is libutil.so, I will rename 
it to libutil.so.1 and should get same results then.

Ok, that would explain it, thanks a lot!

--
Yannick Koehler

-----Message d'origine-----
De : Paul Eggleton [mailto:paul.eggle...@linux.intel.com] 
Envoyé : January-07-15 12:59 PM
À : Koehler, Yannick (HP Networking)
Cc : yocto@yoctoproject.org
Objet : Re: [yocto] do_rootfs missing package (ipk) or not found in base feeds 
(rpm)

Hi Yannick,

On Wednesday 07 January 2015 17:20:08 Koehler, Yannick wrote:
>   I created my second recipe in Yocto, it is a shared library.
> 
> --
> SUMMARY = "libutil"
> 
> LICENSE = "LGPLv2.1+"
> LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
> 
> SRC_URI = "file://libutil-${PV}-Source.tar.bz2"
> SRC_URI[md5sum] = "???"
> SRC_URI[sha256sum] = "???"
> 
> S = "${WORKDIR}/libutil-${PV}-Source"
> 
> DEPENDS = "libpcap"
> 
> inherit cmake
> --
> 
>   I added to conf/distro/poky.conf the following
> 
> --
> IMAGE_INSTALL_append = " libutil"
> --
> 
>    It build nicely and install some headers and a shared library.  
> Yet, when Yocto calls the do_rootfs, it fails and claim that the 
> package is not found.
> 
>    I did a "find tmp -name libutil*" and see that  I have the following:
> 
> ../build/tmp/deploy/rpm/i586/libutil-staticdev-1.0.0-r0.i586.rpm
> ../build/tmp/deploy/rpm/i586/libutil-dev-1.0.0-r0.i586.rpm
> ../build/tmp/deploy/rpm/i586/libutil-dbg-1.0.0-r0.i586.rpm
> ../build/tmp/deploy/ipk/i586/libutil-dbg_1.0.0-r0_i586.ipk
> ../build/tmp/deploy/ipk/i586/libutil-staticdev_1.0.0-r0_i586.ipk
> ../build/tmp/deploy/ipk/i586/libutil-dev_1.0.0-r0_i586.ipk
> 
>   I am unclear what triggered the package to be named -dev or 
> -staticdev and actually having no package named 
> libutil-1.0.0-r0.i586.rpm as it seems that do_rootfs is looking for.
> 
>   I have tried with both ipk and rpm without success.  I searched 
> google for some answer but could not get a solution to this problem.  
> My
> libutil-1.0.0-Source.tar.bz2 generate a libutil.so, libutil-static.a 
> and headers, all of which is install properly when using 
> cmake/make/make install. I am using a local copy of Yocto "Dizzy".

What's almost certainly happening is your main libutil package is ending up 
empty; by default packages are not actually written out if they are empty (the 
-dev, -dbg and -staticdev are always written out). You can verify this by 
looking under packages-split under the workdir for the recipe 
(tmp/work/<architecture>/libutil/1.0.0-r0/). Either this is because files you 
want in the main package aren't actually being built, or they are ending up in 
one of the other packages. During do_package, the build system looks through 
packages in the order they are mentioned in the PACKAGES variable, and the 
first package whose FILES value matches the file gets the file (you can see the 
default values of PACKAGES and FILES in meta/conf/bitbake.conf). So either you 
need to fix it so that the right files are being produced/installed, or adjust 
PACKAGES / FILES as appropriate.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to