Skip to contentSkip to conversation

Trouble creating new package

DISCUSSION Jack Mitchell 6 participants 11 messages Jan 10, 2012

lore
Share & tools
lore
#0 lore raw

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

Thanks in advance,
Jack.

#1 lore raw
Quoted 58 lines · Jack Mitchell

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:

Quoted 8 lines

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,,

Quoted 8 lines

Thanks in advance,
Jack.

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 67 lines · Martin Jansa
Quoted 58 lines · Jack Mitchell

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:

Quoted 8 lines

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

Quoted 12 lines

try to start with
inherit autotools

Cheers,,

Quoted 7 lines

Thanks in advance,
Jack.

_______________________________________________
yocto mailing list
[email protected]
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

#3 lore raw
Quoted 86 lines · Jack Mitchell
Quoted 67 lines · Martin Jansa
Quoted 66 lines · Jack Mitchell

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

Quoted 15 lines
Quoted 3 lines

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,,

Quoted 7 lines

Thanks in advance,
Jack.

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Hi Martin,

Quoted 7 lines

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
[email protected]
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.

#4 lore raw
Quoted 166 lines · Jack Mitchell
Quoted 100 lines · Jack Mitchell
Quoted 78 lines · Martin Jansa
Quoted 68 lines · Jack Mitchell

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<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=**a9b0a0eb7c54c87ec6ac05f5f603df **6a"

SECTION = "custom"

PR = "r0"

SRC_URI = "http://www.hiawatha-**webserver.org/files/hiawatha-** 7.8.2.tar.gz<http://www.hiawatha-webserver.org/files/hiawatha-7.8.2.tar.gz> "

SRC_URI[md5sum] = "**8aff3f8c759871ea1d1ff22e980303**32"

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

Quoted 8 lines

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

Quoted 14 lines

try to start with
inherit autotools

Cheers,,

Thanks in advance,

Quoted 7 lines

Jack.

______________________________**_________________
yocto mailing list
[email protected]
https://lists.yoctoproject.**org/listinfo/yocto<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?

Quoted 6 lines

Best Regards
______________________________**_________________
yocto mailing list
[email protected]
https://lists.yoctoproject.**org/listinfo/yocto<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=**a9b0a0eb7c54c87ec6ac05f5f603df** 6a"
DEPENDS = "openssl libxml2 libxslt"

SECTION = "custom"

PR = "r0"

SRC_URI = "http://www.hiawatha-**webserver.org/files/hiawatha-** 7.8.2.tar.gz<http://www.hiawatha-webserver.org/files/hiawatha-7.8.2.tar.gz> "
SRC_URI[md5sum] = "**8aff3f8c759871ea1d1ff22e980303**32"

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}

Quoted 7 lines

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????

Jim A

Quoted 5 lines

______________________________**_________________
yocto mailing list
[email protected]
https://lists.yoctoproject.**org/listinfo/yocto<https://lists.yoctoproject.org/listinfo/yocto>

#5 lore raw
Quoted 172 lines · James Abernathy

On Tue, Jan 10, 2012 at 8:20 AM, Jack Mitchell <[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
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
[email protected] <mailto:[email protected]>
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}

Quoted 7 lines

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!

Thank you for you help though!

Regards,

Quoted 8 lines

Jim A

_______________________________________________
yocto mailing list
[email protected] <mailto:[email protected]>
https://lists.yoctoproject.org/listinfo/yocto

#6 lore raw
Quoted 151 lines · Jack Mitchell
Quoted 150 lines · James Abernathy

On Tue, Jan 10, 2012 at 8:20 AM, Jack Mitchell <[email protected] <mailto:[email protected]>> 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
                [email protected] <mailto:[email protected]>
                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
        [email protected] <mailto:[email protected]>
        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}
Quoted 7 lines
Quoted 4 lines

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.

Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#7 lore raw
Quoted 186 lines · Gary Thomas
Quoted 180 lines · Jack Mitchell
Quoted 179 lines · James Abernathy

On Tue, Jan 10, 2012 at 8:20 AM, Jack Mitchell <[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
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
[email protected] <mailto:[email protected]>
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.

Quoted 4 lines
Quoted 1 line

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!

Quoted 10 lines

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?

#8 lore raw
Quoted 202 lines · Jack Mitchell
Quoted 186 lines · Gary Thomas
Quoted 180 lines · Jack Mitchell
Quoted 179 lines · James Abernathy

On Tue, Jan 10, 2012 at 8:20 AM, Jack Mitchell <[email protected] <mailto:[email protected]>> 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
[email protected] <mailto:[email protected]>
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
[email protected] <mailto:[email protected]>
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.

Quoted 4 lines
Quoted 1 line

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!

Quoted 10 lines

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

Quoted 6 lines

What could be happening here?

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Right i've gotten further. I added --program-prefix= to the OE_EXTRACONF and that ditched the elf prefix. My last hurdle now is that I get errors that /var/log/hiawatha/system.log cannot be created, now this is due to the /var/log/hiawatha folder not being present. I have tried making it during install in the .bb file but it gets deleted when I run qemu, do I need some sort of system logging utility?

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 \
file://hiawatha-init"
SRC_URI[md5sum] = "8aff3f8c759871ea1d1ff22e98030332"

inherit autotools update-rc.d

INITSCRIPT_NAME = "hiawatha"
INITSCRIPT_PARAMS = "defaults 70"

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} \
             --program-prefix="

do_configure() {

oe_runconf

}

do_compile() {

oe_runmake

}

do_install() {

oe_runmake install DESTDIR=${D} SBINDIR=${sbindir}
INCLUDEDIR=${includedir}

  #create directories
  install -d ${D}${sysconfdir}/init.d ${D}var/log/hiawatha

# Copy over init script
install -m 0755 ${WORKDIR}/hiawatha-init
${D}${sysconfdir}/init.d/hiawatha

}

#9 lore raw
In reply to Jack Mitchell
Quoted 3 lines · Jack Mitchell

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?

That's what autotools *is*. ./configure is almost always a script generated by autoconf, which is one of the tools referred to by autotools (autoconf, automake, libtool).

Signature · 1 line
Christopher Larson
#10 lore raw
In reply to Jack Mitchell
Quoted 44 lines · Jack Mitchell
Quoted 43 lines · Martin Jansa
Quoted 42 lines · Jack Mitchell

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 \

Quoted 4 lines
Quoted 4 lines
Quoted 4 lines

oe_runmake

}

By using inherit autotools, you can remove this step and let bitbake handle the configure and compile / make steps.

You can reduce the above to
EXTRA_OECONF = "--disable-ipv6 --disable-ssl --disable-toolkit --disable-xslt --disable-largefile"

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

do_install () {

oe_runmake install DESTDIR=${D} SBINDIR=${sbindir} MANDIR=${mandir} \
INCLUDEDIR=${includedir}

}

This generally looks correct, but I would move the install to the end, not sure why but it might make a difference.

Another test you can do since it gets to the install point is to use devshell (bitbake hiawatha -c devshell)

The will give you a shell with all the variables set and you can run the make install directly on the command line and verify if there is a problem there. You can also review the run scripts in the temp/run.do_install.<pid> file for the hiawatha package.

Hope that helps you.

Sau!

Quoted 41 lines
Quoted 13 lines
Quoted 13 lines

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

Quoted 15 lines
Quoted 3 lines

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,,

Quoted 7 lines

Thanks in advance,
Jack.

_______________________________________________
yocto mailing list
[email protected]
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
[email protected]
https://lists.yoctoproject.org/listinfo/yocto