Skip to contentSkip to conversation

basic recipe building - iperf

DISCUSSION jfabernathy 3 participants 8 messages Jun 18, 2012 – Jun 19, 2012

lore
Share & tools
lore
#0 lore raw

I needed to do some network performance testing on a Crownbay board and needed iperf in that environment. Since I had the core-image-sato-sdk image created, I just booted that and took the tarball from Sourceforge and built it per the readme file instructions:

./configure
make
make install

After I completed my test, I thought about why not put that in my list of personal recipes. I found the previous version of iperf in the openembedded collection of benchmark recipes and just copied it over. It built and worked fine. There were a lot of items in the .bb that I didn't understand, so I thought for fun I'd just try to build a recipe for iperf 2.0.5 and see what happened. My recipe is simple, mostly taken from the openembedded 2.0.4 version had stripped down:
-----------------------------
DESCRIPTION = "Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics"
HOMEPAGE = "http://dast.nlanr.net/Projects/Iperf/"
SECTION = "console/network"
LICENSE = "NewBSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=e8478eae9f479e39bc34975193360298"

SRC_URI = " \
    ${SOURCEFORGE_MIRROR}/iperf/iperf-${PV}.tar.gz \
           "

SRC_URI[md5sum] = "44b5536b67719f4250faed632a3cd016"
SRC_URI[sha256sum] = "636b4eff0431cea80667ea85a67ce4c68698760a9837e1e9d13096d20362265b"

inherit autotools*
*
-----------------------
A lot of it worked, but I seem to have an install error on the man files. Can anyone see what is wrong based on the log below:

DEBUG: SITE files ['endian-little', 'bit-32', 'ix86-common', 'common-linux', 'common-glibc', 'i586-linux', 'common']
ERROR: Function failed: do_install (see /build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/temp/log.do_install.12443 for further information)
NOTE: make -j 8 DESTDIR=/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/image install
Making install in compat
make[1]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/compat'
make[2]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/compat'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/compat'
make[1]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/compat'
Making install in doc
make[1]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/doc'
make[2]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/doc'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/doc'
make[1]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/doc'
Making install in include
make[1]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/include'
make[2]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/include'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/include'
make[1]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/include'
Making install in src
make[1]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/src'
make[2]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/src'
test -z "/usr/bin" || /bin/mkdir -p "/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/image/usr/bin"
make[2]: Nothing to be done for `install-data-am'.
/usr/bin/install -c iperf
'/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/image/usr/bin'
make[2]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/src'
make[1]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/src'
Making install in man
make[1]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/man'
make[2]: Entering directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/man'
make[2]: Nothing to be done for `install-exec-am'.
test -z "/usr/share/man/man1" || /bin/mkdir -p "/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/image/usr/share/man/man1"
/usr/bin/install -c -m 644 iperf.1 iperf.1
'/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/image/usr/share/man/man1'
*/usr/bin/install: will not overwrite just-created /build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/image/usr/share/man/man1/iperf.1' with iperf.1' make[2]: *** [install-man1] Error 1*
make[2]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/man'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/build/crownbay-denzil/tmp/work/core2-poky-linux/iperf-2.0.5-r0/iperf-2.0.5/man'
make: *** [install-recursive] Error 1
ERROR: oe_runmake failed

#1 lore raw
Quoted 6 lines · jfabernathy

I needed to do some network performance testing on a Crownbay board and needed iperf in that environment. Since I had the core-image-sato-sdk image created, I just booted that and took the tarball from Sourceforge and built it per the readme file instructions:
./configure
make

Quoted 8 lines

make install
After I completed my test, I thought about why not put that in my list of personal recipes. I found the previous version of iperf in the openembedded collection of benchmark recipes and just copied it over. It built and worked fine. There were a lot of items in the .bb that I didn't understand, so I thought for fun I'd just try to build a recipe for iperf 2.0.5 and see what happened. My recipe is simple, mostly taken from the openembedded 2.0.4 version had stripped down:

Hi JF,

I add the same problem you had with the man page stuff, try this patch.

Marc

man/Makefile.am +1 -2
index ed97bc6..728873f 100644
@@ -1,2 +1 @@
-man_MANS = iperf.1
-dist_man_MANS = $(man_MANS)
+dist_man_MANS = iperf.1
#2 lore raw
Quoted 16 lines · Marc Ferland
Quoted 6 lines · jfabernathy

I needed to do some network performance testing on a Crownbay board and needed iperf in that environment. Since I had the core-image-sato-sdk image created, I just booted that and took the tarball from Sourceforge and built it per the readme file instructions:
./configure
make

Quoted 8 lines

make install
After I completed my test, I thought about why not put that in my list of personal recipes. I found the previous version of iperf in the openembedded collection of benchmark recipes and just copied it over. It built and worked fine. There were a lot of items in the .bb that I didn't understand, so I thought for fun I'd just try to build a recipe for iperf 2.0.5 and see what happened. My recipe is simple, mostly taken from the openembedded 2.0.4 version had stripped down:

Quoted 5 lines

Hi JF,

I add the same problem you had with the man page stuff, try this patch.

Marc

thanks, that patch fixed it from a build point of view. now I'll build the image again and see what happens on the hardware.

Jim A

#3 lore raw
Quoted 24 lines · jfabernathy
Quoted 22 lines · Marc Ferland

jfabernathy<jfabernathy@gmail.**com <[email protected]>> writes:

I needed to do some network performance testing on a Crownbay board and

Quoted 6 lines

needed iperf in that environment. Since I had the core-image-sato-sdk image created, I just booted that and took the tarball from
Sourceforge
and built it per the readme file instructions:
./configure
make

Quoted 9 lines

make install
After I completed my test, I thought about why not put that in my list of personal recipes. I found the previous version of iperf in the openembedded collection of benchmark recipes and just copied it over. It built and worked fine. There were a lot of items in the .bb that I didn't understand, so I thought for fun I'd just try to build a recipe for iperf 2.0.5 and see what happened. My recipe is simple, mostly taken from the openembedded 2.0.4 version had stripped down:

Hi JF,

I add the same problem you had with the man page stuff, try this patch.

Quoted 8 lines
Quoted 2 lines

Marc

thanks, that patch fixed it from a build point of view. now I'll build the image again and see what happens on the hardware.

Jim A

As expected the new image booted and ran the iperf 2.0.5 just fine. Are

there any plans to add this tool to the Yocto project??

Jim A

#4 lore raw
Quoted 3 lines · James Abernathy

On Mon, Jun 18, 2012 at 5:29 PM, jfabernathy <[email protected]>

Quoted 6 lines · wrote:
Quoted 6 lines · Marc Ferland
Quoted 4 lines
Quoted 1 line · jfabernathy

I needed to do some network performance testing on a Crownbay board

and

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

needed iperf in that environment. Since I had the

core-image-sato-sdk

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

image created, I just booted that and took the tarball from

Sourceforge

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

and built it per the readme file instructions:
./configure
make
make install
After I completed my test, I thought about why not put that in my

list

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

of personal recipes. I found the previous version of iperf in the openembedded collection of benchmark recipes and just copied it

over.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

It built and worked fine. There were a lot of items in the .bb

that I

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

didn't understand, so I thought for fun I'd just try to build a

recipe

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines

for iperf 2.0.5 and see what happened. My recipe is simple, mostly taken from the openembedded 2.0.4 version had stripped down:

Hi JF,

Quoted 7 lines
Quoted 7 lines
Quoted 5 lines

I add the same problem you had with the man page stuff, try this patch.

Marc

thanks, that patch fixed it from a build point of view. now I'll build

the image again and see what happens on the hardware.

Quoted 4 lines
Quoted 3 lines

Jim A

As expected the new image booted and ran the iperf 2.0.5 just fine. Are

there any plans to add this tool to the Yocto project??

Quoted 1 line

You could have just looked into meta-oe/recipes-benchmarks

Quoted 2 lines

Jim A

#5 lore raw
Quoted 45 lines · Khem Raj
Quoted 3 lines · James Abernathy

On Mon, Jun 18, 2012 at 5:29 PM, jfabernathy <[email protected]>

Quoted 6 lines · wrote:
Quoted 6 lines · Marc Ferland
Quoted 4 lines
Quoted 1 line · jfabernathy

I needed to do some network performance testing on a Crownbay

board and

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

needed iperf in that environment. Since I had the

core-image-sato-sdk

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

image created, I just booted that and took the tarball from

Sourceforge

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

and built it per the readme file instructions:
./configure
make
make install
After I completed my test, I thought about why not put that in my

list

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

of personal recipes. I found the previous version of iperf in the openembedded collection of benchmark recipes and just copied it

over.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

It built and worked fine. There were a lot of items in the .bb

that I

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

didn't understand, so I thought for fun I'd just try to build a

recipe

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines

for iperf 2.0.5 and see what happened. My recipe is simple, mostly taken from the openembedded 2.0.4 version had stripped down:

Hi JF,

Quoted 7 lines
Quoted 7 lines
Quoted 5 lines

I add the same problem you had with the man page stuff, try this patch.

Marc

thanks, that patch fixed it from a build point of view. now I'll build

the image again and see what happens on the hardware.

Quoted 1 line
Quoted 1 line
Quoted 9 lines
Quoted 3 lines
Quoted 2 lines

Jim A

As expected the new image booted and ran the iperf 2.0.5 just fine. Are

there any plans to add this tool to the Yocto project??

Quoted 1 line

You could have just looked into meta-oe/recipes-benchmarks

Quoted 2 lines

Jim A

You must have missed the earlier discussion. I first got the iperf 2.0.4 from meta-oe, but wanted 2.0.5, so I just added it to my private collection of apps.

Jim A

#6 lore raw
Quoted 3 lines · James Abernathy

You must have missed the earlier discussion.  I first got the iperf 2.0.4 from meta-oe, but wanted 2.0.5, so I just added it to my private collection of apps.

you can post the update patch for meta-oe layer

#7 lore raw
Quoted 9 lines · Khem Raj
Quoted 2 lines · James Abernathy

You must have missed the earlier discussion. I first got the iperf 2.0.4 from meta-oe, but wanted 2.0.5, so I just added it to my private

collection

Quoted 1 line

of apps.

you can post the update patch for meta-oe layer

I can pass along what I did for iperf 2.0.5 in Yocto, but I have no idea what to do for OE. All the commands in their 2.0.4, which worked when copied to my meta-jfa directory, didn't mean much to me. I just started from scratch and created a new recipe based on autotools plus the patch that Marc passed along.

Jim A