Bug 3758 - Package gtk+-2.0 missing from the userbuilt toolchain
Summary: Package gtk+-2.0 missing from the userbuilt toolchain
Status: VERIFIED NOTABUG
Alias: None
Product: ADT
Classification: Yocto Project Subprojects
Component: adt (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.4 M4
Assignee: Laurentiu Palcu
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-01-18 14:36 UTC by Alexandru Georgescu
Modified: 2013-02-27 16:03 UTC (History)
5 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 Alexandru Georgescu 2013-01-18 14:36:50 UTC
STATUS: PASSED
BUILD: master:9eb88ceb39b7d0b8ddc6487e61ce8edadef10ec4
ENVIRONMENT: Ubuntu 12.10 x86_64


STEPS TO REPRODUCE: 
  
1. Perform a user-build sdk with current Poky build (for qemux86)
$ source oe-init-build-env 
$ bitbake meta-ide-support

2. Download iptables project from the stable releases: http://netfilter.org/projects/iptables/files/.
The latest version is 	iptables-1.4.16.tar.bz2.
3. Source the user-build sdk envioronment

4. With the cross compile environment, run:
$ ./configure ${CONFIGURE_FLAGS}
$ make
$ make install DESTDIR=/opt/tmp"


EXPECTED OUTCOME: 
  
4  sudoku project could be compiled successfully with user-build sdk.


ACTUAL RESULT:
4:
$ ./configure $CONFIGURE_FLAGS
configure: WARNING: unrecognized options: --with-libtool-sysroot
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for i586-poky-linux-strip... i586-poky-linux-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether i586-poky-linux-g++  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 accepts -g... yes
checking dependency style of i586-poky-linux-g++  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86... gcc3
checking for library containing strerror... none required
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether i586-poky-linux-g++  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 accepts -g... (cached) yes
checking dependency style of i586-poky-linux-g++  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86... (cached) gcc3
checking for i586-poky-linux-gcc... i586-poky-linux-gcc  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86
checking whether we are using the GNU C compiler... yes
checking whether i586-poky-linux-gcc  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 accepts -g... yes
checking for i586-poky-linux-gcc  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 option to accept ISO C89... none needed
checking dependency style of i586-poky-linux-gcc  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86... gcc3
checking how to run the C++ preprocessor... i586-poky-linux-g++  -m32   -march=i586 --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking whether NLS is requested... yes
checking for msgfmt... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/msgfmt
checking for gmsgfmt... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/msgfmt
checking for xgettext... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/xgettext
checking for msgmerge... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/msgmerge
checking build system type... x86_64-pc-linux-gnu
checking host system type... i586-poky-linux-gnu
checking for ld used by GCC... i586-poky-linux-ld   --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86
checking if the linker (i586-poky-linux-ld   --sysroot=/home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/qemux86) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for i586-poky-linux-pkg-config... no
checking for pkg-config... /home/yocto/_tests/adt-0115-2/yoyo/build/tmp/sysroots/x86_64-linux/usr/bin/pkg-config
configure: WARNING: using cross tools not prefixed with host triplet
checking pkg-config is at least version 0.9.0... yes
checking for PACKAGE... configure: error: Package requirements (gtk+-2.0 >= 2.4.0) were not met:

No package 'gtk+-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables PACKAGE_CFLAGS
and PACKAGE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

yocto@yocto-o1:
Comment 1 liang li 2013-01-21 10:36:22 UTC
the error also happened on opensuse 12.2 x86_64 and fedora 17 i686 hosts.
Comment 2 Alexandru Georgescu 2013-02-14 10:54:26 UTC
Hi,
THe issue happens actually when using sudoku project, not iptables.
Sudoku source code can be downloaded from here: http://sourceforge.net/projects/sudoku-savant/files/sudoku-savant/sudoku-savant-1.3/
Comment 3 Laurentiu Palcu 2013-02-14 13:56:47 UTC
When using meta-ide-toolchain bitbake target, only a minimal target sysroot is constructed. Not all libraries are included in it. So, in order for one to compile a certain application, the target SDK image has to be compiled first (for example core-image-sato-sdk) and then extract the target rootfs using runqemu-extract-sdk. Afterwards, the environment setup script has to be manually edited so that the sysroot points to the target rootfs location.

Documentation about this procedure can be found here [1], paragraph 2.1.3.

Jessica,

Do you have anything to add to this? In my opinion this is not a bug, just an usage issue. I did the procedure explained above and the sudoku project compiled just fine.

[1] http://www.yoctoproject.org/docs/1.3/adt-manual/adt-manual.html
Comment 4 Alexandru Georgescu 2013-02-14 16:46:27 UTC
Jessica, Laurentiu,

I have looked over the documentation but I can say that it isn't explicitly saying that you have to build an actual core-image-sato-sdk in order to be able to compile a project.

quote from the documentation that Laurentiu specified:
"Be aware that when you use this method to install the toolchain you still need to separately extract and install the sysroot filesystem. For information on how to do this, see the "Extracting the Root Filesystem" section."

As for me, I can interpret that I can use a sysroot downloaded from the autobuilder, which I actually did. It doesn't 

So how do you should we proceed?
Comment 5 Jessica 2013-02-14 23:56:43 UTC
Hi Alex,

I agree with Laurentiu, it states that you have to extract a target rootfs as sysroot which means you(application developer) need to be responsible that the sysroot contains all the nedded dev packages for your application to compile.  So I'm closing this bug as not a bug. 

I'd say you need to update your test case to either  explicitly extract core-image-sato-sdk as your sysroot and modify the environment setup file coordinally.  Or bitbake core-image-sato-sdk yourself and use the default sysroot under ../build/tmp/sysroots/qemux86


Thanks,
Jessica
Comment 6 Alexandru Georgescu 2013-02-27 16:03:46 UTC
verified