Bug 2459 - reword core-image-sato-dev - should not include native tool chain
Summary: reword core-image-sato-dev - should not include native tool chain
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: unspecified
Hardware: All Multiple
: Medium normal
Target Milestone: 1.3
Assignee: Scott Rifenbark
QA Contact:
URL: http://git.yoctoproject.org/cgit.cgi/...
Whiteboard: 21 May 2012: Fixed/Resolved
Depends on:
Blocks:
 
Reported: 2012-05-15 09:12 UTC by Wolfgang Denk
Modified: 2012-05-21 17:44 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Denk 2012-05-15 09:12:03 UTC
OE Build Configuration:
BB_VERSION        = "1.15.1"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "beagleboard"
DISTRO            = "poky"
DISTRO_VERSION    = "1.2"
TUNE_FEATURES     = "armv7a vfp neon cortexa8"
TARGET_FPU        = "vfp-neon"
meta              
meta-yocto        = "(nobranch):d20a24310eb43fed9a3f3e75752c9ad45a18cbe4"

Note: commit d20a243 is "Tagging as denzil-7.0 for denzil-7.0",
i. e. this is the "denxil-7.0" release version.


According to the Reference Manual, Appendix D. "Reference: Images"
(cf. http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html#ref-images):

core-image-sato-dev: A core-image-sato image suitable for development
that also includes a native toolchain and libraries needed to build
applications on the device itself. The image also includes testing
and profiling tools as well as debug symbols. This image was formerly
core-image-sdk.

However, the core-image-sato-dev image does not contain a native tool
chain; for example, there is no "gcc" binary included anywhere:

-> cd tmp/deploy/images/
-> tar jtvf core-image-sato-dev-beagleboard-20120514202220.rootfs.tar.bz2 | grep gcc
-rw-r--r-- root/root        19 2012-05-14 23:55 ./var/lib/opkg/info/libgcc1.list
-rwxr-xr-x root/root        79 2012-05-14 23:46 ./var/lib/opkg/info/libgcc1.postinst
-rw-r--r-- root/root      1806 2012-05-14 23:46 ./var/lib/opkg/info/libgcc1.control
-rw-r--r-- root/root      1978 2012-05-14 23:46 ./var/lib/opkg/info/libgcc-s-dev.control
-rw-r--r-- root/root       430 2012-05-14 23:56 ./var/lib/opkg/info/libgcc-s-dev.list
-rw-r--r-- root/root          2226 2012-05-14 22:45 ./usr/include/avahi-common/gccmacro.h
-rw-r--r-- root/root          1968 2012-05-14 22:45 ./usr/include/liboil-0.3/liboil/liboilgcc.h
-rw-r--r-- root/root        400208 2012-05-14 22:22 ./usr/lib/arm-poky-linux-gnueabi/4.6.4/libgcc.a
-rw-r--r-- root/root         65612 2012-05-14 22:22 ./usr/lib/arm-poky-linux-gnueabi/4.6.4/libgcc_eh.a
-rwxr-xr-x root/root         39152 2012-05-14 22:22 ./lib/libgcc_s.so.1
-rw-r--r-- root/root           135 2012-05-14 22:22 ./lib/libgcc_s.so
Comment 1 Saul Wold 2012-05-16 06:53:55 UTC
I believe that this is really a documentation issue, the -dev should contain all the headers and libraries, while the -sdk contains the complete development environment
Comment 2 Wolfgang Denk 2012-05-17 19:14:07 UTC
(In reply to comment #1)
> I believe that this is really a documentation issue, the -dev should contain
> all the headers and libraries, while the -sdk contains the complete
> development environment

I'm confused.  What would be the purpose to have header files and libraries, when there are no tools included to use these?

My interpretation of the "dev" in the name was (supported by the documentation)
to mean "suitable for development" - which kind of development would that be,
without tools to develop softwrre?
Comment 3 Scott Rifenbark 2012-05-18 19:37:19 UTC
From comments (1) and (2) it sounds as if the correct description for core-image-sato-dev would be correct if I removed the reference to the toolchain as suggested initially by Wolfgang when he posted the bug.  However, it seems that the presence of the header files and libraries is now moot.  That issue is not a documentation issue and would need to be worked out by developers.  

For now I am re-wording the description of the core-image-sato-dev image to exclude the toolchain reference.

Here is the new description:

"core-image-sato-dev: A core-image-sato image suitable for development. The image includes libraries needed to build applications on the device itself, testing and profiling tools, and debug symbols. This image was formerly core-image-sdk."

Let me know if this is good to close this bug.

Scott
Comment 4 Wolfgang Denk 2012-05-18 20:29:06 UTC
(In reply to comment #3)
> From comments (1) and (2) it sounds as if the correct description for
> core-image-sato-dev would be correct if I removed the reference to the
> toolchain as suggested initially by Wolfgang when he posted the bug. 
> However, it seems that the presence of the header files and libraries is now
> moot.  That issue is not a documentation issue and would need to be worked
> out by developers.  

I have a general problem understanding the purpose of this message.
Originally (fter reading the docs) my impression was that this image
was indeed intended to support native software development tasks.

> For now I am re-wording the description of the core-image-sato-dev image to
> exclude the toolchain reference.

But which sort of software development tasks can be done without the
tool chain?

> Here is the new description:
> 
> "core-image-sato-dev: A core-image-sato image suitable for development. The
> image includes libraries needed to build applications on the device itself,
> testing and profiling tools, and debug symbols. This image was formerly
> core-image-sdk."
> 
> Let me know if this is good to close this bug.

I don't think so.

The header files make only sense if there is a tool to compile source
code - so either we add a compiler, or we can remove the header files
as well.

OK, the libraries may be useful for debugging purposes, but some of
these probably only make sense if there was a tool to link programs
against these libraries - so we either add a linker, or we can remove
them as well.


For me "development" necessarily includes building code form sources.
This is obviously not what core-image-sato-dev is intended for in it's
current form.  By adding the tools needed for real development tasks
it would be pretty similar to the -sdk image, so I guess this is not
the way to do.  That means "development" here means just debugging and
profiling - maybe the package should be renamed into
core-image-sato-dbg or somilar to make this clear?  And the
documetnation would then read:


        "core-image-sato-dbg: A core-image-sato image suitable for
        debugging and profiling. The image includes binaries and
        libraries with debug symbols, and testing and profiling
        tools. This image was formerly core-image-sdk."

What do you think?

--wd
Comment 5 Scott Rifenbark 2012-05-18 21:25:51 UTC
I agree with Wolfgang's comment (4).  This bug seems to be going beyond what the documentation can fix.  It makes me wonder if the descriptions for "core-image-lsb-dev" and "core-image-minimal-dev" are accurate.  

 core-image-minimal-dev: A core-image-minimal image suitable for development 
                         work. 

 core-image-lsb-dev: A core-image-lsb image that is suitable for development 
                     work.

Before I can accurately describe core-image-sato-dev to satisfy this bug, we need to determine just what is in the image and if what is in it will change... or if we want to change the name of the image as suggested.  

Scott
Comment 6 Saul Wold 2012-05-21 14:45:56 UTC
Ok, sorry I have been traveling and was not tracking the developments here.

I am not going to directly respond to to comments because I think we 
off track from the very beginning, so I am going to go back to the
original intent of the 3 types of images defined.

1) The bootable image for the final target environment

2) An image that include headers and libraries that can be used
   with the HOST based development environment, meaning it can be
   mounted or unzipped as part of the ADT and provide the base 
   image along with headers and libraries to do HOST based development
   and then mounted to the TARGET.  This is the -dev image, it will
   bring in all the -dev packages for the install base packages.

3) Finally the -sdk image, which is designed for TARGET based development
   and includes all header, libaries and tools to do TARGET
   based development.

The key distiction between the -dev and -sdk is HOST based vs TARGET
based development.

I hope this clears up any confusion.
Comment 7 Scott Rifenbark 2012-05-21 17:44:36 UTC
Added more detail to the -dev and -skd images in the YP Reference Manual Images appendix.  You can see the final wordings and list at http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images