All of lore.kernel.org
 help / color / mirror / Atom feed
* How to include libstdc++ in an image?
@ 2012-06-27  2:22 maniacbug
  2012-06-28 10:56 ` Paul Eggleton
  0 siblings, 1 reply; 8+ messages in thread
From: maniacbug @ 2012-06-27  2:22 UTC (permalink / raw)
  To: yocto@yoctoproject.org

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

Hi.  I am using denzil, trying to build a core-image-minimal with 
libstdc++ installed.  I want to cross-develop in c++, and run the 
resulting apps on the image.  For now, I am using qemu-arm as the 
machine.  I've been able to build and run core-image-minimal out of the 
box. build the cross tools, and build apps using the cross tools (and 
even add ssh to the image).  What I cannot figure out how to do is get 
libstdc++ (and libgcc1 and libc6) onto the target machine. 

The task-core-standalone-sdk-target looks super promising, 
seeming to contain the exact pieces I need.  I thought I could add this 
to the IMAGE_INSTALL line in core-image-minimal.bb, and have the libs 
show up.  This didn't happen, so clearly I have some more to learn about poky. 

Can anyone advise the appropriate way to inject libsdtc++ (and its dependencies) into a poky image?  Please note that I do not need to compile/link apps on the target, only run them.


Thanks!


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

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

* Re: How to include libstdc++ in an image?
  2012-06-27  2:22 How to include libstdc++ in an image? maniacbug
@ 2012-06-28 10:56 ` Paul Eggleton
  2012-06-28 18:50   ` maniacbug
  2012-06-30 21:56   ` Koen Kooi
  0 siblings, 2 replies; 8+ messages in thread
From: Paul Eggleton @ 2012-06-28 10:56 UTC (permalink / raw)
  To: maniacbug; +Cc: yocto

On Tuesday 26 June 2012 19:22:20 maniacbug wrote:
> Hi.  I am using denzil, trying to build a core-image-minimal with
> libstdc++ installed.  I want to cross-develop in c++, and run the
> resulting apps on the image.  For now, I am using qemu-arm as the
> machine.  I've been able to build and run core-image-minimal out of the
> box. build the cross tools, and build apps using the cross tools (and
> even add ssh to the image).  What I cannot figure out how to do is get
> libstdc++ (and libgcc1 and libc6) onto the target machine.
> 
> The task-core-standalone-sdk-target looks super promising,
> seeming to contain the exact pieces I need.  I thought I could add this
> to the IMAGE_INSTALL line in core-image-minimal.bb, and have the libs
> show up.  This didn't happen, so clearly I have some more to learn about
> poky.
> 
> Can anyone advise the appropriate way to inject libsdtc++ (and its
> dependencies) into a poky image?  Please note that I do not need to
> compile/link apps on the target, only run them.

Adding libstdc++ to IMAGE_INSTALL should work - in fact I just tried it and it 
worked here (although I used the alternative of adding it to 
CORE_IMAGE_EXTRA_INSTALL in local.conf, but the result should be the same). 

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


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

* Re: How to include libstdc++ in an image?
  2012-06-28 10:56 ` Paul Eggleton
@ 2012-06-28 18:50   ` maniacbug
  2012-06-30 21:56   ` Koen Kooi
  1 sibling, 0 replies; 8+ messages in thread
From: maniacbug @ 2012-06-28 18:50 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: yocto@yoctoproject.org


>> Can anyone advise the appropriate way to inject libsdtc++ (and its
>> dependencies) into a poky image?  Please note that I do not need to
>> compile/link apps on the target, only run them.

> Adding libstdc++ to IMAGE_INSTALL should work - in fact I just tried it and it 
> worked here (although I used the alternative of adding it to 
> CORE_IMAGE_EXTRA_INSTALL in local.conf, but the result should be the same). 

Thanks!
 
Turns out this was user error.  libstdc++/libgcc were in fact included in the image, so it is correct that  task-core-standalone-sdk-target did the job.  I just had to remove the -dev packages to avoid balooning my image, so now I have a minimal image with ssh and libstdc++ < 10M.  Happiness.
 
Also handy to know that it works to just add package recipes directly to IMAGE_INSTALL.  Still learning bitbake, so it's not clear what goes there versus IMAGE_FEATURES, etc.


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

* Re: How to include libstdc++ in an image?
  2012-06-28 10:56 ` Paul Eggleton
  2012-06-28 18:50   ` maniacbug
@ 2012-06-30 21:56   ` Koen Kooi
  2012-06-30 22:29     ` Paul Eggleton
  2012-07-01 16:15     ` maniacbug
  1 sibling, 2 replies; 8+ messages in thread
From: Koen Kooi @ 2012-06-30 21:56 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: yocto, maniacbug


Op 28 jun. 2012, om 12:56 heeft Paul Eggleton het volgende geschreven:

> On Tuesday 26 June 2012 19:22:20 maniacbug wrote:
>> Hi.  I am using denzil, trying to build a core-image-minimal with
>> libstdc++ installed.  I want to cross-develop in c++, and run the
>> resulting apps on the image.  For now, I am using qemu-arm as the
>> machine.  I've been able to build and run core-image-minimal out of the
>> box. build the cross tools, and build apps using the cross tools (and
>> even add ssh to the image).  What I cannot figure out how to do is get
>> libstdc++ (and libgcc1 and libc6) onto the target machine.
>> 
>> The task-core-standalone-sdk-target looks super promising,
>> seeming to contain the exact pieces I need.  I thought I could add this
>> to the IMAGE_INSTALL line in core-image-minimal.bb, and have the libs
>> show up.  This didn't happen, so clearly I have some more to learn about
>> poky.
>> 
>> Can anyone advise the appropriate way to inject libsdtc++ (and its
>> dependencies) into a poky image?  Please note that I do not need to
>> compile/link apps on the target, only run them.
> 
> Adding libstdc++ to IMAGE_INSTALL should work - in fact I just tried it and it 
> worked here (although I used the alternative of adding it to 
> CORE_IMAGE_EXTRA_INSTALL in local.conf, but the result should be the same). 

But do note that if you ship libstdc++ without anything linking to it you forego on the linking exception to the GPL. That is general is a Very Bad Thing(TM), so ship a helloword.cpp binary to keep the fsf happy. As an added bonus the helloworld will drag in the lib automatically.

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

* Re: How to include libstdc++ in an image?
  2012-06-30 21:56   ` Koen Kooi
@ 2012-06-30 22:29     ` Paul Eggleton
  2012-06-30 22:34       ` Khem Raj
  2012-07-02 18:25       ` William Mills
  2012-07-01 16:15     ` maniacbug
  1 sibling, 2 replies; 8+ messages in thread
From: Paul Eggleton @ 2012-06-30 22:29 UTC (permalink / raw)
  To: yocto

On Saturday 30 June 2012 23:56:18 Koen Kooi wrote:
> But do note that if you ship libstdc++ without anything linking to it you
> forego on the linking exception to the GPL. That is general is a Very Bad
> Thing(TM), so ship a helloword.cpp binary to keep the fsf happy. As an
> added bonus the helloworld will drag in the lib automatically.

[citation needed]

-- 

Paul Eggleton
Intel Open Source Technology Centre


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

* Re: How to include libstdc++ in an image?
  2012-06-30 22:29     ` Paul Eggleton
@ 2012-06-30 22:34       ` Khem Raj
  2012-07-02 18:25       ` William Mills
  1 sibling, 0 replies; 8+ messages in thread
From: Khem Raj @ 2012-06-30 22:34 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: yocto

On Sat, Jun 30, 2012 at 3:29 PM, Paul Eggleton
<paul.eggleton@linux.intel.com> wrote:
>
> [citation needed]

this is an interpretation of GPL-3, I dont have citations to hand here though.


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

* Re: How to include libstdc++ in an image?
  2012-06-30 21:56   ` Koen Kooi
  2012-06-30 22:29     ` Paul Eggleton
@ 2012-07-01 16:15     ` maniacbug
  1 sibling, 0 replies; 8+ messages in thread
From: maniacbug @ 2012-07-01 16:15 UTC (permalink / raw)
  To: Koen Kooi, Paul Eggleton; +Cc: yocto@yoctoproject.org

> But do note that if you ship libstdc++ without anything linking to it you forego on the linking
> exception to the GPL. That is general is a Very Bad Thing(TM), so ship a helloword.cpp 
> binary to keep the fsf happy. As an added bonus the helloworld will drag in the lib automatically.

Thanks for the advice.  I had no idea.  Although personally I am SO far from shipping right now :)
Still good to be aware of this.



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

* Re: How to include libstdc++ in an image?
  2012-06-30 22:29     ` Paul Eggleton
  2012-06-30 22:34       ` Khem Raj
@ 2012-07-02 18:25       ` William Mills
  1 sibling, 0 replies; 8+ messages in thread
From: William Mills @ 2012-07-02 18:25 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: yocto

On 06/30/2012 06:29 PM, Paul Eggleton wrote:
> On Saturday 30 June 2012 23:56:18 Koen Kooi wrote:
>> But do note that if you ship libstdc++ without anything linking to it you
>> forego on the linking exception to the GPL. That is general is a Very Bad
>> Thing(TM), so ship a helloword.cpp binary to keep the fsf happy. As an
>> added bonus the helloworld will drag in the lib automatically.
>
> [citation needed]
>

I agree with Koen.

I have had discussion with the FSF and others in the open source 
compliance arena.  The first sentence appears to be the prevailing 
interpretation.  I have asked the FSF to clarify its position on the FAQ 
but no luck so far.

Bill


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

end of thread, other threads:[~2012-07-02 18:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-27  2:22 How to include libstdc++ in an image? maniacbug
2012-06-28 10:56 ` Paul Eggleton
2012-06-28 18:50   ` maniacbug
2012-06-30 21:56   ` Koen Kooi
2012-06-30 22:29     ` Paul Eggleton
2012-06-30 22:34       ` Khem Raj
2012-07-02 18:25       ` William Mills
2012-07-01 16:15     ` maniacbug

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.