do_package (arm-poky-linux-gnueabi-objcopy) fails

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

do_package (arm-poky-linux-gnueabi-objcopy) fails

ソリューションへジャンプ
18,749件の閲覧回数
lukasschwoebel
Contributor II

Good Morning,

on trying to compile a custom make-file-based package ("libxbee"), I get an error while the do_package routine is running. My board is iMX6 wandboard-quad and I am using the dora-branch.

ERROR: objcopy failed with exit code 256 (cmd was 'arm-poky-linux-gnueabi-objcopy' --add-gnu-debuglink='/..../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/package/usr/lib/.debug/libxbee.so.3.0.10' '/..../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/package/usr/lib/libxbee.so.3.0.10'):

arm-poky-linux-gnueabi-objcopy:/..../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/package/usr/lib/stB6ee1m: cannot create debug link section `/..../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/package/usr/lib/.debug/libxbee.so.3.0.10': Invalid operation

ERROR: Function failed: split_and_strip_files

ERROR: Logfile of failure stored in: /..../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/temp/log.do_package.3126

ERROR: Task 516 (/..../sources/meta-wvsnp-pkgs/recipes-libxbee/libxbee/libxbee_3.bb, do_package) failed with exit code '1'

I had some troubles to get it compiling, but these steps are running through smoothly now. But I cannot figure out what exactly fails during the packaging-process. To be honest, I can't even tell what the process is doing in detail (other than, you know, "packaging").

If you need it, here is my recipe file for it:

DESCRIPTION = "A C/C++ library to aid the use of Digi XBee radios in API mode."

SECTION = "base"

HOMEPAGE = "http://code.google.com/p/libxbee/"

LICENSE = "GPLv2+"

LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"

SRC_URI = "git://github.com/attie/libxbee3.git;protocol=git"

SRCREV = "aad1fce3864eccc80a003b3b93010e6f56bb87dd"

S = "${WORKDIR}/git/"

PR = "r1"

do_configure() {

  oe_runmake configure

}

do_compile() {

  oe_runmake all

}

do_install () {

    mkdir -p ${D}/usr/share/man/man3

    oe_runmake install SYS_ROOT=${D}

}


Does anyone have an idea?

Thanks,

Lukas.

ラベル(3)
1 解決策
10,316件の閲覧回数
lukasschwoebel
Contributor II

Hi everyone,

Thanks for your help, I got it running finally. I played around with autotools and the EXTRA_OEMAKE variable, but it did not seem to ehlp.

My solution seemed to be to add $libdir to the FILES_{$PN} variable and disable stripping according to Re: [yocto] How to pack non striped valgrind image into squashfs image:

If you want the binaries not to be stripped, try

adding INHIBIT_PACKAGE_STRIP = "1" to valgrind recipe.

This will disable stripping the binaries as you have mentioned.

Here's my running recipe:

DESCRIPTION = "A C/C++ library to aid the use of Digi XBee radios in API mode."

SECTION = "base"

HOMEPAGE = "http://code.google.com/p/libxbee/"

LICENSE = "LGPLv3"

LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"

SRC_URI = "git://github.com/attie/libxbee3.git;protocol=git"

SRCREV = "aad1fce3864eccc80a003b3b93010e6f56bb87dd"

S = "${WORKDIR}/git/"

PR = "r1"

INHIBIT_PACKAGE_STRIP = "1"

FILES_${PN} += "${libdir}/"

do_configure() {

  echo ${libdir}

  oe_runmake configure

}

do_compile() {

  oe_runmake all

}

do_install () {

    mkdir -p ${D}/usr/share/man/man3

    oe_runmake install SYS_ROOT=${D}

}

元の投稿で解決策を見る

5 返答(返信)
10,317件の閲覧回数
lukasschwoebel
Contributor II

Hi everyone,

Thanks for your help, I got it running finally. I played around with autotools and the EXTRA_OEMAKE variable, but it did not seem to ehlp.

My solution seemed to be to add $libdir to the FILES_{$PN} variable and disable stripping according to Re: [yocto] How to pack non striped valgrind image into squashfs image:

If you want the binaries not to be stripped, try

adding INHIBIT_PACKAGE_STRIP = "1" to valgrind recipe.

This will disable stripping the binaries as you have mentioned.

Here's my running recipe:

DESCRIPTION = "A C/C++ library to aid the use of Digi XBee radios in API mode."

SECTION = "base"

HOMEPAGE = "http://code.google.com/p/libxbee/"

LICENSE = "LGPLv3"

LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"

SRC_URI = "git://github.com/attie/libxbee3.git;protocol=git"

SRCREV = "aad1fce3864eccc80a003b3b93010e6f56bb87dd"

S = "${WORKDIR}/git/"

PR = "r1"

INHIBIT_PACKAGE_STRIP = "1"

FILES_${PN} += "${libdir}/"

do_configure() {

  echo ${libdir}

  oe_runmake configure

}

do_compile() {

  oe_runmake all

}

do_install () {

    mkdir -p ${D}/usr/share/man/man3

    oe_runmake install SYS_ROOT=${D}

}

10,316件の閲覧回数
attie
Contributor I

Hi Lukas,

Sorry to hear you're having issues.

  1. Are the four dots (....) being passed to objcopy or is this an artifact of your build system? This may be causing the issue.
  2. If you're happy for the debug information to be in the final shared object (instead of separated into a debug file), then please try the following patch: http://pastebin.com/tvGF7QXP

I also noticed that you've put the licence as GPLv2+.

It's actually licensed using LGPLv3 if that's an option in your build system.

I hope this helps,

Attie

0 件の賞賛
返信
10,316件の閲覧回数
LeonardoSandova
Specialist I

Hi Lukas,

if you are using autotools for the compilation (alias make), you should inherit the class, so first try your recipe with

DESCRIPTION = "A C/C++ library to aid the use of Digi XBee radios in API mode."

SECTION = "base"

HOMEPAGE = "http://code.google.com/p/libxbee/"

LICENSE = "GPLv2+"

LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"

SRC_URI = "git://github.com/attie/libxbee3.git;protocol=git"

SRCREV = "aad1fce3864eccc80a003b3b93010e6f56bb87dd"

S = "${WORKDIR}/git/"

PR = "r1"


inherit autotools

0 件の賞賛
返信
10,316件の閲覧回数
lukasschwoebel
Contributor II

Hi,

autotools won't help in my case, or I cannot utilise it. The installation (do_install) process will fail, if I do not use my custom do_install routine..

ERROR: Function failed: do_install (log file is located at /.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/temp/log.do_install.6196)

ERROR: Logfile of failure stored in: /.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/temp/log.do_install.6196

Log data follows:

| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']

| DEBUG: Executing shell function do_install

| NOTE: make -j 4 SYS_ROOT=/.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/image DESTDIR=/.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/image install

| make: *** No rule to make target `/.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/image.dir', needed by `/.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/image/libxbee.so.3.0.10'.  Stop.

| ERROR: oe_runmake failed

| WARNING: exit code 1 from a shell command.

| ERROR: Function failed: do_install (log file is located at /.../build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libxbee/3-r2/temp/log.do_install.6196)

ERROR: Task 508 (/.../sources/meta-wvsnp-pkgs/recipes-libxbee/libxbee/libxbee_3.bb, do_install) failed with exit code '1'

On leaving the custom do_install but inheriting from autotools, will still produce the same error as in the first posting.

0 件の賞賛
返信
10,316件の閲覧回数
LeonardoSandova
Specialist I

You may post this question to the meta-freescale list. Also, there is an example on this section http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#usingpoky-extend-addpkg-autotool...

Leo

0 件の賞賛
返信