All of lore.kernel.org
 help / color / mirror / Atom feed
* Can't get *.a's into SDK sysroot
@ 2018-07-24 23:53 Greg Wilson-Lindberg
  2018-07-25  0:08 ` Andre McCurdy
  0 siblings, 1 reply; 6+ messages in thread
From: Greg Wilson-Lindberg @ 2018-07-24 23:53 UTC (permalink / raw)
  To: yocto


[-- Attachment #1.1: Type: text/plain, Size: 3926 bytes --]

I've created a recipe for Canfestival (a CAN bus CANOpen support library). I have had it building for a while, but I had the configuration set up to build all parts of it as .so's. I need to change it so that parts of the library are .a's. My problem is that I can't get the .a's to copy to the SDK sysroot /usr/lib directory. The .a's are in the canfestival image/usr/lib & sysroot-destdir/usr/lib directories, but nothing that I've tried has gotten them to the SDK sysroot.



Here is the canfestival_3-asc.bb file that I'm using:



SUMMARY = "Independent CANOpen(r) stack"

DESCRIPTION = "CanFestival focuses on providing an ANSI-C platform independent \

               CANOpen(r) stack that can be built as master or slave nodes on PCs, \

               Real-time IPCs, and Microcontrollers."



HOMEPAGE = "http://www(dot)canfestival(dot)org/<http://www%20(dot)%20canfestival%20(dot)%20org/>" // obfuscated to get past our email system



SRCREV = "895:8973dd8be7e8"



SRC_URI = "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc \

           file://canfestival_3-asc-configure.patch<file:///\\canfestival_3-asc-configure.patch> \

           file://canfestival_3-asc-makefile.in.patch<file:///\\canfestival_3-asc-makefile.in.patch> \

           file://canfestival_3-asc-src_makefile.in.patch<file:///\\canfestival_3-asc-src_makefile.in.patch> \

           \

           file://sdo.c.patch<file:///\\sdo.c.patch> \

           file://def.h.patch<file:///\\def.h.patch> \

           "

PR = 'r01'



LICENSE = "LGPLv2"

LIC_FILES_CHKSUM = "file://COPYING;md5=46ec399d3928b6c91e3634ab7263af44 \

                    file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9<file:///\\LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9>"



TARGET_CC_ARCH += "${LDFLAGS}"







do_configure() {

    bbplain "Starting Configure"

    #bbplain "rootfs: ${D}"

    ./configure --target=unix --prefix=${D}/usr/ --can=socket --timers=unix  --SDO_MAX_SIMULTANEOUS_TRANSFERS=30 --SDO_MAX_LENGTH_TRANSFER=4096 --MAX_NB_TIMER=128 --SDO_TIMEOUT_MS=3000 --debug="WAR"



    bbplain "Configure Done"

}



do_compile() {

    oe_runmake canfestival

}



do_install() {

    bbplain "Starting Install"

    #bbplain "rootfs: ${D}"

    oe_runmake install PREFIX=${D}/usr/



    bbplain "Install Done"

}



FILES_${PN}-dbg = "/usr/src/debug/canfestival"

FILES_${PN}-dev = "/usr/lib/libcanfestival*.a /usr/include/canfestival/*.h"

FILES_${PN} = "/usr/lib/libcanfestival*.a /usr/lib/libcanfestival*.so"



#PACKAGE_BEFORE_PN = "${PN}-info"

#FILES_${PN}-info = "usr/lib/pkgconfig"


I've fiddled with the various FILES lines, but nothing that I do gets the .a files copied to the SDK sysroot /usr/lib directory.



Any insight into what is going wrong would be greatly appreciated.



Thanks in advance,


Greg Wilson-Lindberg

Principal Firmware Engineer | Sakura Finetek USA, Inc.



1750 W 214th Street | Torrance, CA 90501 | U.S.A.

T: +1 310 783 5075

F: +1 310 618 6902 | E: gwilson@sakuraus.com<mailto:gwilson@sakuraus.com>

www.sakuraus.com<http://www.sakuraus.com>



[cid:image002.png@01D35D7D.179A7510]

[cid:image003.png@01D35D7D.179A7510]


________________________________

Confidentiality Notice: This e-mail transmission may contain confidential or legally privileged information that is intended only for the individual or entity named in the e-mail address. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or reliance upon the contents of this e-mail is strictly prohibited. If you have received this e-mail transmission in error, please reply to the sender, so that Sakura Finetek USA, Inc. can arrange for proper delivery, and then please delete the message from your inbox. Thank you.




[-- Attachment #1.2: Type: text/html, Size: 20333 bytes --]

[-- Attachment #2: image001.png --]
[-- Type: image/png, Size: 949 bytes --]

[-- Attachment #3: image002.png --]
[-- Type: image/png, Size: 1916 bytes --]

[-- Attachment #4: image003.png --]
[-- Type: image/png, Size: 3012 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Can't get *.a's into SDK sysroot
  2018-07-24 23:53 Can't get *.a's into SDK sysroot Greg Wilson-Lindberg
@ 2018-07-25  0:08 ` Andre McCurdy
  2018-07-25  8:23   ` Zoran Stojsavljevic
  2018-07-25 18:15   ` Greg Wilson-Lindberg
  0 siblings, 2 replies; 6+ messages in thread
From: Andre McCurdy @ 2018-07-25  0:08 UTC (permalink / raw)
  To: Greg Wilson-Lindberg; +Cc: yocto

[-- Attachment #1: Type: text/plain, Size: 3401 bytes --]

On Tue, Jul 24, 2018 at 4:53 PM, Greg Wilson-Lindberg <GWilson@sakuraus.com>
wrote:

> I've created a recipe for Canfestival (a CAN bus CANOpen support library).
> I have had it building for a while, but I had the configuration set up to
> build all parts of it as .so's. I need to change it so that parts of the
> library are .a's. My problem is that I can't get the .a's to copy to the
> SDK sysroot /usr/lib directory. The .a's are in the canfestival
> image/usr/lib & sysroot-destdir/usr/lib directories, but nothing that I've
> tried has gotten them to the SDK sysroot.
>
>
>
> Here is the canfestival_3-asc.bb file that I'm using:
>
>
>
> SUMMARY = "Independent CANOpen® stack"
>
> DESCRIPTION = "CanFestival focuses on providing an ANSI-C platform independent \
>
>                CANOpen® stack that can be built as master or slave nodes on PCs, \
>
>                Real-time IPCs, and Microcontrollers."
>
>
>
> HOMEPAGE = "http://www(dot)canfestival(dot)org/ <http://www%20(dot)%20canfestival%20(dot)%20org/>" // obfuscated to get past our email system
>
>
>
> SRCREV = "895:8973dd8be7e8"
>
>
>
> SRC_URI = "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc \
>
>            file://canfestival_3-asc-configure.patch \
>
>            file://canfestival_3-asc-makefile.in.patch \
>
>            file://canfestival_3-asc-src_makefile.in.patch \
>
>            \
>
>            file://sdo.c.patch \
>
>            file://def.h.patch \
>
>            "
>
> PR = 'r01'
>
>
>
> LICENSE = "LGPLv2"
>
> LIC_FILES_CHKSUM = "file://COPYING;md5=46ec399d3928b6c91e3634ab7263af44 \
>
>                     file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9"
>
>
>
> TARGET_CC_ARCH += "${LDFLAGS}"
>
>
>
>
>
>
>
> do_configure() {
>
>     bbplain "Starting Configure"
>
>     #bbplain "rootfs: ${D}"
>
>     ./configure --target=unix --prefix=${D}/usr/ --can=socket --timers=unix  --SDO_MAX_SIMULTANEOUS_TRANSFERS=30 --SDO_MAX_LENGTH_TRANSFER=4096 --MAX_NB_TIMER=128 --SDO_TIMEOUT_MS=3000 --debug="WAR"
>
>
>
>     bbplain "Configure Done"
>
> }
>
>
>
> do_compile() {
>
>     oe_runmake canfestival
>
> }
>
>
>
> do_install() {
>
>     bbplain "Starting Install"
>
>     #bbplain "rootfs: ${D}"
>
>     oe_runmake install PREFIX=${D}/usr/
>
>
>
>     bbplain "Install Done"
>
> }
>
>
>
> FILES_${PN}-dbg = "/usr/src/debug/canfestival"
>
> FILES_${PN}-dev = "/usr/lib/libcanfestival*.a /usr/include/canfestival/*.h"
>
> FILES_${PN} = "/usr/lib/libcanfestival*.a /usr/lib/libcanfestival*.so"
>
>
>
> #PACKAGE_BEFORE_PN = "${PN}-info"
>
> #FILES_${PN}-info = "usr/lib/pkgconfig"
>
>
>
> I've fiddled with the various FILES lines, but nothing that I do gets the
> .a files copied to the SDK sysroot /usr/lib directory.
>
>
>
> Any insight into what is going wrong would be greatly appreciated.
>

Assuming the static libs are being built and installed correctly they
should be packaged correctly by the default packaging rules. ie you
shouldn't need to tweak any FILES_xxx values.

However you will need to ensure that the -staticdev package gets included
in the SDK. Assuming you always want the static libs for this particular
recipe to be available then you can try adding the following to the recipe:

  RDEPENDS_${PN}-dev += "${PN}-staticdev"

[-- Attachment #2: Type: text/html, Size: 11114 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Can't get *.a's into SDK sysroot
  2018-07-25  0:08 ` Andre McCurdy
@ 2018-07-25  8:23   ` Zoran Stojsavljevic
  2018-07-25 17:28     ` Andre McCurdy
  2018-07-25 18:15   ` Greg Wilson-Lindberg
  1 sibling, 1 reply; 6+ messages in thread
From: Zoran Stojsavljevic @ 2018-07-25  8:23 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: yocto

Hello Andre,

> RDEPENDS_${PN}-dev += "${PN}-staticdev"

I also read this email, and decided to investigate myself. Since I
wrote meta-mylayer with cannelloni recipe in it.

To find out if the recipe works correctly, and it is incorporated
(upfront) in ROOTFS, I did the following:
[1] Did the compilation of the clean tree;
[2] After that, I did: bitbake -s | grep cannelloni -> yes, the build
system sees it;
[3] Changed to ${TMPDIR}/work and issued the command: find . -name cannelloni

To my surprise, the search produced empty results.

Then I added your line to the cannelloni recipe: RDEPENDS_${PN}-dev +=
"${PN}-staticdev"

Again, bitbake -c cleanall cannelloni, then bitbake cannelloni, and
step [3] produced visible results.

Now I see it in the .../tmp/work/...

But, there were NOT any changes in: .../tmp/deploy/images/beaglebone/
directory (in ${build} directory, I guess)???

So, what I need to do to see build components changed (since I assume,
cannelloni still did not make it in ROOTFS)???

Thank you,
Zoran
_______

On Wed, Jul 25, 2018 at 2:08 AM, Andre McCurdy <armccurdy@gmail.com> wrote:
> On Tue, Jul 24, 2018 at 4:53 PM, Greg Wilson-Lindberg <GWilson@sakuraus.com>
> wrote:
>>
>> I've created a recipe for Canfestival (a CAN bus CANOpen support library).
>> I have had it building for a while, but I had the configuration set up to
>> build all parts of it as .so's. I need to change it so that parts of the
>> library are .a's. My problem is that I can't get the .a's to copy to the SDK
>> sysroot /usr/lib directory. The .a's are in the canfestival image/usr/lib &
>> sysroot-destdir/usr/lib directories, but nothing that I've tried has gotten
>> them to the SDK sysroot.
>>
>>
>>
>> Here is the canfestival_3-asc.bb file that I'm using:
>>
>>
>>
>> SUMMARY = "Independent CANOpen® stack"
>>
>> DESCRIPTION = "CanFestival focuses on providing an ANSI-C platform
>> independent \
>>
>>                CANOpen® stack that can be built as master or slave nodes
>> on PCs, \
>>
>>                Real-time IPCs, and Microcontrollers."
>>
>>
>>
>> HOMEPAGE = "http://www(dot)canfestival(dot)org/" // obfuscated to get past
>> our email system
>>
>>
>>
>> SRCREV = "895:8973dd8be7e8"
>>
>>
>>
>> SRC_URI =
>> "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc \
>>
>>            file://canfestival_3-asc-configure.patch \
>>
>>            file://canfestival_3-asc-makefile.in.patch \
>>
>>            file://canfestival_3-asc-src_makefile.in.patch \
>>
>>            \
>>
>>            file://sdo.c.patch \
>>
>>            file://def.h.patch \
>>
>>            "
>>
>> PR = 'r01'
>>
>>
>>
>> LICENSE = "LGPLv2"
>>
>> LIC_FILES_CHKSUM = "file://COPYING;md5=46ec399d3928b6c91e3634ab7263af44 \
>>
>>                     file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9"
>>
>>
>>
>> TARGET_CC_ARCH += "${LDFLAGS}"
>>
>>
>>
>>
>>
>>
>>
>> do_configure() {
>>
>>     bbplain "Starting Configure"
>>
>>     #bbplain "rootfs: ${D}"
>>
>>     ./configure --target=unix --prefix=${D}/usr/ --can=socket
>> --timers=unix  --SDO_MAX_SIMULTANEOUS_TRANSFERS=30
>> --SDO_MAX_LENGTH_TRANSFER=4096 --MAX_NB_TIMER=128 --SDO_TIMEOUT_MS=3000
>> --debug="WAR"
>>
>>
>>
>>     bbplain "Configure Done"
>>
>> }
>>
>>
>>
>> do_compile() {
>>
>>     oe_runmake canfestival
>>
>> }
>>
>>
>>
>> do_install() {
>>
>>     bbplain "Starting Install"
>>
>>     #bbplain "rootfs: ${D}"
>>
>>     oe_runmake install PREFIX=${D}/usr/
>>
>>
>>
>>     bbplain "Install Done"
>>
>> }
>>
>>
>>
>> FILES_${PN}-dbg = "/usr/src/debug/canfestival"
>>
>> FILES_${PN}-dev = "/usr/lib/libcanfestival*.a
>> /usr/include/canfestival/*.h"
>>
>> FILES_${PN} = "/usr/lib/libcanfestival*.a /usr/lib/libcanfestival*.so"
>>
>>
>>
>> #PACKAGE_BEFORE_PN = "${PN}-info"
>>
>> #FILES_${PN}-info = "usr/lib/pkgconfig"
>>
>>
>>
>> I've fiddled with the various FILES lines, but nothing that I do gets the
>> .a files copied to the SDK sysroot /usr/lib directory.
>>
>>
>>
>> Any insight into what is going wrong would be greatly appreciated.
>
>
> Assuming the static libs are being built and installed correctly they should
> be packaged correctly by the default packaging rules. ie you shouldn't need
> to tweak any FILES_xxx values.
>
> However you will need to ensure that the -staticdev package gets included in
> the SDK. Assuming you always want the static libs for this particular recipe
> to be available then you can try adding the following to the recipe:
>
>   RDEPENDS_${PN}-dev += "${PN}-staticdev"
>
>
>
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Can't get *.a's into SDK sysroot
  2018-07-25  8:23   ` Zoran Stojsavljevic
@ 2018-07-25 17:28     ` Andre McCurdy
  0 siblings, 0 replies; 6+ messages in thread
From: Andre McCurdy @ 2018-07-25 17:28 UTC (permalink / raw)
  To: Zoran Stojsavljevic; +Cc: yocto

On Wed, Jul 25, 2018 at 1:23 AM, Zoran Stojsavljevic
<zoran.stojsavljevic@gmail.com> wrote:
> Hello Andre,
>
>> RDEPENDS_${PN}-dev += "${PN}-staticdev"
>
> I also read this email, and decided to investigate myself. Since I
> wrote meta-mylayer with cannelloni recipe in it.
>
> To find out if the recipe works correctly, and it is incorporated
> (upfront) in ROOTFS, I did the following:
> [1] Did the compilation of the clean tree;
> [2] After that, I did: bitbake -s | grep cannelloni -> yes, the build
> system sees it;
> [3] Changed to ${TMPDIR}/work and issued the command: find . -name cannelloni
>
> To my surprise, the search produced empty results.
>
> Then I added your line to the cannelloni recipe: RDEPENDS_${PN}-dev +=
> "${PN}-staticdev"
>
> Again, bitbake -c cleanall cannelloni, then bitbake cannelloni, and
> step [3] produced visible results.
>
> Now I see it in the .../tmp/work/...
>
> But, there were NOT any changes in: .../tmp/deploy/images/beaglebone/
> directory (in ${build} directory, I guess)???
>
> So, what I need to do to see build components changed (since I assume,
> cannelloni still did not make it in ROOTFS)???

I'm not sure that I understand the question.

If you are asking why you sometimes don't see build artefacts under
${TMPDIR}/work then remember that the goal of building a normal recipe
is to create a set of installable packages under ${TMPDIR}/deploy. The
files in the work directory are just side effects of the intermediate
steps to achieve that... and bitbake will try hard to skip those
intermediate steps if they can be avoided (ie if outputs can be
recreated from sstate).

If you are asking why building your image from a completely clean tree
doesn't result in building your recipe (or changing your recipe
doesn't result in the image being rebuilt) then yes it suggests that
your image doesn't include and packages created by your recipe.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Can't get *.a's into SDK sysroot
  2018-07-25  0:08 ` Andre McCurdy
  2018-07-25  8:23   ` Zoran Stojsavljevic
@ 2018-07-25 18:15   ` Greg Wilson-Lindberg
  2018-07-26  6:58     ` Zoran Stojsavljevic
  1 sibling, 1 reply; 6+ messages in thread
From: Greg Wilson-Lindberg @ 2018-07-25 18:15 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: yocto


[-- Attachment #1.1: Type: text/plain, Size: 4864 bytes --]

Hi Andre,
The RDEPENDS did what I needed.

Thank you very much,


Greg Wilson-Lindberg

Principal Firmware Engineer | Sakura Finetek USA, Inc.



1750 W 214th Street | Torrance, CA 90501 | U.S.A.

T: +1 310 783 5075

F: +1 310 618 6902 | E: gwilson@sakuraus.com<mailto:gwilson@sakuraus.com>

www.sakuraus.com<http://www.sakuraus.com>



[cid:image002.png@01D35D7D.179A7510]

[cid:image003.png@01D35D7D.179A7510]


________________________________

Confidentiality Notice: This e-mail transmission may contain confidential or legally privileged information that is intended only for the individual or entity named in the e-mail address. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or reliance upon the contents of this e-mail is strictly prohibited. If you have received this e-mail transmission in error, please reply to the sender, so that Sakura Finetek USA, Inc. can arrange for proper delivery, and then please delete the message from your inbox. Thank you.



From: Andre McCurdy [mailto:armccurdy@gmail.com]
Sent: Tuesday, July 24, 2018 05:09 PM
To: Greg Wilson-Lindberg <GWilson@sakuraus.com>
Cc: yocto@yoctoproject.org
Subject: Re: [yocto] Can't get *.a's into SDK sysroot

On Tue, Jul 24, 2018 at 4:53 PM, Greg Wilson-Lindberg <GWilson@sakuraus.com<mailto:GWilson@sakuraus.com>> wrote:

I've created a recipe for Canfestival (a CAN bus CANOpen support library). I have had it building for a while, but I had the configuration set up to build all parts of it as .so's. I need to change it so that parts of the library are .a's. My problem is that I can't get the .a's to copy to the SDK sysroot /usr/lib directory. The .a's are in the canfestival image/usr/lib & sysroot-destdir/usr/lib directories, but nothing that I've tried has gotten them to the SDK sysroot.



Here is the canfestival_3-asc.bb<http://canfestival_3-asc.bb> file that I'm using:



SUMMARY = "Independent CANOpen® stack"

DESCRIPTION = "CanFestival focuses on providing an ANSI-C platform independent \

               CANOpen® stack that can be built as master or slave nodes on PCs, \

               Real-time IPCs, and Microcontrollers."



HOMEPAGE = "http://www(dot)canfestival(dot)org/<http://www%20(dot)%20canfestival%20(dot)%20org/>" // obfuscated to get past our email system



SRCREV = "895:8973dd8be7e8"



SRC_URI = "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc<http://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc> \

           file://canfestival_3-asc-configure.patch<file:///\\canfestival_3-asc-configure.patch> \

           file://canfestival_3-asc-makefile.in.patch<file:///\\canfestival_3-asc-makefile.in.patch> \

           file://canfestival_3-asc-src_makefile.in.patch<file:///\\canfestival_3-asc-src_makefile.in.patch> \

           \

           file://sdo.c.patch<file:///\\sdo.c.patch> \

           file://def.h.patch<file:///\\def.h.patch> \

           "

PR = 'r01'



LICENSE = "LGPLv2"

LIC_FILES_CHKSUM = "file://COPYING;md5=46ec399d3928b6c91e3634ab7263af44 \

                    file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9<file:///\\LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9>"



TARGET_CC_ARCH += "${LDFLAGS}"







do_configure() {

    bbplain "Starting Configure"

    #bbplain "rootfs: ${D}"

    ./configure --target=unix --prefix=${D}/usr/ --can=socket --timers=unix  --SDO_MAX_SIMULTANEOUS_TRANSFERS=30 --SDO_MAX_LENGTH_TRANSFER=4096 --MAX_NB_TIMER=128 --SDO_TIMEOUT_MS=3000 --debug="WAR"



    bbplain "Configure Done"

}



do_compile() {

    oe_runmake canfestival

}



do_install() {

    bbplain "Starting Install"

    #bbplain "rootfs: ${D}"

    oe_runmake install PREFIX=${D}/usr/



    bbplain "Install Done"

}



FILES_${PN}-dbg = "/usr/src/debug/canfestival"

FILES_${PN}-dev = "/usr/lib/libcanfestival*.a /usr/include/canfestival/*.h"

FILES_${PN} = "/usr/lib/libcanfestival*.a /usr/lib/libcanfestival*.so"



#PACKAGE_BEFORE_PN = "${PN}-info"

#FILES_${PN}-info = "usr/lib/pkgconfig"


I've fiddled with the various FILES lines, but nothing that I do gets the .a files copied to the SDK sysroot /usr/lib directory.



Any insight into what is going wrong would be greatly appreciated.

Assuming the static libs are being built and installed correctly they should be packaged correctly by the default packaging rules. ie you shouldn't need to tweak any FILES_xxx values.

However you will need to ensure that the -staticdev package gets included in the SDK. Assuming you always want the static libs for this particular recipe to be available then you can try adding the following to the recipe:

  RDEPENDS_${PN}-dev += "${PN}-staticdev"



[-- Attachment #1.2: Type: text/html, Size: 26930 bytes --]

[-- Attachment #2: image001.png --]
[-- Type: image/png, Size: 949 bytes --]

[-- Attachment #3: image002.png --]
[-- Type: image/png, Size: 1916 bytes --]

[-- Attachment #4: image003.png --]
[-- Type: image/png, Size: 3012 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Can't get *.a's into SDK sysroot
  2018-07-25 18:15   ` Greg Wilson-Lindberg
@ 2018-07-26  6:58     ` Zoran Stojsavljevic
  0 siblings, 0 replies; 6+ messages in thread
From: Zoran Stojsavljevic @ 2018-07-26  6:58 UTC (permalink / raw)
  To: Greg Wilson-Lindberg; +Cc: yocto

Andre,

> If you are asking why building your image from a completely clean tree
> doesn't result in building your recipe (or changing your recipe
> doesn't result in the image being rebuilt) then yes it suggests that
> your image doesn't include and packages created by your recipe.

Your answer remains me of this story:
https://joke4fun.com/text/engineer-vs-manager-19418

Well... ;-)

I'll try to do some more testings, and to find out what is really wrong here.

The useful info is that out of clean tree nothing is visible in
${TMPDIR}/work, so, after all, might be that YOCTO build system does
not see my layer (for some unknown reason) at all.

Thank you,
Zoran
_______

On Wed, Jul 25, 2018 at 8:15 PM, Greg Wilson-Lindberg
<GWilson@sakuraus.com> wrote:
> Hi Andre,
>
> The RDEPENDS did what I needed.
>
>
>
> Thank you very much,
>
> Greg Wilson-Lindberg
>
> Principal Firmware Engineer | Sakura Finetek USA, Inc.
>
>
>
> 1750 W 214th Street | Torrance, CA 90501 | U.S.A.
>
> T: +1 310 783 5075
>
> F: +1 310 618 6902 | E: gwilson@sakuraus.com
>
> www.sakuraus.com
>
>
>
> ________________________________
>
> Confidentiality Notice: This e-mail transmission may contain confidential or
> legally privileged information that is intended only for the individual or
> entity named in the e-mail address. If you are not the intended recipient,
> you are hereby notified that any disclosure, copying, distribution, or
> reliance upon the contents of this e-mail is strictly prohibited. If you
> have received this e-mail transmission in error, please reply to the sender,
> so that Sakura Finetek USA, Inc. can arrange for proper delivery, and then
> please delete the message from your inbox. Thank you.
>
>
>
>
>
> From: Andre McCurdy [mailto:armccurdy@gmail.com]
> Sent: Tuesday, July 24, 2018 05:09 PM
> To: Greg Wilson-Lindberg <GWilson@sakuraus.com>
> Cc: yocto@yoctoproject.org
> Subject: Re: [yocto] Can't get *.a's into SDK sysroot
>
>
>
> On Tue, Jul 24, 2018 at 4:53 PM, Greg Wilson-Lindberg <GWilson@sakuraus.com>
> wrote:
>
> I've created a recipe for Canfestival (a CAN bus CANOpen support library). I
> have had it building for a while, but I had the configuration set up to
> build all parts of it as .so's. I need to change it so that parts of the
> library are .a's. My problem is that I can't get the .a's to copy to the SDK
> sysroot /usr/lib directory. The .a's are in the canfestival image/usr/lib &
> sysroot-destdir/usr/lib directories, but nothing that I've tried has gotten
> them to the SDK sysroot.
>
>
>
> Here is the canfestival_3-asc.bb file that I'm using:
>
>
>
> SUMMARY = "Independent CANOpen® stack"
>
> DESCRIPTION = "CanFestival focuses on providing an ANSI-C platform
> independent \
>
>                CANOpen® stack that can be built as master or slave nodes on
> PCs, \
>
>                Real-time IPCs, and Microcontrollers."
>
>
>
> HOMEPAGE = "http://www(dot)canfestival(dot)org/" // obfuscated to get past
> our email system
>
>
>
> SRCREV = "895:8973dd8be7e8"
>
>
>
> SRC_URI = "hg://bitbucket.org/Mongo;protocol=https;module=canfestival-3-asc
> \
>
>            file://canfestival_3-asc-configure.patch \
>
>            file://canfestival_3-asc-makefile.in.patch \
>
>            file://canfestival_3-asc-src_makefile.in.patch \
>
>            \
>
>            file://sdo.c.patch \
>
>            file://def.h.patch \
>
>            "
>
> PR = 'r01'
>
>
>
> LICENSE = "LGPLv2"
>
> LIC_FILES_CHKSUM = "file://COPYING;md5=46ec399d3928b6c91e3634ab7263af44 \
>
>                     file://LICENCE;md5=085e7fb76fb3fa8ba9e9ed0ce95a43f9"
>
>
>
> TARGET_CC_ARCH += "${LDFLAGS}"
>
>
>
>
>
>
>
> do_configure() {
>
>     bbplain "Starting Configure"
>
>     #bbplain "rootfs: ${D}"
>
>     ./configure --target=unix --prefix=${D}/usr/ --can=socket --timers=unix
> --SDO_MAX_SIMULTANEOUS_TRANSFERS=30 --SDO_MAX_LENGTH_TRANSFER=4096
> --MAX_NB_TIMER=128 --SDO_TIMEOUT_MS=3000 --debug="WAR"
>
>
>
>     bbplain "Configure Done"
>
> }
>
>
>
> do_compile() {
>
>     oe_runmake canfestival
>
> }
>
>
>
> do_install() {
>
>     bbplain "Starting Install"
>
>     #bbplain "rootfs: ${D}"
>
>     oe_runmake install PREFIX=${D}/usr/
>
>
>
>     bbplain "Install Done"
>
> }
>
>
>
> FILES_${PN}-dbg = "/usr/src/debug/canfestival"
>
> FILES_${PN}-dev = "/usr/lib/libcanfestival*.a /usr/include/canfestival/*.h"
>
> FILES_${PN} = "/usr/lib/libcanfestival*.a /usr/lib/libcanfestival*.so"
>
>
>
> #PACKAGE_BEFORE_PN = "${PN}-info"
>
> #FILES_${PN}-info = "usr/lib/pkgconfig"
>
>
>
> I've fiddled with the various FILES lines, but nothing that I do gets the .a
> files copied to the SDK sysroot /usr/lib directory.
>
>
>
> Any insight into what is going wrong would be greatly appreciated.
>
>
>
> Assuming the static libs are being built and installed correctly they should
> be packaged correctly by the default packaging rules. ie you shouldn't need
> to tweak any FILES_xxx values.
>
>
>
> However you will need to ensure that the -staticdev package gets included in
> the SDK. Assuming you always want the static libs for this particular recipe
> to be available then you can try adding the following to the recipe:
>
>
>
>   RDEPENDS_${PN}-dev += "${PN}-staticdev"
>
>
>
>
>
>
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-07-26  6:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-24 23:53 Can't get *.a's into SDK sysroot Greg Wilson-Lindberg
2018-07-25  0:08 ` Andre McCurdy
2018-07-25  8:23   ` Zoran Stojsavljevic
2018-07-25 17:28     ` Andre McCurdy
2018-07-25 18:15   ` Greg Wilson-Lindberg
2018-07-26  6:58     ` Zoran Stojsavljevic

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.