On 10/01/12 13:50, Gary Thomas wrote:
On 2012-01-10 06:39, Jack Mitchell wrote:
On 10/01/12 13:38, James Abernathy wrote:

On Tue, Jan 10, 2012 at 8:20 AM, Jack Mitchell <m...@communistcode.co.uk <mailto:m...@communistcode.co.uk>> wrote:

    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 <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@yoctoproject.org <mailto:yocto@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@yoctoproject.org <mailto:yocto@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 <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.

Maybe you need an IMAGE_INSTALL += "hiawatha" in you local.conf????

I already have this in my custom image .bb file. As noted above it seems to install everything apart from the binary so all the config files go in, just not the especially
important bit!

Did you look at the log file created during the install step?
It will be in a file named something like this:
  tmp/work/arm*/hiawatha*/temp/log.do_install
assuming that your target architecture is ARM

If you don't see any problems or can't figure out what's going wrong,
try putting some print statements in the install step and check the
log file.


Ah hah, thank you Gary, I found a wealth of information in that folder. The do_install log didn't exist but after a quick browse, I found that the binaries are actually present on the system, but pre-fixed with arm-poky-linux-gnueabi-'binary-name'. e.g.

arm-poky-linux-gnueabi-cgi-wrapper arm-poky-linux-gnueabi-newroot arm-poky-linux-gnueabi-wigwam
arm-poky-linux-gnueabi-hiawatha     arm-poky-linux-gnueabi-php-fcgi

What could be happening here?

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to