[yocto] Trouble creating new package
Jack Mitchell
ml at communistcode.co.uk
Tue Jan 10 05:20:05 PST 2012
On 10/01/12 11:21, Jack Mitchell wrote:
> On 10/01/12 11:16, Martin Jansa wrote:
>> On Tue, Jan 10, 2012 at 11:08:22AM +0000, Jack Mitchell wrote:
>>> Good morning everyone,
>>>
>>> I am currently having issues creating a (very!) simple package. I have
>>> looked at the latest reference manual and studied other .bb files to no
>>> avail.
>>>
>>> I am trying to build a simple web server called Hiawatha. To install
>>> (http://www.hiawatha-webserver.org/howto/compilation_and_installation)
>>> it consists of a simple:
>>>
>>> ./configure
>>>
>>> make
>>>
>>> make install
>>>
>>> Now, for the life in me I cannot replicate this behaviour in a .bb
>>> file.
>>> This is what I have so far:
>>>
>>> DESCRIPTION = "Lightweight secure web server"
>>> HOMEPAGE = "http://www.hiawatha-webserver.org"
>>>
>>> LICENSE = "GPLv2"
>>> LIC_FILES_CHKSUM =
>>> "file://COPYING;md5=a9b0a0eb7c54c87ec6ac05f5f603df6a"
>>>
>>> SECTION = "custom"
>>>
>>> PR = "r0"
>>>
>>> SRC_URI =
>>> "http://www.hiawatha-webserver.org/files/hiawatha-7.8.2.tar.gz"
>>>
>>> SRC_URI[md5sum] = "8aff3f8c759871ea1d1ff22e98030332"
>>>
>>> do_configure () {
>>>
>>> ./configure --disable-ipv6 \
>>> --disable-ssl \
>>> --disable-toolkit \
>>> --disable-xslt \
>>> --disable-largefile \
>>>
>>> oe_runmake
>>>
>>> }
>>>
>>> do_install () {
>>>
>>> oe_runmake install DESTDIR=${D} SBINDIR=${sbindir}
>>> MANDIR=${mandir} \
>>> INCLUDEDIR=${includedir}
>>>
>>> }
>>>
>>> Could someone point me in the right direction, I feel this should be an
>>> extremely easy piece of software to build - I think I'm just not
>>> understanding the build system correctly....
>>>
>>> The error I receive when trying to build this package is:
>>>
>>> ERROR: Function 'do_install' failed (see
>>> /home/jack/yocto/poky-git/beagleInitial/tmp/work/armv5te-poky-linux-gnueabi/hiawatha-7.8.2-r0/temp/log.do_install.6289
>>>
>>> for further information)
>>> | NOTE: make -j 9 -e MAKEFLAGS= -e install
>>> DESTDIR=/home/jack/yocto/poky-git/beagleInitial/tmp/work/armv5te-poky-linux-gnueabi/hiawatha-7.8.2-r0/image
>>>
>>> SBINDIR=/usr/sbin MANDIR=/usr/share/man INCLUDEDIR=/usr/include
>>> | make: *** No rule to make target `install'. Stop.
>>> | ERROR: oe_runmake failed
>> try to start with
>> inherit autotools
>>
>> Cheers,,
>>
>>> Thanks in advance,
>>> Jack.
>>>
>>> _______________________________________________
>>> yocto mailing list
>>> yocto at yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>
> Hi Martin,
>
> Inheriting autotools makes no difference, I also don't understand why
> autotools should be inherited if it is only a make/configure
> combination being used?
>
> Best Regards
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
Ok, I have managed to get a bit further on this. I didn't realise that I
had to do
bitbake -c clean hiawatha
Everytime I had changed the package to ensure that it was building with
the new configuration. My new .bb looks like this:
DESCRIPTION = "Lightweight secure web server"
HOMEPAGE = "http://www.hiawatha-webserver.org"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=a9b0a0eb7c54c87ec6ac05f5f603df6a"
DEPENDS = "openssl libxml2 libxslt"
SECTION = "custom"
PR = "r0"
SRC_URI = "http://www.hiawatha-webserver.org/files/hiawatha-7.8.2.tar.gz"
SRC_URI[md5sum] = "8aff3f8c759871ea1d1ff22e98030332"
inherit autotools
EXTRA_OEMAKE = "'CC=${CC}' 'CFLAGS=${CFLAGS} -I${S}/include
-DWITHOUT_XATTR' \
'BUILDDIR=${S}'"
EXTRA_OECONF = " --disable-ipv6 \
--disable-ssl \
--disable-toolkit \
--disable-xslt \
--disable-largefile \
--mandir=${mandir}"
do_configure() {
oe_runconf
}
do_compile() {
oe_runmake
}
do_install() {
oe_runmake install DESTDIR=${D} SBINDIR=${sbindir}
INCLUDEDIR=${includedir}
Now, this is building and installing however the Hiawatha binary doesn't
get included in the build. The configuration files make it in so I know
it's running the make install phase however I don't know how to find out
what is going on during the build and why the binary isn't making it in
the rootfs.
More information about the yocto
mailing list